[mythtv] MacOS X MMX yuv420_2vuy Patch
MythTV
mythtv at taoyama.com
Wed Aug 30 01:40:11 UTC 2006
Nigel,
On Aug 29, 2006, at 5:20 PM, Nigel Pearson wrote:
>> Attached is a patch to yuv2rgb.cpp that adds an MMX yuv420 to 2vuy
>> converter. Using my test harness it appears to be about 8x faster
>> than the standard C implementation.
>
> Wow. Great work, Mino.
>
> ...
>> I'm having crashes with MacOS X and DVB playback without this
>> patch but when I can play LiveTV the MMX conversion seems to work.
>
> Not good. Anything I can help with?
> Do you have any console messages or crash logs?
I'm working on it. So far the console logs and crash logs aren't
that helpful. I got inspired so I wanted to get this MMX code
written. Now that is seems to work I'll start working on the crashes
I am seeing.
It could be DVB related since the backend I am using to test is my
dedicated HD box. The reason I think it might have something to do
with the backend is that most times after the frontend crash the
backend crashes. It only happens on MacOS X. Running the frontend on
the same system as the HD Backend runs just fine.
I'm going to put a PVR150 into the Backend box and see if SD analog
is any better. I'll also try to see if it happens on my G5.
I'll keep you posted on what I find.
>
> ...
>> This patch does not fix the Quicktime crash.
>
> Interesting. I thought the QT crash was fixed
> by a patch which used a non-assembler version,
> yuv2vuy_init_plain(). Doesn't this replace that?
>
The way I think the code works is that if "Altivec Enhance Color
Space Conversion" is selected it uses the vector routines. If this
is not checked it will try to use Quicktime to do the conversion and
that crashes. So it does "fix" the problem by allowing playback
using the vectorized code but if you try to use the Quicktime
conversion it still crashes.
> --
> Nigel Pearson, nigel at ind.tansu.com.au|"Beware - I am a carrier
> Telstra Net. Eng., Sydney, Australia | of surrealism"
> Office: 9202 3900 Fax: 9261 3912 | D A
> Mobile: 0408 664435 Home: 9792 6998 | L I
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
BTW, it looks like with this code a MacMini Core Duo will make a good
frontend. I have to do some more tests but when my frontend didn't
crash I was able to watch ESPNHD with about 50-60% CPU utilization.
I think with the standard C conversion it was taking 80%-90% with
some occasional stuttering.
Regards,
Mino
More information about the mythtv-dev
mailing list