[mythtv] MPEG2 IDCT acceleration

Daniel Thor Kristjansson danielk at cat.nyu.edu
Sun Apr 18 12:08:08 EDT 2004

I've made a regular patch of the playback stuff, with idct acceleration.
It's at    http://www.mrl.nyu.edu/~danielk/mythtv/

It works with all my videos, but they don't fully exploit MPEG2. I've
streamlined the xvmc packet parsing again so there is less redundancy
and it's also more readable. It's also using less if's which is
especially important for today's speculative execution processors. If
you optimize for the CMOV instruction (686+) a lot of the jumps just go
away. I can now almost play 1040i streams without B-Frame skipping with
a FX5200 card. (Every few minutes there is a hickup.)

-- Daniel

On Fri, 16 Apr 2004, Daniel Thor Kristjansson wrote:

]I've put a new patch at
]  http://www.mrl.nyu.edu/~danielk/mythtv/playback.patch.bz2
]  plus this file to place in libs/libmythtv
]  http://www.mrl.nyu.edu/~danielk/mythtv/XvMCSurfaceTypes.h
]It's incompatible with my other patches at the moment, but will patch
]CVS cleanly. This playback patch will use the idct acceleration
]available on newer video cards if it is available. This reduces the
]amount of data that needs to be sent through the AGP bus for I-Frames
]and reduces the amount of math the CPU has to perform.
]I can now watch 720p channels with OSD and no frame skipping.
]-- Daniel
]On Wed, 14 Apr 2004, John Patrick Poet wrote:
]]On Wed, 14 Apr 2004, Daniel Thor Kristjansson wrote:
]]> I've updated my patches so the work against the latest CVS.
]]> No real change in functionality, except the hdtv-playback patch now lets
]]> you disable frame skipping, or tune it to work with your system. The
]]> signal check threshold can also be set by the user, but the ui for it is
]]> in the playback patch for now.
]]Hey Daniel,
]]I noticed that the frontend spits out message along the lines of "frame skip
]]ratio", or some such.  I assumed that this message was part of your code,
]]and indicated a need to skip frames to "keep up".
]]However, I also see these message from mythcommflag.  Why would the
]]commercial skipping detector need to skip frames to "keep up"?
]]I use your patches, but do not currently have XvMC enabled.  Even with your
]]patches, enabling XvMC causes my output to studder more than with out it.
]]Do I not have something configured right?
]]Thanks for all the work you have put into this.

More information about the mythtv-dev mailing list