[FFmpeg-cvslog] Merge commit 'a70eac7a9b193e8434b5bed90bd72aa4cb688363'
James Almer
git at videolan.org
Thu Mar 14 20:44:13 EET 2019
ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Thu Mar 14 14:04:55 2019 -0300| [d0c43e32427ec1efac364be0987a6aafa695527f] | committer: James Almer
Merge commit 'a70eac7a9b193e8434b5bed90bd72aa4cb688363'
* commit 'a70eac7a9b193e8434b5bed90bd72aa4cb688363':
tests: Convert image2pipe tests to non-legacy test scripts
Merged-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d0c43e32427ec1efac364be0987a6aafa695527f
---
tests/Makefile | 1 +
tests/fate-run.sh | 47 ++++++++++++++++++++++++++++++++++++++++++
tests/fate/avformat.mak | 3 ---
tests/fate/lavf-image2pipe.mak | 12 +++++++++++
tests/lavf-regression.sh | 19 -----------------
tests/ref/lavf/pbmpipe | 6 +++---
tests/ref/lavf/pgmpipe | 6 +++---
tests/ref/lavf/ppmpipe | 6 +++---
8 files changed, 69 insertions(+), 31 deletions(-)
diff --git a/tests/Makefile b/tests/Makefile
index ae658693db..0def7e0dae 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -90,6 +90,7 @@ 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/lavf-image2pipe.mak
include $(SRC_PATH)/tests/fate/seek.mak
include $(SRC_PATH)/tests/fate/aac.mak
diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index f1a1e34c36..2d5dbf2f47 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -243,6 +243,53 @@ stream_remux(){
-f framecrc - || return
}
+# FIXME: There is a certain duplication between the avconv-related helper
+# functions above and below that should be refactored.
+ffmpeg2="$target_exec ${target_path}/ffmpeg"
+raw_src="${target_path}/tests/vsynth1/%02d.pgm"
+crcfile="tests/data/$test.lavf.crc"
+target_crcfile="${target_path}/$crcfile"
+
+[ "${V-0}" -gt 0 ] && echov=echov || echov=:
+
+echov(){
+ echo "$@" >&3
+}
+
+AVCONV_OPTS="-nostdin -nostats -y -cpuflags $cpuflags -threads $threads"
+DEC_OPTS="-flags +bitexact -idct simple -sws_flags +accurate_rnd+bitexact -fflags +bitexact"
+ENC_OPTS="$DEC_OPTS -threads $threads -dct fastint"
+
+run_avconv(){
+ $echov $ffmpeg2 $AVCONV_OPTS $*
+ $ffmpeg2 $AVCONV_OPTS $*
+}
+
+do_avconv(){
+ f="$1"
+ shift
+ set -- $* ${target_path}/$f
+ run_avconv $*
+ do_md5sum $f
+ echo $(wc -c $f)
+}
+
+do_avconv_crc(){
+ f="$1"
+ shift
+ run_avconv $* -f crc "$target_crcfile"
+ echo "$f $(cat $crcfile)"
+}
+
+lavf_image2pipe(){
+ t="${test#lavf-}"
+ t="${t%pipe}"
+ outdir="tests/data/lavf"
+ file=${outdir}/${t}pipe.$t
+ do_avconv $file $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src -f image2pipe "$ENC_OPTS -metadata title=lavftest" -t 1 -qscale 10
+ do_avconv_crc $file $DEC_OPTS -f image2pipe -i $target_path/$file
+}
+
lavffatetest(){
t="${test#lavf-fate-}"
ref=${base}/ref/lavf-fate/$t
diff --git a/tests/fate/avformat.mak b/tests/fate/avformat.mak
index a12f9ccc71..a0eaeefbe0 100644
--- a/tests/fate/avformat.mak
+++ b/tests/fate/avformat.mak
@@ -31,13 +31,10 @@ FATE_LAVF-$(call ENCDEC2, DNXHD, PCM_S16LE, MXF_OPATOM MXF) += mxf_opat
FATE_LAVF-$(call ENCDEC2, MPEG4, MP2, NUT) += nut
FATE_LAVF-$(call ENCDEC, FLAC, OGG) += ogg
FATE_LAVF-$(call ENCDEC, PAM, IMAGE2) += pam
-FATE_LAVF-$(call ENCDEC, PBM, IMAGE2PIPE) += pbmpipe
FATE_LAVF-$(call ENCDEC, PCX, IMAGE2) += pcx
FATE_LAVF-$(call ENCDEC, PGM, IMAGE2) += pgm
-FATE_LAVF-$(call ENCDEC, PGM, IMAGE2PIPE) += pgmpipe
FATE_LAVF-$(call ENCDEC, PNG, IMAGE2) += png
FATE_LAVF-$(call ENCDEC, PPM, IMAGE2) += ppm
-FATE_LAVF-$(call ENCDEC, PPM, IMAGE2PIPE) += ppmpipe
FATE_LAVF-$(call ENCMUX, RV10 AC3_FIXED, RM) += rm
FATE_LAVF-$(call ENCDEC, PCM_U8, RSO) += rso
FATE_LAVF-$(call ENCDEC, SGI, IMAGE2) += sgi
diff --git a/tests/fate/lavf-image2pipe.mak b/tests/fate/lavf-image2pipe.mak
new file mode 100644
index 0000000000..297f677ada
--- /dev/null
+++ b/tests/fate/lavf-image2pipe.mak
@@ -0,0 +1,12 @@
+FATE_LAVF_IMAGE2PIPE-$(call ENCDEC, PBM, IMAGE2PIPE) += pbmpipe
+FATE_LAVF_IMAGE2PIPE-$(call ENCDEC, PGM, IMAGE2PIPE) += pgmpipe
+FATE_LAVF_IMAGE2PIPE-$(call ENCDEC, PPM, IMAGE2PIPE) += ppmpipe
+
+FATE_LAVF_IMAGE2PIPE = $(FATE_LAVF_IMAGE2PIPE-yes:%=fate-lavf-%)
+
+$(FATE_LAVF_IMAGE2PIPE): CMD = lavf_image2pipe
+$(FATE_LAVF_IMAGE2PIPE): REF = $(SRC_PATH)/tests/ref/lavf/$(@:fate-lavf-%=%)
+$(FATE_LAVF_IMAGE2PIPE): $(VREF)
+
+FATE_AVCONV += $(FATE_LAVF_IMAGE2PIPE)
+fate-lavf-image2pipe fate-lavf: $(FATE_LAVF_IMAGE2PIPE)
diff --git a/tests/lavf-regression.sh b/tests/lavf-regression.sh
index c5b6734815..baf2dc76a5 100755
--- a/tests/lavf-regression.sh
+++ b/tests/lavf-regression.sh
@@ -39,13 +39,6 @@ do_lavf_timecode()
do_lavf $1 "" "$2"
}
-do_streamed_images()
-{
- file=${outfile}${1}pipe.$1
- do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src -f image2pipe $ENC_OPTS -t 1 -qscale 10
- do_avconv_crc $file $DEC_OPTS -f image2pipe -i $target_path/$file
-}
-
do_image_formats()
{
outfile="$datadir/images/$1/"
@@ -202,18 +195,6 @@ fi
#do_avconv $file -t 1 -qscale 10 -f image2 -vcodec pgmyuv -i $raw_src
#do_avconv_crc $file -i $target_path/$file
-if [ -n "$do_pbmpipe" ] ; then
-do_streamed_images pbm
-fi
-
-if [ -n "$do_pgmpipe" ] ; then
-do_streamed_images pgm
-fi
-
-if [ -n "$do_ppmpipe" ] ; then
-do_streamed_images ppm
-fi
-
if [ -n "$do_gif" ] ; then
file=${outfile}lavf.gif
do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10 -pix_fmt rgb24
diff --git a/tests/ref/lavf/pbmpipe b/tests/ref/lavf/pbmpipe
index 284f90b16b..5cfb9b5e77 100644
--- a/tests/ref/lavf/pbmpipe
+++ b/tests/ref/lavf/pbmpipe
@@ -1,3 +1,3 @@
-8b974da7f48f9e6d5ae327b4444a71fb *./tests/data/lavf/pbmpipe.pbm
-317075 ./tests/data/lavf/pbmpipe.pbm
-./tests/data/lavf/pbmpipe.pbm CRC=0xfc010c66
+8b974da7f48f9e6d5ae327b4444a71fb *tests/data/lavf/pbmpipe.pbm
+317075 tests/data/lavf/pbmpipe.pbm
+tests/data/lavf/pbmpipe.pbm CRC=0xfc010c66
diff --git a/tests/ref/lavf/pgmpipe b/tests/ref/lavf/pgmpipe
index da6f9a6d3a..1077a9514a 100644
--- a/tests/ref/lavf/pgmpipe
+++ b/tests/ref/lavf/pgmpipe
@@ -1,3 +1,3 @@
-c34e37ea49237c2d1ea81a5944328e59 *./tests/data/lavf/pgmpipe.pgm
-2534775 ./tests/data/lavf/pgmpipe.pgm
-./tests/data/lavf/pgmpipe.pgm CRC=0x7aa0122f
+c34e37ea49237c2d1ea81a5944328e59 *tests/data/lavf/pgmpipe.pgm
+2534775 tests/data/lavf/pgmpipe.pgm
+tests/data/lavf/pgmpipe.pgm CRC=0x7aa0122f
diff --git a/tests/ref/lavf/ppmpipe b/tests/ref/lavf/ppmpipe
index b703e16e50..a50dbb0671 100644
--- a/tests/ref/lavf/ppmpipe
+++ b/tests/ref/lavf/ppmpipe
@@ -1,3 +1,3 @@
-74f1f6651ad8f192a7b4c11c2b6c71e5 *./tests/data/lavf/ppmpipe.ppm
-7603575 ./tests/data/lavf/ppmpipe.ppm
-./tests/data/lavf/ppmpipe.ppm CRC=0x87b3c15f
+74f1f6651ad8f192a7b4c11c2b6c71e5 *tests/data/lavf/ppmpipe.ppm
+7603575 tests/data/lavf/ppmpipe.ppm
+tests/data/lavf/ppmpipe.ppm CRC=0x87b3c15f
======================================================================
diff --cc tests/fate-run.sh
index f1a1e34c36,0221e5c1dc..2d5dbf2f47
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@@ -209,46 -152,51 +209,93 @@@ enc_dec()
tests/tiny_psnr $srcfile $decfile $cmp_unit $cmp_shift
}
+transcode(){
+ src_fmt=$1
+ srcfile=$2
+ enc_fmt=$3
+ enc_opt=$4
+ final_decode=$5
+ encfile="${outdir}/${test}.${enc_fmt}"
+ test "$7" = -keep || cleanfiles="$cleanfiles $encfile"
+ tsrcfile=$(target_path $srcfile)
+ tencfile=$(target_path $encfile)
+ ffmpeg -f $src_fmt $DEC_OPTS -i $tsrcfile $ENC_OPTS $enc_opt $FLAGS \
+ -f $enc_fmt -y $tencfile || return
+ do_md5sum $encfile
+ echo $(wc -c $encfile)
+ ffmpeg $DEC_OPTS -i $encfile $ENC_OPTS $FLAGS $final_decode \
+ -f framecrc - || return
+}
+
+stream_remux(){
+ src_fmt=$1
+ srcfile=$2
+ enc_fmt=$3
+ stream_maps=$4
+ final_decode=$5
+ encfile="${outdir}/${test}.${enc_fmt}"
+ test "$7" = -keep || cleanfiles="$cleanfiles $encfile"
+ tsrcfile=$(target_path $srcfile)
+ tencfile=$(target_path $encfile)
+ ffmpeg -f $src_fmt -i $tsrcfile $stream_maps -codec copy $FLAGS \
+ -f $enc_fmt -y $tencfile || return
+ ffmpeg $DEC_OPTS -i $encfile $ENC_OPTS $FLAGS $final_decode \
+ -f framecrc - || return
+}
+
+ # FIXME: There is a certain duplication between the avconv-related helper
+ # functions above and below that should be refactored.
-avconv2="$target_exec ${target_path}/avconv"
++ffmpeg2="$target_exec ${target_path}/ffmpeg"
+ raw_src="${target_path}/tests/vsynth1/%02d.pgm"
+ crcfile="tests/data/$test.lavf.crc"
+ target_crcfile="${target_path}/$crcfile"
+
++[ "${V-0}" -gt 0 ] && echov=echov || echov=:
++
+ echov(){
+ echo "$@" >&3
+ }
+
-AVCONV_OPTS="-nostats -y -cpuflags $cpuflags -threads $threads"
++AVCONV_OPTS="-nostdin -nostats -y -cpuflags $cpuflags -threads $threads"
+ DEC_OPTS="-flags +bitexact -idct simple -sws_flags +accurate_rnd+bitexact -fflags +bitexact"
-ENC_OPTS="$DEC_OPTS -threads 1 -dct fastint"
++ENC_OPTS="$DEC_OPTS -threads $threads -dct fastint"
+
+ run_avconv(){
- $echov $avconv2 $AVCONV_OPTS $*
- $avconv2 $AVCONV_OPTS $*
++ $echov $ffmpeg2 $AVCONV_OPTS $*
++ $ffmpeg2 $AVCONV_OPTS $*
+ }
+
+ do_avconv(){
+ f="$1"
+ shift
+ set -- $* ${target_path}/$f
+ run_avconv $*
+ do_md5sum $f
+ echo $(wc -c $f)
+ }
+
+ do_avconv_crc(){
+ f="$1"
+ shift
+ run_avconv $* -f crc "$target_crcfile"
+ echo "$f $(cat $crcfile)"
+ }
+
+ lavf_image2pipe(){
+ t="${test#lavf-}"
+ t="${t%pipe}"
+ outdir="tests/data/lavf"
+ file=${outdir}/${t}pipe.$t
- do_avconv $file $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src -f image2pipe $ENC_OPTS -t 1 -qscale 10
++ do_avconv $file $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src -f image2pipe "$ENC_OPTS -metadata title=lavftest" -t 1 -qscale 10
+ do_avconv_crc $file $DEC_OPTS -f image2pipe -i $target_path/$file
+ }
+
+lavffatetest(){
+ t="${test#lavf-fate-}"
+ ref=${base}/ref/lavf-fate/$t
+ ${base}/lavf-regression.sh $t lavf-fate tests/vsynth1 "$target_exec" "$target_path" "$threads" "$thread_type" "$cpuflags" "$target_samples"
+}
+
lavftest(){
t="${test#lavf-}"
ref=${base}/ref/lavf/$t
diff --cc tests/lavf-regression.sh
index c5b6734815,fecc36c0fd..baf2dc76a5
--- a/tests/lavf-regression.sh
+++ b/tests/lavf-regression.sh
@@@ -29,23 -19,6 +29,16 @@@ do_lavf(
do_avconv_crc $file $DEC_OPTS -i $target_path/$file $4
}
+do_lavf_timecode_nodrop() { do_lavf $1 "" "$2 -timecode 02:56:14:13"; }
+do_lavf_timecode_drop() { do_lavf $1 "" "$2 -timecode 02:56:14.13 -r 30000/1001"; }
+
+do_lavf_timecode()
+{
+ do_lavf_timecode_nodrop "$@"
+ do_lavf_timecode_drop "$@"
+ do_lavf $1 "" "$2"
+}
+
- do_streamed_images()
- {
- file=${outfile}${1}pipe.$1
- do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src -f image2pipe $ENC_OPTS -t 1 -qscale 10
- do_avconv_crc $file $DEC_OPTS -f image2pipe -i $target_path/$file
- }
-
do_image_formats()
{
outfile="$datadir/images/$1/"
@@@ -199,36 -99,12 +192,24 @@@ f
# streamed images
# mjpeg
#file=${outfile}lavf.mjpeg
-#do_avconv $file -t 1 -qscale 10 -f image2 -c:v pgmyuv -i $raw_src
+#do_avconv $file -t 1 -qscale 10 -f image2 -vcodec pgmyuv -i $raw_src
#do_avconv_crc $file -i $target_path/$file
- if [ -n "$do_pbmpipe" ] ; then
- do_streamed_images pbm
- fi
-
- if [ -n "$do_pgmpipe" ] ; then
- do_streamed_images pgm
- fi
-
- if [ -n "$do_ppmpipe" ] ; then
- do_streamed_images ppm
- fi
-
if [ -n "$do_gif" ] ; then
file=${outfile}lavf.gif
-do_avconv $file $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10 -pix_fmt rgb24
+do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10 -pix_fmt rgb24
+do_avconv_crc $file $DEC_OPTS -i $target_path/$file -pix_fmt rgb24
+fi
+
+if [ -n "$do_apng" ] ; then
+file=${outfile}lavf.apng
+do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS -t 1 -pix_fmt rgb24
+do_avconv_crc $file $DEC_OPTS -i $target_path/$file -pix_fmt rgb24
+file_copy=${outfile}lavf.copy.apng
+do_avconv $file_copy $DEC_OPTS -i $file $ENC_OPTS -c copy
+do_avconv_crc $file_copy $DEC_OPTS -i $target_path/$file_copy
+file=${outfile}lavf.png
+do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS -pix_fmt rgb24 -frames:v 1 -f apng
do_avconv_crc $file $DEC_OPTS -i $target_path/$file -pix_fmt rgb24
fi
diff --cc tests/ref/lavf/pbmpipe
index 284f90b16b,ab7d302b4d..5cfb9b5e77
--- a/tests/ref/lavf/pbmpipe
+++ b/tests/ref/lavf/pbmpipe
@@@ -1,3 -1,3 +1,3 @@@
- 8b974da7f48f9e6d5ae327b4444a71fb *./tests/data/lavf/pbmpipe.pbm
- 317075 ./tests/data/lavf/pbmpipe.pbm
- ./tests/data/lavf/pbmpipe.pbm CRC=0xfc010c66
-8ced96f5b6b7362358199ae993b4ceb7 *tests/data/lavf/pbmpipe.pbm
++8b974da7f48f9e6d5ae327b4444a71fb *tests/data/lavf/pbmpipe.pbm
+ 317075 tests/data/lavf/pbmpipe.pbm
-tests/data/lavf/pbmpipe.pbm CRC=0xfae0a1ba
++tests/data/lavf/pbmpipe.pbm CRC=0xfc010c66
diff --cc tests/ref/lavf/pgmpipe
index da6f9a6d3a,d854897492..1077a9514a
--- a/tests/ref/lavf/pgmpipe
+++ b/tests/ref/lavf/pgmpipe
@@@ -1,3 -1,3 +1,3 @@@
- c34e37ea49237c2d1ea81a5944328e59 *./tests/data/lavf/pgmpipe.pgm
- 2534775 ./tests/data/lavf/pgmpipe.pgm
- ./tests/data/lavf/pgmpipe.pgm CRC=0x7aa0122f
-04e66c8e9e064c8310bd657ee559bd70 *tests/data/lavf/pgmpipe.pgm
++c34e37ea49237c2d1ea81a5944328e59 *tests/data/lavf/pgmpipe.pgm
+ 2534775 tests/data/lavf/pgmpipe.pgm
-tests/data/lavf/pgmpipe.pgm CRC=0xadf48ba9
++tests/data/lavf/pgmpipe.pgm CRC=0x7aa0122f
More information about the ffmpeg-cvslog
mailing list