[mythtv] [exp. patch] xv xvmc merge

Isaac Richards ijr at case.edu
Fri Apr 1 17:53:55 UTC 2005


On Friday 01 April 2005 12:21 pm, Isaac Richards wrote:
> On Thursday 31 March 2005 05:21 pm, Daniel Kristjansson wrote:
> > What happens is that MPEG has a series of frames, say: IBBBPBBBI
> > The I frames don't depend on any other frames, but the B frames depend
> > on an I and a P, and the P frame depends on the previous I. But once
> > MythTV displays a frame, it puts it on the list of frames ready to be
> > recycled. With Lo-Fi TV this is works most of the time; this is only
> > because by the time a frame is displayed all the frames depending
> > on it have usually already been rendered.
>
> 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..

Isaac


More information about the mythtv-dev mailing list