[mythtv] [PATCH] Mac OS X video implementation

Jeremiah Morris jm at whpress.com
Sun Oct 10 13:45:26 UTC 2004


On 10 Oct 2004, at 6:22 AM, Jason W wrote:

> Both these seem to be working good here on my PowerBook (1280x854)
> watching DVB-T content (720x576i @ 50 Hz) over 802.11g. Quickly tested
> it on 100 Mbps wired LAN with same results as far as I can see. The
> video stutters a bit sometimes, audio seems to stay in sync.

That sounds pretty much in line with what I'd expect.  The machine 
should be capable of much more, of course, but the next improvements 
will probably come from libavcodec (see below) instead of the code I'm 
patching here.

> Picture quality looks very good. I have only tested on 16:9
> (letterboxing on my 1:1.50 display). I quickly hit the W key to see 
> that
> it changed modes and it changed OK, but I didn't check to see if the
> aspect ratio and zoom amounts were correct.

I think I've got all the aspect ratio and zoom changes matched up to 
existing X11 behavior.  If anyone notices any problems here, please 
send details to the list.

> I did notice however that de-interlacing isn't working (as mentioned by
> others). I have the kernel deint filter selected if at all relevant.

Nigel Pearson mentioned to me that he was having trouble getting any 
filters loaded at all.  So, we have to make sure the filter code is 
working, and then work on the filters themselves.

> I applied your patch against CVS HEAD with no other patches. In order 
> to
> link libmythtv I had to add -framework QuickTime -framework Carbon to
> the end of the LIBS line after -lqt-mt (line 22 here).

Sorry, you're correct.  I forgot to add the necessary patch to 
libmythtv.pro.  Attached is a new full patch that includes these 
changes.

> Is there some other patch that I should be running as well or is this
> the only patch which should be required? The OSD background bug
> mentioned previously which had been attributed to endian issues seems 
> to
> be present here.

Nigel Pearson's endian patches have not been applied to CVS; search the 
list for that patch and it will fix the OSD problems.  That's the only 
patch I'm aware of that needs to be applied separately.

> With regards to performance, has anyone attempted to apply any PPC
> optimizations to the MPEG-2 decoding? I am running just ./configure 
> with
> no options at the moment.

Libavcodec apparently has some PPC optimizations; when building (at 
least a release build), it gets flags for Altivec passed to the 
compiler.  The extent of the optimization is unknown, but there's 
undoubtedly room for improvement: the decompression appears to account 
for much of the CPU usage.  If you'd like to explore that route more, 
we could use your help.

> In conclusion, this patch seems to be doing great things over here. It
> is much appreciated and I hope this feedback helps even if just a 
> little.

Thanks very much!  My egotistical side is placated.  =)

For the curious, my next steps from here are:

- Get deinterlacing working, as everyone comments on its absence.  Be 
prepared for disappointment if it slows the video significantly, 
though.

- Wring speed improvements out of libavcodec.  I'm not really the right 
man for this job, but unless a lurking Mac programmer steps up to this, 
I'll give it a go.

- Chime in on the new audio code reorganization.  It'll need some 
tweaking to let Core Audio in on the fun.


- Jeremiah
-------------- next part --------------
A non-text attachment was scrubbed...
Name: videoout_quartz.patch.bz2
Type: application/octet-stream
Size: 15687 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20041010/f19fbeff/videoout_quartz.patch-0001.obj
-------------- next part --------------



More information about the mythtv-dev mailing list