[FFmpeg-devel] [RFC] Lavfi test system

Måns Rullgård mans
Mon Mar 15 00:53:52 CET 2010


Stefano Sabatini <stefano.sabatini-lala at poste.it> writes:

> On date Wednesday 2010-03-10 01:59:10 +0100, Stefano Sabatini encoded:
>> On date Monday 2010-03-08 23:02:10 +0100, Michael Niedermayer encoded:
>> > On Mon, Mar 08, 2010 at 10:40:02PM +0100, Stefano Sabatini wrote:
>> > > On date Monday 2010-03-08 03:17:11 +0100, Michael Niedermayer encoded:
>> > > > we dont want spurious unreproduceable failures
>> > > > or other way around spurious unreproduceable successes in teh test wen
>> > > > they should fail
>> > > > it makes debuging hard ...
>> > > 
>> > > I agree but this way we are using only a limited subset of slice
>> > > values.
>> > 
>> > true, could we postpone resolving this though.
>> > having some regression tests is very important
>> > testing all slice sizes is not that important
>> > 
>> > 
>> > > 
>> > > Another solution would be to iterate a few times each test with
>> > > different slice height values taken from a pseudo random
>> > > sequence. Would this be OK?
>> > 
>> > that slows it down proportionally
>> > maybe we could add a "r" parameter to slicify to make it produce
>> > deterministic but random slice sizes that would test more than a
>> > single size for a video
>> 
>> Thinking more about it, that looked like the best solution, see the
>> attached patch (which depends on that one extending slicify which I just
>> posted in a new thread).
>
> Patches updated.
>
> Regards.
> -- 
> FFmpeg = Faithful & Fanciful Multipurpose Proud Ecumenical Gorilla
>
> Index: libavfilter-soc/ffmpeg/Makefile
> ===================================================================
> --- libavfilter-soc.orig/ffmpeg/Makefile	2010-03-13 11:45:37.000000000 +0100
> +++ libavfilter-soc/ffmpeg/Makefile	2010-03-13 12:05:18.000000000 +0100
> @@ -250,7 +250,18 @@
>  LAVF_TESTS-$(call MUXDEM,WAV)                += wav
>  LAVF_TESTS-$(call MUXDEM,YUV4MPEGPIPE)       += yuv4mpeg
>  
> -LAVFI_TEST=
> +LAVFI_TESTS =       \
> +crop                \
> +crop_scale          \
> +crop_scale_vflip    \
> +crop_vflip          \
> +null                \
> +scale200            \
> +scale500            \
> +vflip               \
> +vflip_crop          \
> +vflip_vflip         \
> +

Please indent the continuation lines a bit.

>  ACODEC_TESTS := $(addprefix regtest-, $(ACODEC_TESTS) $(ACODEC_TESTS-yes))
>  VCODEC_TESTS := $(addprefix regtest-, $(VCODEC_TESTS) $(VCODEC_TESTS-yes))
> @@ -261,8 +272,7 @@
>  
>  codectest: $(CODEC_TESTS)
>  lavftest:  $(LAVF_TESTS)
> -
> -# lavfitest: $(LAVFI_TESTS)
> +lavfitest: $(LAVFI_TESTS)
>  
>  $(ACODEC_TESTS): regtest-aref
>  $(VCODEC_TESTS): regtest-vref
> Index: libavfilter-soc/ffmpeg/tests/lavfi-regression.sh
> ===================================================================
> --- libavfilter-soc.orig/ffmpeg/tests/lavfi-regression.sh	2010-03-13 11:42:05.000000000 +0100
> +++ libavfilter-soc/ffmpeg/tests/lavfi-regression.sh	2010-03-13 12:05:18.000000000 +0100
> @@ -20,14 +20,20 @@
>      vfilters=$2
>  
>      if [ -n "$test" ] ; then
> -        do_video_encoding ${test_name}.avi "" "-vcodec rawvideo -vfilters $vfilters"
> +        do_video_encoding ${test_name}.nut "" "-vcodec rawvideo -vfilters $vfilters"
>      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 "crop"               "crop=100:100"
> +do_lavfi "crop_scale"         "crop=100:100,scale=400:-1"
> +do_lavfi "crop_scale_vflip"   "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"
> +do_lavfi "crop_vflip"         "crop=100:100,vflip"
> +do_lavfi "null"               "null"
> +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"

Looks good enough.  Maybe we want to parallelise these tests later,
but that can wait.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list