mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
fate: Invoke pixfmts lavfi tests through fate-run.sh
This commit is contained in:
parent
28663511c9
commit
b963f021b6
@ -45,7 +45,6 @@ FILTERDEMDECENCMUX = $(call ALLYES, $(1)_FILTER $(2)_DEMUXER $(3)_DECODER $(4)_E
|
||||
include $(SRC_PATH)/tests/fate/acodec.mak
|
||||
include $(SRC_PATH)/tests/fate/vcodec.mak
|
||||
include $(SRC_PATH)/tests/fate/avformat.mak
|
||||
include $(SRC_PATH)/tests/fate/avfilter.mak
|
||||
include $(SRC_PATH)/tests/fate/seek.mak
|
||||
|
||||
include $(SRC_PATH)/tests/fate/aac.mak
|
||||
|
@ -156,11 +156,6 @@ lavftest(){
|
||||
regtest lavf lavf tests/vsynth1
|
||||
}
|
||||
|
||||
lavfitest(){
|
||||
cleanfiles="tests/data/lavfi/${test#lavfi-}.nut"
|
||||
regtest lavfi lavfi tests/vsynth1
|
||||
}
|
||||
|
||||
video_filter(){
|
||||
filters=$1
|
||||
shift
|
||||
@ -179,6 +174,27 @@ pixdesc(){
|
||||
done
|
||||
}
|
||||
|
||||
pixfmts(){
|
||||
filter=${test#filter-pixfmts-}
|
||||
filter_args=$1
|
||||
|
||||
showfiltfmts="$target_exec $target_path/libavfilter/filtfmts-test"
|
||||
exclude_fmts=${outfile}${filter}_exclude_fmts
|
||||
out_fmts=${outfile}${filter}_out_fmts
|
||||
|
||||
# exclude pixel formats which are not supported as input
|
||||
avconv -pix_fmts list 2>/dev/null | awk 'NR > 8 && /^\..\./ { print $2 }' | sort >$exclude_fmts
|
||||
$showfiltfmts scale | awk -F '[ \r]' '/^OUTPUT/{ print $3 }' | sort | comm -23 - $exclude_fmts >$out_fmts
|
||||
|
||||
pix_fmts=$($showfiltfmts $filter | awk -F '[ \r]' '/^INPUT/{ print $3 }' | sort | comm -12 - $out_fmts)
|
||||
for pix_fmt in $pix_fmts; do
|
||||
test=$pix_fmt
|
||||
video_filter "format=$pix_fmt,$filter=$filter_args" -pix_fmt $pix_fmt
|
||||
done
|
||||
|
||||
rm $exclude_fmts $out_fmts
|
||||
}
|
||||
|
||||
mkdir -p "$outdir"
|
||||
|
||||
exec 3>&2
|
||||
|
@ -1,13 +0,0 @@
|
||||
FATE_LAVFI = fate-lavfi-pixfmts_copy \
|
||||
fate-lavfi-pixfmts_crop \
|
||||
fate-lavfi-pixfmts_hflip \
|
||||
fate-lavfi-pixfmts_null \
|
||||
fate-lavfi-pixfmts_pad \
|
||||
fate-lavfi-pixfmts_scale \
|
||||
fate-lavfi-pixfmts_vflip \
|
||||
|
||||
$(FATE_LAVFI): $(VREF) libavfilter/filtfmts-test$(EXESUF)
|
||||
$(FATE_LAVFI): CMD = lavfitest
|
||||
|
||||
FATE_AVCONV += $(FATE_LAVFI)
|
||||
fate-lavfi: $(FATE_LAVFI)
|
@ -81,6 +81,31 @@ FATE_FILTER_VSYNTH-$(CONFIG_FORMAT_FILTER) += fate-filter-pixdesc
|
||||
fate-filter-pixdesc: CMD = pixdesc
|
||||
|
||||
|
||||
FATE_FILTER_PIXFMTS += fate-filter-pixfmts-copy
|
||||
fate-filter-pixfmts-copy: CMD = pixfmts
|
||||
|
||||
FATE_FILTER_PIXFMTS += fate-filter-pixfmts-crop
|
||||
fate-filter-pixfmts-crop: CMD = pixfmts "100:100:100:100"
|
||||
|
||||
FATE_FILTER_PIXFMTS += fate-filter-pixfmts-hflip
|
||||
fate-filter-pixfmts-hflip: CMD = pixfmts
|
||||
|
||||
FATE_FILTER_PIXFMTS += fate-filter-pixfmts-null
|
||||
fate-filter-pixfmts-null: CMD = pixfmts
|
||||
|
||||
FATE_FILTER_PIXFMTS += fate-filter-pixfmts-pad
|
||||
fate-filter-pixfmts-pad: CMD = pixfmts "500:400:20:20"
|
||||
|
||||
FATE_FILTER_PIXFMTS += fate-filter-pixfmts-scale
|
||||
fate-filter-pixfmts-scale: CMD = pixfmts "200:100"
|
||||
|
||||
FATE_FILTER_PIXFMTS += fate-filter-pixfmts-vflip
|
||||
fate-filter-pixfmts-vflip: CMD = pixfmts
|
||||
|
||||
$(FATE_FILTER_PIXFMTS): libavfilter/filtfmts-test$(EXESUF)
|
||||
FATE_FILTER_VSYNTH-$(CONFIG_FORMAT_FILTER) += $(FATE_FILTER_PIXFMTS)
|
||||
|
||||
|
||||
$(FATE_FILTER_VSYNTH-yes): $(VREF)
|
||||
$(FATE_FILTER_VSYNTH-yes): SRC = $(TARGET_PATH)/tests/vsynth1/%02d.pgm
|
||||
|
||||
|
@ -1,55 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# automatic regression test for libavfilter
|
||||
#
|
||||
#
|
||||
#set -x
|
||||
|
||||
set -e
|
||||
|
||||
. $(dirname $0)/regression-funcs.sh
|
||||
|
||||
eval do_$test=y
|
||||
|
||||
do_video_filter() {
|
||||
label=$1
|
||||
filters=$2
|
||||
shift 2
|
||||
printf '%-20s' $label
|
||||
run_avconv $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src \
|
||||
$ENC_OPTS -vf "$filters" -vcodec rawvideo $* -f nut md5:
|
||||
}
|
||||
|
||||
do_lavfi_pixfmts(){
|
||||
test ${test%_[bl]e} = pixfmts_$1 || return 0
|
||||
filter=$1
|
||||
filter_args=$2
|
||||
|
||||
showfiltfmts="$target_exec $target_path/libavfilter/filtfmts-test"
|
||||
exclude_fmts=${outfile}${1}_exclude_fmts
|
||||
out_fmts=${outfile}${1}_out_fmts
|
||||
|
||||
# exclude pixel formats which are not supported as input
|
||||
$avconv -pix_fmts list 2>/dev/null | awk 'NR > 8 && /^\..\./ { print $2 }' | sort >$exclude_fmts
|
||||
$showfiltfmts scale | awk -F '[ \r]' '/^OUTPUT/{ print $3 }' | sort | comm -23 - $exclude_fmts >$out_fmts
|
||||
|
||||
pix_fmts=$($showfiltfmts $filter | awk -F '[ \r]' '/^INPUT/{ print $3 }' | sort | comm -12 - $out_fmts)
|
||||
for pix_fmt in $pix_fmts; do
|
||||
do_video_filter $pix_fmt "format=$pix_fmt,$filter=$filter_args" -pix_fmt $pix_fmt
|
||||
done
|
||||
|
||||
rm $exclude_fmts $out_fmts
|
||||
}
|
||||
|
||||
# all these filters have exactly one input and exactly one output
|
||||
do_lavfi_pixfmts "copy" ""
|
||||
do_lavfi_pixfmts "crop" "100:100:100:100"
|
||||
do_lavfi_pixfmts "hflip" ""
|
||||
do_lavfi_pixfmts "null" ""
|
||||
do_lavfi_pixfmts "pad" "500:400:20:20"
|
||||
do_lavfi_pixfmts "scale" "200:100"
|
||||
do_lavfi_pixfmts "vflip" ""
|
||||
|
||||
# TODO: add tests for
|
||||
# direct rendering,
|
||||
# chains with feedback loops
|
Loading…
Reference in New Issue
Block a user