[MPlayer-dev-eng] Video plugin layer

Arpi arpi at thot.banki.hu
Wed Mar 27 16:48:20 CET 2002


Hi,

> > few fields of the struct, without doing memcpy. it also should do the
> > scaling/colorspace conversion/postprocessing job. 
> 
> I agree with you that it would be better. I didn't want to change any mplaye
> r
> APIs though and I don't know how to do it without changing them...

I'll do it soon.
Anywya it only requires change of vd.c and dec_video.c

> If the filter layer is in libmpcodecs where should they be called? in
> decode_video? Then we wont be able to filter anything that uses
> MP_IMGFLAG_DRAW_CALLBACK. That may not be a big problem as it is only mpeg2 
> that
> uses the ..._CALLBACK thing (AFAIK). Maybe it is possible to change it witho
> ut

yes it should be changed asap... i wanted to change it to IMGTYPE_IPB
but it needs near full rewrite of libmpeg2/decode.c

> efficiency losses. I haven't looked at it though. Or pass some other functio
> n
> to libmpeg2 that it should call instead of draw_slice.
yes the ugly workaround way (same is done in mencoder)

> We will still have to copy the frame at the end of the filter chain if the
> mp_image_t struct ends up with stride != 0 and it is a packed format though
> (because of draw_frame). 
no, if the given libvo driver implements get_image() and accepts stride.
then draw_frame() is never called

finally, after some time we can remove draw_frame and draw_slice form libvo
and use only get_image()

> Btw: IMO we should deprecate draw_frame and draw_slice and introduce a new
> function something like draw(mp_image_t* img, int x0, int y0) instead. We do
> n't
> have to change every vo driver at the same time to do this. We could use the
> control interface instead.
yes good idea

> > someone already working
> > on virtualdub plugin support for mplayer/mencoder but needs a good interfa
> ce.
> > 
> 
> That would be me I suppose.
hmm, possible :)
it was long time ago

> > We need it to be in libmpcodecs to be usable with mencoder too.
> > But currently, as a big hack, mencoder emulates itself as being libvo driv
> er
> > :) so with the current "design" of mencoder it would work...
> > 
> 
> I don't see whats wrong with the current mencoder design...
it's a big mess.
encoders should use a common API and moved out of mencoder.c

> > So, the best thing would be building teh filter layer into libmpcodecs, as
> > planned. If it's not possible (no volunteers) then commit this libvo hack.
> 
> I am a volunteer but I don't want to do everything myself especially not the
> design. I prefer to discuss things like this before committing them because 
> it
> is always nice with other peoples suggestions, opinions etc.
agree

> I just read your video-filters.txt and I am actually working on something li
> ke
> that now (Began with it when I read your comments in this thread.). I will
> hopefully send a patch to dev-eng in a few days.
hmm
video-filters.txt is far from being complete, i just wrote down my ideas
about the filter layer api


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