[MPlayer-dev-eng] Re: Need help with drop-deinterlace plugin

Arpi arpi at thot.banki.hu
Wed Sep 4 22:37:50 CEST 2002


Hi,

> Sometime (on Wednesday, September  4 at 22:16) I've received something...
> >> >> 1. Where the plugin can find decoded frames: current and previous?
> >> >it can't see preovious unless it saves it (the mpi) and flag that it
> >> >requires the previous frame
> >>     It has to have static variable for that mpi and save/release mpi on
> >no static var, use teh priv filed of vf_instance structyre to strore such thing
> 
>     The filter plugin have to save/release the mpi sctructure by itself,
> eh?

yes.
filters don't need the previous frames, except your...

> >> is just to duplicate previous then codec will duplicate frame but I'm not
> >> sure if it's the best way.
> >if you only want to keep the previous frame on the screen, then you don't
> >need the prev frame at all, just skip the current frame.
> 
>     It will work for screen output, not for mencoder. Since function
why?

> decode_video() will return 1 in that case anyway then mencoder will lose
> the frame, so vf->put_image() must be called to the very end (ve_lavc.c:
> put_image() for example). Since somefilter:put_image() doesn't know if it
> is encoder call, it have to call vf_next_put_image() in any case. So my
> question is how to let next put_image() know about duplicated frame? I
> didn't find any other way except replace current frame with previous. :)

mencoder will notice if you skipped teh fraem and will automatcialy
duplicate the previous frame to keep a-v in sync.

imho the only thing your filter have to do is detecting if a frame shoudl be
skipped (and so the prevous one duplicated) and return without calling
next_put_image. the others will be done by the core.
you may call it lame or well-designed, your choice :)


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