[MPlayer-dev-eng] direct rendering disabled for lavc h264

Rich Felker dalias at aerifal.cx
Fri Jul 21 02:35:31 CEST 2006


On Fri, Jul 21, 2006 at 12:26:42AM +0300, Uoti Urpala wrote:
> On Wed, 2006-07-19 at 23:31 -0400, Rich Felker wrote:
> > On Thu, Jul 20, 2006 at 04:19:07AM +0200, elupus wrote:
> > > Question.. Why is direct rendering (dr1) disabled when using lavc's h264
> > > codec? I tried the change below, wich didn't help all that much. 
> > 
> > MPlayer's buffer system is very stupid and rather than implementing
> > the correct semantics of get_buffer for libavcodec, it implements only
> > a standard IPB-frame model, which cannot accommodate H.264 B pyramid
> > or any more complex frame ordering. Someday it will be rewritten but
> > don't hold your breath.
> 
> Is there anything which would make a special-case implementation for
> some codec+vo difficult? Converting every filter to use a new system
> might be a lot of work, but supporting just the case "lavc h264 to vo xv
> with no filters" would already be useful.

Have fun making all the vo drivers support it, and vf.c...
Really, although this may be reasonably useful for performance, it
will make MPlayer's video layer even uglier, having one additional
buffering scheme hack in there. I won't directly rule it out right now
but I'd be hesitant to see something like this committed to MPlayer
just due to the huge complexity bloat it would add. An H.264-specific
hack would be much much larger than the current "simple IPB" hack in
place.

Rich




More information about the MPlayer-dev-eng mailing list