[mythtv] [exp. patch] xv xvmc merge

Daniel Kristjansson danielk at cat.nyu.edu
Sat Apr 2 01:40:59 UTC 2005


On Fri, 2005-04-01 at 12:53 -0500, Isaac Richards wrote:
> 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..

Great, I'll be sure to use the release_buffer callback, it will let me
know for sure that all the frames depending on a specific I or P frame
have arrived. The reference counting won't work unless we XvMC sync all
the all the frames depending on that frame, so we may still need to
keep those I and P frames around after DoneDisplayingFrame(), if
rendering of the dependant frames isn't done, and then do a sync when
a low buffer situation arises. Syncing in DrawSlices() or ReleaseFrame()
absolutely kills performance.

I'll make sure to not lose any frames. With XvMC it's pretty much
essential.

-- Daniel



More information about the mythtv-dev mailing list