regtest lavf lavf tests/vsynth1
}
-lavfitest(){
- cleanfiles="tests/data/lavfi/${test#lavfi-}.nut"
- regtest lavfi lavfi tests/vsynth1
-}
-
video_filter(){
filters=$1
shift
done
}
+pixfmts(){
+ filter=${test#filter-pixfmts-}
+ filter=${filter%_*}
+ filter_args=$1
+ prefilter_chain=$2
+
+ showfiltfmts="$target_exec $target_path/libavfilter/filtfmts-test"
+ scale_exclude_fmts=${outfile}_scale_exclude_fmts
+ scale_in_fmts=${outfile}_scale_in_fmts
+ scale_out_fmts=${outfile}_scale_out_fmts
+ in_fmts=${outfile}_in_fmts
+
+ # exclude pixel formats which are not supported as input
+ $showfiltfmts scale | awk -F '[ \r]' '/^INPUT/{ fmt=substr($3, 5); print fmt }' | sort >$scale_in_fmts
+ $showfiltfmts scale | awk -F '[ \r]' '/^OUTPUT/{ fmt=substr($3, 5); print fmt }' | sort >$scale_out_fmts
+ comm -12 $scale_in_fmts $scale_out_fmts >$scale_exclude_fmts
+
+ $showfiltfmts $filter | awk -F '[ \r]' '/^INPUT/{ fmt=substr($3, 5); print fmt }' | sort >$in_fmts
+ pix_fmts=$(comm -12 $scale_exclude_fmts $in_fmts)
+
+ for pix_fmt in $pix_fmts; do
+ test=$pix_fmt
+ video_filter "${prefilter_chain}format=$pix_fmt,$filter=$filter_args" -pix_fmt $pix_fmt
+ done
+
+ rm $in_fmts $scale_in_fmts $scale_out_fmts $scale_exclude_fmts
+}
+
mkdir -p "$outdir"
# Disable globbing: command arguments may contain globbing characters and