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

Michael Niedermayer michaelni
Sat Oct 10 00:58:42 CEST 2009


On Fri, Oct 09, 2009 at 02:01:27AM +0200, Stefano Sabatini wrote:
> 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

somehow?
and i assume that this is a minimal chain ...


> 
> before and after the patch, 


> as for the framereordering I'm not sure
> what you mean.

well, a mpeg decoder will allocate frames in an order that differs from
what is output if its a file with B frames.

And slices wont be in the order in which frames are if SLICE_FLAG_CODED_ORDER
is set, i dont think libavfilter supports that ATM and its not really
urgent to change that but it should not be forgotten


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

If a bugfix only changes things apparently unrelated to the bug with no
further explanation, that is a good sign that the bugfix is wrong.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20091010/d2eb47e7/attachment.pgp>



More information about the ffmpeg-devel mailing list