[mythtv-commits] mythtv commit: r25571 by markk

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Fri Aug 6 10:51:03 UTC 2010


      Author: markk
        Date: 2010-08-06 10:51:03 +0000 (Fri, 06 Aug 2010)
New Revision: 25571
   Changeset: http://svn.mythtv.org/trac/changeset/25571

Added:

   trunk/mythtv/libs/libmythtv/privatedecoder_vda.cpp
   trunk/mythtv/libs/libmythtv/privatedecoder_vda.h
   trunk/mythtv/libs/libmythtv/privatedecoder_vda_defs.h

Modified:

   trunk/mythtv/libs/libmythtv/libmythtv.pro
   trunk/mythtv/libs/libmythtv/privatedecoder.cpp
   trunk/mythtv/libs/libmythtv/videoout_opengl.cpp
   trunk/mythtv/libs/libmythtv/videoout_quartz.cpp

Log:

Add support for the VideoDecodeAcceleration framework on OS X.

This enables video acceleration on certain hardware when running OS X 10.6.3 and above (see http://developer.apple.com/mac/library/technotes/tn2010/tn2267.html)

There are 2 outstanding issues:-

- there is no interlaced and repeat picture detection (and hence no deinterlacing). This will require some additional parsing or perhaps a tie in into the existing H264 parser.
- some H264 broadcast streams are broken. So far the only problem seems to be BBC HD.

Implementation wise, the VDA library is loaded dynamically in order to simplify package management (the framework is only available on newer versions of OS X) and the additional privatedecoder_vda_defs file replicates the required elements of the framework headers as the headers are currently private.

There is a clear performance improvement, though nothing approaching the gains seen with, for example, VDPAU on the same hardware - no doubt due to the additional overhead of transferring the frames back into main memory (and back to GPU memory again).

The interaction with the Quartz video renderer is untested.

Refs #8621.





More information about the mythtv-commits mailing list