diff options
author | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2010-05-24 20:38:50 +0000 |
---|---|---|
committer | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2010-05-24 20:38:50 +0000 |
commit | e34d5db5957aac0b2b7228ced432dcf4a1f5e5dc (patch) | |
tree | 2091d1a2c97a47085004275ff5eabc2bfcaccd63 /tests | |
parent | 781cf5fd4194bd4edaacf4e0e524eea8546a8e57 (diff) | |
download | ffmpeg-e34d5db5957aac0b2b7228ced432dcf4a1f5e5dc.tar.gz |
Add libavfilter 1-input - 1-output regression test, corresponding to the
target regtest-lavfi_pix_fmts.
The lavfi_pix_fmts test is disabled, this because there are
many tests which are failing, and there are still some output files
which cannot be played by NUT/ffplay.
Originally committed as revision 23297 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/lavfi-regression.sh | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/tests/lavfi-regression.sh b/tests/lavfi-regression.sh index 4ac35bf394..3ab118207c 100755 --- a/tests/lavfi-regression.sh +++ b/tests/lavfi-regression.sh @@ -14,6 +14,18 @@ eval do_$test=y rm -f "$logfile" rm -f "$benchfile" +get_common_elements() ( + l1=$1 + l2=$2 + for elt1 in $1; do + for elt2 in $2; do + [ $elt1 = $elt2 ] && res="$res $elt1 " + done + done + + echo $res +) + do_lavfi() { test_name=$1 eval test=\$do_$test_name @@ -35,9 +47,32 @@ do_lavfi "vflip" "vflip" do_lavfi "vflip_crop" "vflip,crop=100:100" do_lavfi "vflip_vflip" "vflip,vflip" +# all these filters have exactly one input and exactly one output +filters_args=" +crop=100:100:100:100 +null +pad=500:400:20:20 +scale=200:100 +vflip +" + +if [ -n "$do_lavfi_pix_fmts" ]; then + scale_out_pix_fmts=$(tools/lavfi-showfiltfmts scale | grep "^OUTPUT" | cut -d: -f2) + + for filter_args in $filters_args; do + filter=$(echo $filter_args | sed -e 's/\([^=]\+\)=.*/\1/') + in_pix_fmts=$(tools/lavfi-showfiltfmts $filter | grep "^INPUT" | cut -d: -f2) + pix_fmts=$(get_common_elements "$in_pix_fmts" "$scale_out_pix_fmts") + + for pix_fmt in $pix_fmts; do + do_video_encoding "${pix_fmt}-${filter}.nut" "" \ + "-vf slicify=random,format=$pix_fmt,$filter_args -vcodec rawvideo -pix_fmt $pix_fmt" + done + done +fi + # TODO: add tests for # direct rendering, -# slices # chains with feedback loops rm -f "$bench" "$bench2" |