[MPlayer-dev-eng] Re: Drop interlaced frames.
D Richard Felker III
dalias at aerifal.cx
Wed Sep 11 00:56:52 CEST 2002
On Wed, Sep 11, 2002 at 12:16:16AM +0200, Arpi wrote:
> Hi,
>
> > > >This requires a lot of unnecessary changes. A better approach would be
> > > >to intercept VFCTRL_DRAW_OSD in your filter, and throw it away if the
> > > >current frame was dropped. Otherwise pass it on to the next filter.
>
> not.
> the goal of that change was to add a new feature: filters can drop the frame.
> i like it, and i'm about commiting that part.
>
> > > vf=sh_video->vfilter;
> > > -vf->put_image(vf,mpi);
> > > +if(!vf->put_image(vf,mpi))
> > > + return 0;
> > > vf->control(vf,VFCTRL_DRAW_OSD,NULL);
> ye sthis looks betterm but teh time calculations shouldn't be dropped by
> return 0, so i've chanegd it to
>
> ret=vf->put_image(vf,mpi)
> if(ret>0) draw osd
> calc timers
> return ret;
>
> > Yes, but the subsequent code won't hurt if it gets executed. However,
> > drawing the OSD multiple times on the same frame will be bad, since
> > the alpha will get blended twice.
> agree
>
> > I still think it's better not to
> > change the return type of put_image....
> any better idea about how to handle framedrop initiated by a filter or encoder?
Hm, what other part of the program needs to know about the fact that a
frame was dropped? I thought it was sufficient to just suppress the
put_image from getting all the way to vo/ve, but perhaps not...
Rich
More information about the MPlayer-dev-eng
mailing list