[FFmpeg-devel] [PATCH] Implement recusive avfilter_get_video_buffer()

Stefano Sabatini stefano.sabatini-lala
Fri Oct 9 02:01:27 CEST 2009


On date Thursday 2009-10-08 20:18:20 +0200, Michael Niedermayer encoded:
> On Thu, Oct 08, 2009 at 12:57:08AM +0200, Stefano Sabatini wrote:
> > On date Thursday 2009-10-08 00:05:24 +0200, Michael Niedermayer encoded:
> > > On Wed, Oct 07, 2009 at 09:24:45PM +0200, Stefano Sabatini wrote:
> > [...]
> > > > For what regards the soc patch, is OK to apply that as well once this
> > > > is applied?
> > > 
> > > 
> > > [...]
> > > >  avfilter.c |   13 ++++++++-----
> > > >  avfilter.h |   15 +++++++++------
> > > >  defaults.c |    8 ++++----
> > > >  3 files changed, 21 insertions(+), 15 deletions(-)
> > > > ad7c75f534241787cf08f3b8ba6f735ae2168ebe  lavfi-recursive-get-video-buffer.patch
> > > 
> > > Probably ok but this should be tested better too much than too little
> > > if you have any regression tests please check that they dont change due to
> > > this ...
> > 
> > I'm currently testing in the soc repo using the attached regression
> > tests (the file must be places in diffs). If that's OK for you I'll
> > add that to the soc repo.
> 
> [...]
> 
> > Index: tests/codec-regression.sh
> > ===================================================================
> > --- tests/codec-regression.sh	(revision 20189)
> > +++ tests/codec-regression.sh	(working copy)
> > @@ -677,10 +677,15 @@
> >      fi
> >  }
> >  
> > -# example tests:
> > -# do_lavfi "crop" "crop=100:100:-1:-1"
> > -# do_lavfi "crop_scale" "crop=100:100,scale=200:-1"
> > -# do_lavfi "scale" "scale=200:200"
> > +do_lavfi "null" "null"
> > +do_lavfi "crop" "crop=100:100:-1:-1"
> > +do_lavfi "crop_scale" "crop=100:100,scale=200:-1"
> > +do_lavfi "crop_vflip" "crop=100:100,vflip"
> > +do_lavfi "scale200" "scale=200:200"
> > +do_lavfi "scale500" "scale=500:500"
> > +do_lavfi "vflip" "vflip"
> > +do_lavfi "vflip_crop" "vflip,crop=100:100"
> > +do_lavfi "vflip_vflip" "vflip,vflip"
> 
> try that: (with parameters that let each filter do something more than null)
> 
> null,null,crop,crop,scale,scale,vflip,vflip,null,scale,crop,vflip,scale,null,vflip,crop,null

I tried:

do_lavfi "null"               "slicify=20,null"
do_lavfi "crop"               "slicify=20,crop=100:100:-1:-1"
do_lavfi "crop_scale"         "slicify=20,crop=100:100,scale=200:-1"
do_lavfi "crop_vflip"         "slicify=20,crop=100:100,vflip"
do_lavfi "scale200"           "slicify=20,scale=200:200"
do_lavfi "scale500"           "slicify=20,scale=500:500"
do_lavfi "vflip"              "slicify=20,vflip"
do_lavfi "vflip_crop"         "slicify=20,vflip,crop=100:100"
do_lavfi "vflip_vflip"        "slicify=20,vflip,vflip"
do_lavfi "crop_scale_vflip"   "slicify=20,null,null,crop=200:200,crop=20:20,scale=200:200,scale=250:250,vflip,vflip,null,scale=200:200,crop=100:100,vflip,scale=200:200,null,vflip,crop=100:100,null"

and they do pass regressions before and after the patch.
 
> also make sure that slices and frame reordering are in use from the input.

I found this filterchain is somehow broken:

slicify=10,vflip,scale=20:20,scale=200:200

before and after the patch, as for the framereordering I'm not sure
what you mean.

Regards.
-- 
FFmpeg = Fantastic and Forgiving Mortal Powerful Erroneous Gargoyle



More information about the ffmpeg-devel mailing list