[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