You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-11-23 21:54:53 +02:00
fate: Invoke pixfmts lavfi tests through fate-run.sh
This commit is contained in:
@@ -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/acodec.mak
|
||||||
include $(SRC_PATH)/tests/fate/vcodec.mak
|
include $(SRC_PATH)/tests/fate/vcodec.mak
|
||||||
include $(SRC_PATH)/tests/fate/avformat.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/seek.mak
|
||||||
|
|
||||||
include $(SRC_PATH)/tests/fate/aac.mak
|
include $(SRC_PATH)/tests/fate/aac.mak
|
||||||
|
|||||||
@@ -156,11 +156,6 @@ lavftest(){
|
|||||||
regtest lavf lavf tests/vsynth1
|
regtest lavf lavf tests/vsynth1
|
||||||
}
|
}
|
||||||
|
|
||||||
lavfitest(){
|
|
||||||
cleanfiles="tests/data/lavfi/${test#lavfi-}.nut"
|
|
||||||
regtest lavfi lavfi tests/vsynth1
|
|
||||||
}
|
|
||||||
|
|
||||||
video_filter(){
|
video_filter(){
|
||||||
filters=$1
|
filters=$1
|
||||||
shift
|
shift
|
||||||
@@ -179,6 +174,27 @@ pixdesc(){
|
|||||||
done
|
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"
|
mkdir -p "$outdir"
|
||||||
|
|
||||||
exec 3>&2
|
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-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): $(VREF)
|
||||||
$(FATE_FILTER_VSYNTH-yes): SRC = $(TARGET_PATH)/tests/vsynth1/%02d.pgm
|
$(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
|
|
||||||
Reference in New Issue
Block a user