[MPlayer-dev-eng] mp-g2 pre14

Arpi arpi at thot.banki.hu
Mon Apr 21 18:01:27 CEST 2003


Hi,

> hi.
> On Mon, 21 Apr 2003 17:28:09 +0200
> Arpi <arpi at thot.banki.hu> wrote:
> 
> A> but it also make it impossible to auto-insert or remove filters :(
> why?
> (i really dont see, why it "make it impossible")

RTFS...

you enter the last filter's process_frame, it calls the previous filter's
one up to the codec. then codec's decode() is called, which, after parsing
the frame headers, will call vo_config() which does the colorspace/format
negotiation and inserts converter filters... then it decodes the image, and
'return mpi;' but to the original caller (first filter, _before_ autoinserting
new filters), so new filters won't get that data...

one option would be not allowing vo_config() from decoder(), but it didn't
work (or means big mess and hacks in decoders, but actually for libavocdec
it doesn't work at all). libmpcodecs solved this problem, it was a big plus
that times... so we shouldn't go back to the past and re-introduce this.

another option is maybe keeping put_image(), and pushing, but start
processing from the bottom (last filter) instead of decoders.
so you signal the last filter that you want a frame, if it have some
internally generated frames, it will put_image() them, otherwise signals
the previous filter up to the codec...


A'rpi / Astral & ESP-team

--
Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu



More information about the MPlayer-dev-eng mailing list