[MPlayer-dev-eng] [PATCH] mp_image flags in filters

Ivan Kalvachev ikalvachev at gmail.com
Thu Jul 28 20:44:32 CEST 2005


On 7/28/05, Reimar Döffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de> wrote:
> Hi,
> On Thu, Jul 28, 2005 at 11:02:29AM -0400, Rich Felker wrote:
> > On Thu, Jul 28, 2005 at 01:04:44AM +0300, Ivan Kalvachev wrote:
> > > I would preffer this to stay static. Don;t forget that tile is called
> > > multiple times over same (result) image
> >
> > But it only calls vf_next_put_image once. Thus it does not need static.
> 
> Not completely correct I think, it doesn't store the mpi it got but
> instead calls vf_get_image every time, assuming it gets the same buffer
> as last time :-(
> 
> > > boxblur, doesn't seem to support direct rendering. It doesn't
> > > implement get_image funtion. So setting readable in the dest image is
> > > bad (will actually prevent DR in valid case). I guess that the
> > > algorithm requires not to modify the source image.
> >
> > ok.
> 
> I don't understand that. Neither why it will prevent DR (can you give an
> example?), nor why it READABLE isn't necessary, after all that very
> filter needs to read from that buffer...
> 
> > > denoise3d - same as above
> >
> > ok.
> 
> It stores the last dmpi on each round and in the next pass reads from it
> again. So that dmpi IMHO must be readable (and I check with a hacked
> vo_gl.c that performance actually degraded by a factor ten when enabling
> DR because it tried to read from video RAM).

Then you can commit this one too.
BTW take a look of hqdn3d, it is based on denoise3d.

As for Richard. Of course he is right for vf_eq*, I haven't looked at them.
But for the other things - don't mind him, he likes repling before
reading things to the end and without checking facts....

tile - should keep the STATIC, it uses same trick for regeting same
destination image, without storing it in private structure. You may
not break it immideately as other types also use one buffer, but...

harddup - it should set PRESERVE flag when it passes mpi to next
filter to prevent NEXT filter to apply same effects twice on same
image.

qp - already explained how it works. It already does DR for the frames
it can. It copies the frames it cannot DR. I guess you should try make
rectangle behave the same way.


kerndint - as I explained it can allocate 2 buffers if they are in
different slots (temp vs static).

EXPORT allocates mpi, but doesn't fill the buffer, so filter should do
it by itself.

Richard, STATIC is not flag, it is type, there is no way for filter to
check if the image it gets is from given type. You are configusing it
with PRESERVER flag.


Please let's keep one thread, not 10 paralel




More information about the MPlayer-dev-eng mailing list