[mythtv] [exp. patch] xv xvmc merge (v3)

Aran Cox spin667 at mchsi.com
Thu Apr 7 17:29:20 UTC 2005


On Wed, Apr 06, 2005 at 09:46:14PM -0400, Daniel Kristjansson wrote:
> On Fri, 2005-04-01 at 12:53 -0500, Isaac Richards wrote:
> > > Yeah, also made worse due to the limited # of buffers with xvmc.  Could
> > > possible look into tying it into the release_buffer mechanism better, as a
> > > way of hopefully knowing when it's completely done with a frame.  Or, your
> > > approach below could work too.
> > Actually, if the release_buffer callback from libavcodec is accurate as to 
> > when it's done with the frame, it could be as simple as just refcounting the 
> > frames (2 to start, -1 when displayed, -1 when marked unused by 
> > release_buffer), and have a function in the frame struct call back into the 
> > videoout class to return it to the queue..
> 
> Ok, there were some additional problems with XvMC. In normal use the
> displaying frame was added to the available list while still on-screen.
> This led to problems in a low buffer situation. In the paused state,
> the pause frame was sometimes added to the available list between the
> ProcessFrame() and Show() calls, causing lost frames when 
> BLEND_SUBPICTURE OSD was being used (i.e. with nvidia XvMC.)
> I've abstracted buffer management into a VideoBuffer class, and
> taken care of these corner cases. The upshot is I can now pause
> repeatedly and skip forward and backward as quickly as my fingers
> will move and not kill XvMC playback....
> 
> The patch is too big to attach, so it's at:
>     http://www.mrl.nyu.edu/~danielk/mythtv/xv-xvmc-merge-v3.tbz
>

Before I noticed that you mention breaking HDTV support, I tried
applying this patch to CVS as of a few moments ago and got some
significant breakage in libs/libmythtv/videoout_xv.cpp.  I wanted to
try it because XvMC worked so much better with your v1 patch.

Also, is there some reason you didn't create a unfied diff patch
instead of the shell installer copying files, etc.?  I always have to
look it up (and just did again) but the option to treat missing files
as present but empty is -N.

Another question, is any of this slated to go into 0.18 or is this
more of a 0.19 timeframe?

Thanks,
Aran


More information about the mythtv-dev mailing list