ffmpeg | branch: master | James Almer <[email protected]> | Thu Mar 14 14:47:57 2019 -0300| [ac4b5d86222006fa71ffe5922e1a34f1422507d8] | committer: James Almer
Merge commit 'f8df5e2f31a5ba7b30a0e1caaaf5a03c753b3f9b' * commit 'f8df5e2f31a5ba7b30a0e1caaaf5a03c753b3f9b': tests: Add a convenience function for video-only lavf tests Merged-by: James Almer <[email protected]> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ac4b5d86222006fa71ffe5922e1a34f1422507d8 --- tests/Makefile | 3 +- tests/fate-run.sh | 14 ++--- tests/fate/ffmpeg.mak | 4 ++ tests/fate/lavf-video.mak | 29 ++++++++++ tests/fate/seek.mak | 4 +- tests/fate/{avformat.mak => segment.mak} | 14 ----- tests/lavf-regression.sh | 53 ------------------- tests/ref/fate/copy-apng | 32 +++++++++++ tests/ref/lavf/apng | 12 ++--- tests/ref/lavf/apng.png | 3 ++ tests/ref/lavf/gbrap.fits | 3 ++ tests/ref/lavf/gbrap16be.fits | 3 ++ tests/ref/lavf/gbrp.fits | 3 ++ tests/ref/lavf/gbrp16be.fits | 3 ++ tests/ref/lavf/gif | 6 +-- tests/ref/lavf/gray.fits | 3 ++ tests/ref/lavf/gray16be.fits | 3 ++ tests/ref/lavf/y4m | 3 ++ tests/ref/lavf/yuv4mpeg | 3 -- tests/ref/seek/{lavf-yuv4mpeg => lavf-y4m} | 0 tests/regression-funcs.sh | 85 ------------------------------ 21 files changed, 104 insertions(+), 179 deletions(-) diff --git a/tests/Makefile b/tests/Makefile index 3d88a5ddd6..ae48db8586 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -89,11 +89,11 @@ include $(SRC_PATH)/$(APITESTSDIR)/Makefile 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-audio.mak include $(SRC_PATH)/tests/fate/lavf-container.mak include $(SRC_PATH)/tests/fate/lavf-image.mak include $(SRC_PATH)/tests/fate/lavf-image2pipe.mak +include $(SRC_PATH)/tests/fate/lavf-video.mak include $(SRC_PATH)/tests/fate/seek.mak include $(SRC_PATH)/tests/fate/aac.mak @@ -170,6 +170,7 @@ include $(SRC_PATH)/tests/fate/qt.mak include $(SRC_PATH)/tests/fate/qtrle.mak include $(SRC_PATH)/tests/fate/real.mak include $(SRC_PATH)/tests/fate/screen.mak +include $(SRC_PATH)/tests/fate/segment.mak include $(SRC_PATH)/tests/fate/source.mak include $(SRC_PATH)/tests/fate/speedhq.mak include $(SRC_PATH)/tests/fate/subtitles.mak diff --git a/tests/fate-run.sh b/tests/fate-run.sh index 7e6d2b1a7e..4c77b2dc1b 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -340,16 +340,12 @@ lavf_image2pipe(){ 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(){ +lavf_video(){ t="${test#lavf-}" - ref=${base}/ref/lavf/$t - ${base}/lavf-regression.sh $t lavf tests/vsynth1 "$target_exec" "$target_path" "$threads" "$thread_type" "$cpuflags" "$target_samples" + outdir="tests/data/lavf" + file=${outdir}/lavf.$t + do_avconv $file $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src "$ENC_OPTS -metadata title=lavftest" -t 1 -qscale 10 $1 $2 + do_avconv_crc $file $DEC_OPTS -i $target_path/$file $1 } refcmp_metadata(){ diff --git a/tests/fate/ffmpeg.mak b/tests/fate/ffmpeg.mak index 0975af2612..ac68cde3f9 100644 --- a/tests/fate/ffmpeg.mak +++ b/tests/fate/ffmpeg.mak @@ -93,6 +93,10 @@ fate-copy-trac2211-avi: $(TARGET_SAMPLES)/h264/bbc2.sample.h264 fate-copy-trac2211-avi: CMD = transcode "h264 -r 14" $(TARGET_SAMPLES)/h264/bbc2.sample.h264\ avi "-c:a copy -c:v copy" +FATE_STREAMCOPY-$(call ALLYES, APNG_DEMUXER APNG_MUXER) += fate-copy-apng +fate-copy-apng: fate-lavf-apng +fate-copy-apng: CMD = transcode apng "$(TARGET_PATH)/tests/data/lavf/lavf.apng" apng "-c:v copy" + FATE_STREAMCOPY-$(call DEMMUX, OGG, OGG) += fate-limited_input_seek fate-limited_input_seek-copyts fate-limited_input_seek: $(TARGET_SAMPLES)/vorbis/moog_small.ogg fate-limited_input_seek: CMD = md5 -ss 1.5 -t 1.3 -i $(TARGET_SAMPLES)/vorbis/moog_small.ogg -c:a copy -fflags +bitexact -f ogg diff --git a/tests/fate/lavf-video.mak b/tests/fate/lavf-video.mak new file mode 100644 index 0000000000..7a70ac90ce --- /dev/null +++ b/tests/fate/lavf-video.mak @@ -0,0 +1,29 @@ +FATE_LAVF_VIDEO-$(call ENCDEC, APNG, APNG) += apng +FATE_LAVF_VIDEO-$(call ENCDEC, APNG, APNG) += apng.png +FATE_LAVF_VIDEO-$(call ENCDEC, FITS, FITS) += gray.fits +FATE_LAVF_VIDEO-$(call ENCDEC, FITS, FITS) += gray16be.fits +FATE_LAVF_VIDEO-$(call ENCDEC, FITS, FITS) += gbrp.fits +FATE_LAVF_VIDEO-$(call ENCDEC, FITS, FITS) += gbrap.fits +FATE_LAVF_VIDEO-$(call ENCDEC, FITS, FITS) += gbrp16be.fits +FATE_LAVF_VIDEO-$(call ENCDEC, FITS, FITS) += gbrap16be.fits +FATE_LAVF_VIDEO-$(call ENCDEC, GIF, FITS) += gif +FATE_LAVF_VIDEO-$(CONFIG_YUV4MPEGPIPE_MUXER) += y4m + +FATE_LAVF_VIDEO = $(FATE_LAVF_VIDEO-yes:%=fate-lavf-%) + +$(FATE_LAVF_VIDEO): CMD = lavf_video +$(FATE_LAVF_VIDEO): REF = $(SRC_PATH)/tests/ref/lavf/$(@:fate-lavf-%=%) +$(FATE_LAVF_VIDEO): $(VREF) + +fate-lavf-apng: CMD = lavf_video "-pix_fmt rgb24" +fate-lavf-apng.png: CMD = lavf_video "-pix_fmt rgb24" "-frames:v 1 -f apng" +fate-lavf-gray.fits: CMD = lavf_video "-pix_fmt gray" +fate-lavf-gray16be.fits: CMD = lavf_video "-pix_fmt gray16be" +fate-lavf-gbrp.fits: CMD = lavf_video "-pix_fmt gbrp" +fate-lavf-gbrap.fits: CMD = lavf_video "-pix_fmt gbrap" +fate-lavf-gbrp16be.fits: CMD = lavf_video "-pix_fmt gbrp16be" +fate-lavf-gbrap16be.fits: CMD = lavf_video "-pix_fmt gbrap16be" +fate-lavf-gif: CMD = lavf_video "-pix_fmt rgb24" + +FATE_AVCONV += $(FATE_LAVF_VIDEO) +fate-lavf-video fate-lavf: $(FATE_LAVF_VIDEO) diff --git a/tests/fate/seek.mak b/tests/fate/seek.mak index d466498723..a15c9e919a 100644 --- a/tests/fate/seek.mak +++ b/tests/fate/seek.mak @@ -200,7 +200,7 @@ FATE_SEEK_LAVF-$(call ENCDEC2, MPEG2VIDEO, MP2, MPEGTS) += ts FATE_SEEK_LAVF-$(call ENCDEC, PCM_U8, VOC) += voc FATE_SEEK_LAVF-$(call ENCDEC, PCM_S16LE, WAV) += wav FATE_SEEK_LAVF-$(call ENCDEC, MP2, WTV) += wtv -FATE_SEEK_LAVF-$(CONFIG_YUV4MPEGPIPE_MUXER) += yuv4mpeg +FATE_SEEK_LAVF-$(CONFIG_YUV4MPEGPIPE_MUXER) += y4m fate-seek-lavf-aiff: SRC = lavf/lavf.aiff fate-seek-lavf-al: SRC = lavf/lavf.al @@ -241,7 +241,7 @@ fate-seek-lavf-ts: SRC = lavf/lavf.ts fate-seek-lavf-voc: SRC = lavf/lavf.voc fate-seek-lavf-wav: SRC = lavf/lavf.wav fate-seek-lavf-wtv: SRC = lavf/lavf.wtv -fate-seek-lavf-yuv4mpeg: SRC = lavf/lavf.y4m +fate-seek-lavf-y4m: SRC = lavf/lavf.y4m FATE_SEEK += $(FATE_SEEK_LAVF-yes:%=fate-seek-lavf-%) diff --git a/tests/fate/avformat.mak b/tests/fate/segment.mak similarity index 86% rename from tests/fate/avformat.mak rename to tests/fate/segment.mak index 5dfd0fada4..ddefbed3bd 100644 --- a/tests/fate/avformat.mak +++ b/tests/fate/segment.mak @@ -1,17 +1,3 @@ -FATE_LAVF-$(call ENCDEC, APNG, APNG) += apng -FATE_LAVF-$(call ENCDEC, FITS, FITS) += fits -FATE_LAVF-$(call ENCDEC, GIF, IMAGE2) += gif -FATE_LAVF-$(CONFIG_YUV4MPEGPIPE_MUXER) += yuv4mpeg - -FATE_LAVF += $(FATE_LAVF-yes:%=fate-lavf-%) - -$(FATE_LAVF): $(AREF) $(VREF) -$(FATE_LAVF): CMD = lavftest -$(FATE_LAVF): CMP = - -FATE_AVCONV += $(FATE_LAVF) -fate-lavf: $(FATE_LAVF) - tests/data/mp4-to-ts.m3u8: TAG = GEN tests/data/mp4-to-ts.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \ diff --git a/tests/lavf-regression.sh b/tests/lavf-regression.sh deleted file mode 100755 index cad96c1927..0000000000 --- a/tests/lavf-regression.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# automatic regression test for libavformat -# -# -#set -x - -set -e - -. $(dirname $0)/regression-funcs.sh - -eval do_$test=y - -ENC_OPTS="$ENC_OPTS -metadata title=lavftest" - -# streamed images -# mjpeg -#file=${outfile}lavf.mjpeg -#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_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 -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 - -if [ -n "$do_yuv4mpeg" ] ; then -file=${outfile}lavf.y4m -do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10 -do_avconv_crc $file -i $target_path/$file -fi - -if [ -n "$do_fits" ] ; then -pix_fmts="gray gray16be gbrp gbrap gbrp16be gbrap16be" -for pix_fmt in $pix_fmts ; do - file=${outfile}${pix_fmt}lavf.fits - do_avconv $file $DEC_OPTS -f image2 -vcodec pgmyuv -i $raw_src $ENC_OPTS -pix_fmt $pix_fmt - do_avconv_crc $file $DEC_OPTS -i $target_path/$file -pix_fmt $pix_fmt -done -fi diff --git a/tests/ref/fate/copy-apng b/tests/ref/fate/copy-apng new file mode 100644 index 0000000000..3057573cee --- /dev/null +++ b/tests/ref/fate/copy-apng @@ -0,0 +1,32 @@ +a4c46fad7716ad094eb3c78b74ca0244 *tests/data/fate/copy-apng.apng +6209864 tests/data/fate/copy-apng.apng +#tb 0: 1/25 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 352x288 +#sar 0: 0/1 +0, 0, 0, 1, 304128, 0x348bb7a0 +0, 1, 1, 1, 304128, 0xaf9634d7 +0, 2, 2, 1, 304128, 0x81161fd3 +0, 3, 3, 1, 304128, 0x6839b383 +0, 4, 4, 1, 304128, 0xa55299b8 +0, 5, 5, 1, 304128, 0x66fb65b3 +0, 6, 6, 1, 304128, 0xe6be2a99 +0, 7, 7, 1, 304128, 0xfb33cb55 +0, 8, 8, 1, 304128, 0x51ab3d74 +0, 9, 9, 1, 304128, 0x67dc44ee +0, 10, 10, 1, 304128, 0x2eac3b50 +0, 11, 11, 1, 304128, 0xd4a4c377 +0, 12, 12, 1, 304128, 0x1eefe29c +0, 13, 13, 1, 304128, 0x3a84d488 +0, 14, 14, 1, 304128, 0x70d3b165 +0, 15, 15, 1, 304128, 0x578e58d4 +0, 16, 16, 1, 304128, 0x08bba87e +0, 17, 17, 1, 304128, 0xccc86c47 +0, 18, 18, 1, 304128, 0x70bf9aa2 +0, 19, 19, 1, 304128, 0x3fc3d5b5 +0, 20, 20, 1, 304128, 0xef52590b +0, 21, 21, 1, 304128, 0x4f7adde0 +0, 22, 22, 1, 304128, 0xc076ef54 +0, 23, 23, 1, 304128, 0xed2bba2d +0, 24, 24, 1, 304128, 0x6fce6367 diff --git a/tests/ref/lavf/apng b/tests/ref/lavf/apng index 8e9e5e6b73..95f1fbee6f 100644 --- a/tests/ref/lavf/apng +++ b/tests/ref/lavf/apng @@ -1,9 +1,3 @@ -a4c46fad7716ad094eb3c78b74ca0244 *./tests/data/lavf/lavf.apng -6209864 ./tests/data/lavf/lavf.apng -./tests/data/lavf/lavf.apng CRC=0x87b3c15f -a4c46fad7716ad094eb3c78b74ca0244 *./tests/data/lavf/lavf.copy.apng -6209864 ./tests/data/lavf/lavf.copy.apng -./tests/data/lavf/lavf.copy.apng CRC=0x87b3c15f -c5900fdd1b2fc30b985793f5226fd0c4 *./tests/data/lavf/lavf.png -248854 ./tests/data/lavf/lavf.png -./tests/data/lavf/lavf.png CRC=0xd8c7b7a1 +a4c46fad7716ad094eb3c78b74ca0244 *tests/data/lavf/lavf.apng +6209864 tests/data/lavf/lavf.apng +tests/data/lavf/lavf.apng CRC=0x87b3c15f diff --git a/tests/ref/lavf/apng.png b/tests/ref/lavf/apng.png new file mode 100644 index 0000000000..b42f5a8db8 --- /dev/null +++ b/tests/ref/lavf/apng.png @@ -0,0 +1,3 @@ +c5900fdd1b2fc30b985793f5226fd0c4 *tests/data/lavf/lavf.apng.png +248854 tests/data/lavf/lavf.apng.png +tests/data/lavf/lavf.apng.png CRC=0xd8c7b7a1 diff --git a/tests/ref/lavf/gbrap.fits b/tests/ref/lavf/gbrap.fits new file mode 100644 index 0000000000..57c71e179d --- /dev/null +++ b/tests/ref/lavf/gbrap.fits @@ -0,0 +1,3 @@ +28eb102547b82acca57ef097a6c639d8 *tests/data/lavf/lavf.gbrap.fits +10224000 tests/data/lavf/lavf.gbrap.fits +tests/data/lavf/lavf.gbrap.fits CRC=0x883af247 diff --git a/tests/ref/lavf/gbrap16be.fits b/tests/ref/lavf/gbrap16be.fits new file mode 100644 index 0000000000..030a6d90ed --- /dev/null +++ b/tests/ref/lavf/gbrap16be.fits @@ -0,0 +1,3 @@ +ff5fb24a67aeabd4f56088ca8b03d8b0 *tests/data/lavf/lavf.gbrap16be.fits +20376000 tests/data/lavf/lavf.gbrap16be.fits +tests/data/lavf/lavf.gbrap16be.fits CRC=0xa981271b diff --git a/tests/ref/lavf/gbrp.fits b/tests/ref/lavf/gbrp.fits new file mode 100644 index 0000000000..2b60ddb336 --- /dev/null +++ b/tests/ref/lavf/gbrp.fits @@ -0,0 +1,3 @@ +dae49b5f6eb58981ba91e3e108355717 *tests/data/lavf/lavf.gbrp.fits +7704000 tests/data/lavf/lavf.gbrp.fits +tests/data/lavf/lavf.gbrp.fits CRC=0x80745c5e diff --git a/tests/ref/lavf/gbrp16be.fits b/tests/ref/lavf/gbrp16be.fits new file mode 100644 index 0000000000..9aa9db60a2 --- /dev/null +++ b/tests/ref/lavf/gbrp16be.fits @@ -0,0 +1,3 @@ +693ea80c33eb9b348db27a0bc4a5cc8a *tests/data/lavf/lavf.gbrp16be.fits +15336000 tests/data/lavf/lavf.gbrp16be.fits +tests/data/lavf/lavf.gbrp16be.fits CRC=0x9573fb2b diff --git a/tests/ref/lavf/gif b/tests/ref/lavf/gif index d2e2f11e9d..fc94b9df3d 100644 --- a/tests/ref/lavf/gif +++ b/tests/ref/lavf/gif @@ -1,3 +1,3 @@ -e35f5ea283bbcb249818e0078ec72664 *./tests/data/lavf/lavf.gif -2011766 ./tests/data/lavf/lavf.gif -./tests/data/lavf/lavf.gif CRC=0x2429faff +e35f5ea283bbcb249818e0078ec72664 *tests/data/lavf/lavf.gif +2011766 tests/data/lavf/lavf.gif +tests/data/lavf/lavf.gif CRC=0x2429faff diff --git a/tests/ref/lavf/gray.fits b/tests/ref/lavf/gray.fits new file mode 100644 index 0000000000..ce6783b7c1 --- /dev/null +++ b/tests/ref/lavf/gray.fits @@ -0,0 +1,3 @@ +d76b46a5a336b56f73451817cdf3897c *tests/data/lavf/lavf.gray.fits +2664000 tests/data/lavf/lavf.gray.fits +tests/data/lavf/lavf.gray.fits CRC=0x7aa0122f diff --git a/tests/ref/lavf/gray16be.fits b/tests/ref/lavf/gray16be.fits new file mode 100644 index 0000000000..078d6c8678 --- /dev/null +++ b/tests/ref/lavf/gray16be.fits @@ -0,0 +1,3 @@ +15e85a553bbd07783f92377ed369308b *tests/data/lavf/lavf.gray16be.fits +5184000 tests/data/lavf/lavf.gray16be.fits +tests/data/lavf/lavf.gray16be.fits CRC=0x8b840cff diff --git a/tests/ref/lavf/y4m b/tests/ref/lavf/y4m new file mode 100644 index 0000000000..82c7087673 --- /dev/null +++ b/tests/ref/lavf/y4m @@ -0,0 +1,3 @@ +ec8178cb152f9cdbfd9cb724d977db2e *tests/data/lavf/lavf.y4m +3801808 tests/data/lavf/lavf.y4m +tests/data/lavf/lavf.y4m CRC=0x0a941f26 diff --git a/tests/ref/lavf/yuv4mpeg b/tests/ref/lavf/yuv4mpeg deleted file mode 100644 index 367b37621d..0000000000 --- a/tests/ref/lavf/yuv4mpeg +++ /dev/null @@ -1,3 +0,0 @@ -ec8178cb152f9cdbfd9cb724d977db2e *./tests/data/lavf/lavf.y4m -3801808 ./tests/data/lavf/lavf.y4m -./tests/data/lavf/lavf.y4m CRC=0x0a941f26 diff --git a/tests/ref/seek/lavf-yuv4mpeg b/tests/ref/seek/lavf-y4m similarity index 100% rename from tests/ref/seek/lavf-yuv4mpeg rename to tests/ref/seek/lavf-y4m diff --git a/tests/regression-funcs.sh b/tests/regression-funcs.sh deleted file mode 100755 index c88828c4a9..0000000000 --- a/tests/regression-funcs.sh +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/sh -# -# common regression functions for ffmpeg -# -# - -test="${1#regtest-}" -test_ref=$2 -raw_src_dir=$3 -target_exec=$4 -target_path=$5 -threads=${6:-1} -cpuflags=${8:-all} -target_samples=$9 - -datadir="./tests/data" -target_datadir="${target_path}/${datadir}" - -this="$test.$test_ref" -outfile="$datadir/$test_ref/" - - # various files -ffmpeg="$target_exec ${target_path}/ffmpeg${PROGSUF}" -raw_src="${target_path}/$raw_src_dir/%02d.pgm" -raw_dst="$datadir/$this.out.yuv" -pcm_src="$target_datadir/asynth1.sw" -pcm_src_1ch="$target_datadir/asynth-16000-1.wav" -pcm_ref_1ch="$datadir/$test_ref-16000-1.ref.wav" -crcfile="$datadir/$this.crc" -target_crcfile="$target_datadir/$this.crc" - -cleanfiles="$raw_dst $crcfile" -trap 'rm -f -- $cleanfiles' EXIT - -[ "${V-0}" -gt 0 ] && echov=echov || echov=: - -echov(){ - echo "$@" >&3 -} - -. $(dirname $0)/md5.sh - -AVCONV_OPTS="-nostdin -nostats -y -cpuflags $cpuflags" -COMMON_OPTS="-flags +bitexact -idct simple -sws_flags +accurate_rnd+bitexact -fflags +bitexact" -DEC_OPTS="$COMMON_OPTS -threads $threads" -ENC_OPTS="$COMMON_OPTS -threads $threads -dct fastint" - -run_avconv() -{ - $echov $ffmpeg $AVCONV_OPTS $* - $ffmpeg $AVCONV_OPTS $* -} - -do_avconv() -{ - f="$1" - shift - set -- $* ${target_path}/$f - run_avconv $* - do_md5sum $f - echo $(wc -c $f) -} - -do_avconv_nomd5() -{ - f="$1" - shift - set -- $* ${target_path}/$f - run_avconv $* - if [ $f = $raw_dst ] ; then - $tiny_psnr $f $raw_ref - elif [ $f = $pcm_dst ] ; then - $tiny_psnr $f $pcm_ref 2 - else - echo $(wc -c $f) - fi -} - -do_avconv_crc() -{ - f="$1" - shift - run_avconv $* -f crc "$target_crcfile" - echo "$f $(cat $crcfile)" -} ====================================================================== diff --cc tests/Makefile index 3d88a5ddd6,76e751c7fa..ae48db8586 --- a/tests/Makefile +++ b/tests/Makefile @@@ -170,9 -117,6 +170,10 @@@ include $(SRC_PATH)/tests/fate/qt.ma include $(SRC_PATH)/tests/fate/qtrle.mak include $(SRC_PATH)/tests/fate/real.mak include $(SRC_PATH)/tests/fate/screen.mak ++include $(SRC_PATH)/tests/fate/segment.mak +include $(SRC_PATH)/tests/fate/source.mak +include $(SRC_PATH)/tests/fate/speedhq.mak +include $(SRC_PATH)/tests/fate/subtitles.mak include $(SRC_PATH)/tests/fate/utvideo.mak include $(SRC_PATH)/tests/fate/video.mak include $(SRC_PATH)/tests/fate/voice.mak diff --cc tests/fate-run.sh index 7e6d2b1a7e,b613678a92..4c77b2dc1b --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@@ -340,27 -226,14 +340,23 @@@ lavf_image2pipe() 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(){ + lavf_video(){ t="${test#lavf-}" - ref=${base}/ref/lavf/$t - ${base}/lavf-regression.sh $t lavf tests/vsynth1 "$target_exec" "$target_path" "$threads" "$thread_type" "$cpuflags" "$target_samples" + outdir="tests/data/lavf" + file=${outdir}/lavf.$t - do_avconv $file $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src $ENC_OPTS -t 1 -qscale 10 $1 ++ do_avconv $file $DEC_OPTS -f image2 -c:v pgmyuv -i $raw_src "$ENC_OPTS -metadata title=lavftest" -t 1 -qscale 10 $1 $2 + do_avconv_crc $file $DEC_OPTS -i $target_path/$file $1 } +refcmp_metadata(){ + refcmp=$1 + pixfmt=$2 + fuzz=${3:-0.001} + ffmpeg $FLAGS $ENC_OPTS \ + -lavfi "testsrc2=size=300x200:rate=1:duration=5,format=${pixfmt},split[ref][tmp];[tmp]avgblur=4[enc];[enc][ref]${refcmp},metadata=print:file=-" \ + -f null /dev/null | awk -v ref=${ref} -v fuzz=${fuzz} -f ${base}/refcmp-metadata.awk - +} + pixfmt_conversion(){ conversion="${test#pixfmt-}" outdir="tests/data/pixfmt" diff --cc tests/fate/ffmpeg.mak index 0975af2612,0000000000..ac68cde3f9 mode 100644,000000..100644 --- a/tests/fate/ffmpeg.mak +++ b/tests/fate/ffmpeg.mak @@@ -1,148 -1,0 +1,152 @@@ +FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-6ch-extract-2 +fate-mapchan-6ch-extract-2: tests/data/asynth-22050-6.wav +fate-mapchan-6ch-extract-2: CMD = ffmpeg -i $(TARGET_PATH)/tests/data/asynth-22050-6.wav -map_channel 0.0.0 -fflags +bitexact -f wav md5: -map_channel 0.0.1 -fflags +bitexact -f wav md5: + +FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-6ch-extract-2-downmix-mono +fate-mapchan-6ch-extract-2-downmix-mono: tests/data/asynth-22050-6.wav +fate-mapchan-6ch-extract-2-downmix-mono: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-22050-6.wav -map_channel 0.0.1 -map_channel 0.0.0 -ac 1 -fflags +bitexact -f wav + +FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-silent-mono +fate-mapchan-silent-mono: tests/data/asynth-22050-1.wav +fate-mapchan-silent-mono: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-22050-1.wav -map_channel -1 -map_channel 0.0.0 -fflags +bitexact -f wav + +FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-2ch-extract-ch0-ch2-trailing +fate-mapchan-2ch-extract-ch0-ch2-trailing: tests/data/asynth-44100-2.wav +fate-mapchan-2ch-extract-ch0-ch2-trailing: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-44100-2.wav -map_channel 0.0.0 -map_channel 0.0.2? -fflags +bitexact -f wav + +FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-3ch-extract-ch0-ch2-trailing +fate-mapchan-3ch-extract-ch0-ch2-trailing: tests/data/asynth-44100-3.wav +fate-mapchan-3ch-extract-ch0-ch2-trailing: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-44100-3.wav -map_channel 0.0.0 -map_channel 0.0.2? -fflags +bitexact -f wav + +FATE_MAPCHAN = $(FATE_MAPCHAN-yes) + +FATE_FFMPEG += $(FATE_MAPCHAN) +fate-mapchan: $(FATE_MAPCHAN) + +FATE_FFMPEG-$(CONFIG_COLOR_FILTER) += fate-ffmpeg-filter_complex +fate-ffmpeg-filter_complex: CMD = framecrc -filter_complex color=d=1:r=5 -fflags +bitexact + +# Ticket 6603 +FATE_FFMPEG-$(call ALLYES, AEVALSRC_FILTER ASETNSAMPLES_FILTER AC3_FIXED_ENCODER) += fate-ffmpeg-filter_complex_audio +fate-ffmpeg-filter_complex_audio: CMD = framecrc -filter_complex "aevalsrc=0:d=0.1,asetnsamples=1537" -c ac3_fixed + +# Ticket 6375, use case of NoX +FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER PNG_DECODER ALAC_DECODER PCM_S16LE_ENCODER RAWVIDEO_ENCODER) += fate-ffmpeg-attached_pics +fate-ffmpeg-attached_pics: CMD = threads=2 framecrc -i $(TARGET_SAMPLES)/lossless-audio/inside.m4a -c:a pcm_s16le -max_muxing_queue_size 16 + +FATE_SAMPLES_FFMPEG-$(CONFIG_COLORKEY_FILTER) += fate-ffmpeg-filter_colorkey +fate-ffmpeg-filter_colorkey: tests/data/filtergraphs/colorkey +fate-ffmpeg-filter_colorkey: CMD = framecrc -idct simple -fflags +bitexact -flags +bitexact -sws_flags +accurate_rnd+bitexact -i $(TARGET_SAMPLES)/cavs/cavs.mpg -fflags +bitexact -flags +bitexact -sws_flags +accurate_rnd+bitexact -i $(TARGET_SAMPLES)/lena.pnm -an -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/colorkey -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -qscale 2 -frames:v 10 + +FATE_FFMPEG-$(CONFIG_COLOR_FILTER) += fate-ffmpeg-lavfi +fate-ffmpeg-lavfi: CMD = framecrc -lavfi color=d=1:r=5 -fflags +bitexact + +FATE_SAMPLES_FFMPEG-$(CONFIG_RAWVIDEO_DEMUXER) += fate-force_key_frames +fate-force_key_frames: tests/data/vsynth_lena.yuv +fate-force_key_frames: CMD = enc_dec \ + "rawvideo -s 352x288 -pix_fmt yuv420p" tests/data/vsynth_lena.yuv \ + avi "-c mpeg4 -g 240 -qscale 10 -force_key_frames 0.5,0:00:01.5" \ + framecrc "" "" "-skip_frame nokey" + +FATE_SAMPLES_FFMPEG-$(call ALLYES, VOBSUB_DEMUXER DVDSUB_DECODER AVFILTER OVERLAY_FILTER DVDSUB_ENCODER) += fate-sub2video +fate-sub2video: tests/data/vsynth_lena.yuv +fate-sub2video: CMD = framecrc \ + -f rawvideo -r 5 -s 352x288 -pix_fmt yuv420p -i $(TARGET_PATH)/tests/data/vsynth_lena.yuv \ + -ss 132 -i $(TARGET_SAMPLES)/sub/vobsub.idx \ + -filter_complex "sws_flags=+accurate_rnd+bitexact\;[0:0]scale=720:480[v]\;[v][1:0]overlay[v2]" \ + -map "[v2]" -c:v rawvideo -map 1:s -c:s dvdsub + +FATE_FFMPEG-$(call ALLYES, PCM_S16LE_DEMUXER PCM_S16LE_MUXER PCM_S16LE_DECODER PCM_S16LE_ENCODER) += fate-unknown_layout-pcm +fate-unknown_layout-pcm: $(AREF) +fate-unknown_layout-pcm: CMD = md5 \ + -guess_layout_max 0 -f s16le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) -f s16le + +FATE_FFMPEG-$(call ALLYES, PCM_S16LE_DEMUXER AC3_MUXER PCM_S16LE_DECODER AC3_FIXED_ENCODER) += fate-unknown_layout-ac3 +fate-unknown_layout-ac3: $(AREF) +fate-unknown_layout-ac3: CMD = md5 \ + -guess_layout_max 0 -f s16le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) \ + -f ac3 -flags +bitexact -c ac3_fixed + + +FATE_STREAMCOPY-$(call ALLYES, EAC3_DEMUXER MOV_MUXER) += fate-copy-trac3074 +fate-copy-trac3074: $(TARGET_SAMPLES)/eac3/csi_miami_stereo_128_spx.eac3 +fate-copy-trac3074: CMD = transcode eac3 $(TARGET_SAMPLES)/eac3/csi_miami_stereo_128_spx.eac3\ + mp4 "-codec copy -map 0" "-codec copy" + +FATE_STREAMCOPY-$(call ALLYES, MOV_DEMUXER MOV_MUXER) += fate-copy-trac236 +fate-copy-trac236: $(TARGET_SAMPLES)/mov/fcp_export8-236.mov +fate-copy-trac236: CMD = transcode mov $(TARGET_SAMPLES)/mov/fcp_export8-236.mov\ + mov "-codec copy -map 0" + +FATE_STREAMCOPY-$(call ALLYES, MPEGTS_DEMUXER MXF_MUXER PCM_S16LE_ENCODER) += fate-copy-trac4914 +fate-copy-trac4914: $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts +fate-copy-trac4914: CMD = transcode mpegts $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts\ + mxf "-c:a pcm_s16le -c:v copy" + +FATE_STREAMCOPY-$(call ALLYES, MPEGTS_DEMUXER AVI_MUXER) += fate-copy-trac4914-avi +fate-copy-trac4914-avi: $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts +fate-copy-trac4914-avi: CMD = transcode mpegts $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts\ + avi "-c:a copy -c:v copy" + +FATE_STREAMCOPY-$(call ALLYES, H264_DEMUXER AVI_MUXER) += fate-copy-trac2211-avi +fate-copy-trac2211-avi: $(TARGET_SAMPLES)/h264/bbc2.sample.h264 +fate-copy-trac2211-avi: CMD = transcode "h264 -r 14" $(TARGET_SAMPLES)/h264/bbc2.sample.h264\ + avi "-c:a copy -c:v copy" + ++FATE_STREAMCOPY-$(call ALLYES, APNG_DEMUXER APNG_MUXER) += fate-copy-apng ++fate-copy-apng: fate-lavf-apng ++fate-copy-apng: CMD = transcode apng "$(TARGET_PATH)/tests/data/lavf/lavf.apng" apng "-c:v copy" ++ +FATE_STREAMCOPY-$(call DEMMUX, OGG, OGG) += fate-limited_input_seek fate-limited_input_seek-copyts +fate-limited_input_seek: $(TARGET_SAMPLES)/vorbis/moog_small.ogg +fate-limited_input_seek: CMD = md5 -ss 1.5 -t 1.3 -i $(TARGET_SAMPLES)/vorbis/moog_small.ogg -c:a copy -fflags +bitexact -f ogg +fate-limited_input_seek-copyts: $(TARGET_SAMPLES)/vorbis/moog_small.ogg +fate-limited_input_seek-copyts: CMD = md5 -ss 1.5 -t 1.3 -i $(TARGET_SAMPLES)/vorbis/moog_small.ogg -c:a copy -copyts -fflags +bitexact -f ogg + +FATE_STREAMCOPY-$(call ALLYES, MOV_DEMUXER MOV_MUXER) += fate-copy-psp +fate-copy-psp: $(TARGET_SAMPLES)/h264/wwwq_cut.mp4 +fate-copy-psp: CMD = transcode "mov" $(TARGET_SAMPLES)/h264/wwwq_cut.mp4\ + psp "-c copy" "-codec copy" + +fate-streamcopy: $(FATE_STREAMCOPY-yes) + +FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER MATROSKA_MUXER) += fate-rgb24-mkv +fate-rgb24-mkv: $(TARGET_SAMPLES)/qtrle/aletrek-rle.mov +fate-rgb24-mkv: CMD = transcode "mov" $(TARGET_SAMPLES)/qtrle/aletrek-rle.mov\ + matroska "-c:v rawvideo -pix_fmt rgb24 -allow_raw_vfw 1 -frames:v 1" + +FATE_SAMPLES_FFMPEG-$(call ALLYES, AAC_DEMUXER MOV_MUXER) += fate-adtstoasc_ticket3715 +fate-adtstoasc_ticket3715: $(TARGET_SAMPLES)/aac/foo.aac +fate-adtstoasc_ticket3715: CMD = transcode "aac" $(TARGET_SAMPLES)/aac/foo.aac\ + mov "-c copy -bsf:a aac_adtstoasc" "-codec copy" + +FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER H264_MUXER H264_MP4TOANNEXB_BSF) += fate-h264_mp4toannexb_ticket2991 +fate-h264_mp4toannexb_ticket2991: $(TARGET_SAMPLES)/h264/wwwq_cut.mp4 +fate-h264_mp4toannexb_ticket2991: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/wwwq_cut.mp4\ + h264 "-c:v copy -bsf:v h264_mp4toannexb" "-codec copy" + +FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER H264_MUXER H264_MP4TOANNEXB_BSF) += fate-h264_mp4toannexb_ticket5927 fate-h264_mp4toannexb_ticket5927_2 +fate-h264_mp4toannexb_ticket5927: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/thezerotheorem-cut.mp4 \ + h264 "-c:v copy -bsf:v h264_mp4toannexb -an" "-c:v copy" +fate-h264_mp4toannexb_ticket5927_2: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/thezerotheorem-cut.mp4 \ + h264 "-c:v copy -an" "-c:v copy" + +FATE_SAMPLES_FFMPEG-$(call ALLYES, MPEGPS_DEMUXER AVI_MUXER REMOVE_EXTRADATA_BSF) += fate-ffmpeg-bsf-remove-k fate-ffmpeg-bsf-remove-r fate-ffmpeg-bsf-remove-e +fate-ffmpeg-bsf-remove-k: $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg +fate-ffmpeg-bsf-remove-k: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\ + avi "-vbsf remove_extra=k" "-codec copy" +fate-ffmpeg-bsf-remove-r: $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg +fate-ffmpeg-bsf-remove-r: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\ + avi "-vbsf remove_extra=keyframe" "-codec copy" +fate-ffmpeg-bsf-remove-e: $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg +fate-ffmpeg-bsf-remove-e: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\ + avi "-vbsf remove_extra=e" "-codec copy" + + +FATE_SAMPLES_FFMPEG-yes += $(FATE_STREAMCOPY-yes) + +FATE_TIME_BASE-$(call ALLYES, MPEGPS_DEMUXER MXF_MUXER) += fate-time_base +fate-time_base: $(TARGET_SAMPLES)/mpeg2/dvd_single_frame.vob +fate-time_base: CMD = md5 -i $(TARGET_SAMPLES)/mpeg2/dvd_single_frame.vob -an -sn -c:v copy -r 25 -time_base 1001:30000 -fflags +bitexact -f mxf + +FATE_SAMPLES_FFMPEG-yes += $(FATE_TIME_BASE-yes) diff --cc tests/fate/lavf-video.mak index 0000000000,d964e91404..7a70ac90ce mode 000000,100644..100644 --- a/tests/fate/lavf-video.mak +++ b/tests/fate/lavf-video.mak @@@ -1,0 -1,13 +1,29 @@@ -FATE_LAVF_VIDEO-$(call ENCDEC, GIF, IMAGE2) += gif ++FATE_LAVF_VIDEO-$(call ENCDEC, APNG, APNG) += apng ++FATE_LAVF_VIDEO-$(call ENCDEC, APNG, APNG) += apng.png ++FATE_LAVF_VIDEO-$(call ENCDEC, FITS, FITS) += gray.fits ++FATE_LAVF_VIDEO-$(call ENCDEC, FITS, FITS) += gray16be.fits ++FATE_LAVF_VIDEO-$(call ENCDEC, FITS, FITS) += gbrp.fits ++FATE_LAVF_VIDEO-$(call ENCDEC, FITS, FITS) += gbrap.fits ++FATE_LAVF_VIDEO-$(call ENCDEC, FITS, FITS) += gbrp16be.fits ++FATE_LAVF_VIDEO-$(call ENCDEC, FITS, FITS) += gbrap16be.fits ++FATE_LAVF_VIDEO-$(call ENCDEC, GIF, FITS) += gif + FATE_LAVF_VIDEO-$(CONFIG_YUV4MPEGPIPE_MUXER) += y4m + + FATE_LAVF_VIDEO = $(FATE_LAVF_VIDEO-yes:%=fate-lavf-%) + + $(FATE_LAVF_VIDEO): CMD = lavf_video + $(FATE_LAVF_VIDEO): REF = $(SRC_PATH)/tests/ref/lavf/$(@:fate-lavf-%=%) + $(FATE_LAVF_VIDEO): $(VREF) + ++fate-lavf-apng: CMD = lavf_video "-pix_fmt rgb24" ++fate-lavf-apng.png: CMD = lavf_video "-pix_fmt rgb24" "-frames:v 1 -f apng" ++fate-lavf-gray.fits: CMD = lavf_video "-pix_fmt gray" ++fate-lavf-gray16be.fits: CMD = lavf_video "-pix_fmt gray16be" ++fate-lavf-gbrp.fits: CMD = lavf_video "-pix_fmt gbrp" ++fate-lavf-gbrap.fits: CMD = lavf_video "-pix_fmt gbrap" ++fate-lavf-gbrp16be.fits: CMD = lavf_video "-pix_fmt gbrp16be" ++fate-lavf-gbrap16be.fits: CMD = lavf_video "-pix_fmt gbrap16be" + fate-lavf-gif: CMD = lavf_video "-pix_fmt rgb24" + + FATE_AVCONV += $(FATE_LAVF_VIDEO) + fate-lavf-video fate-lavf: $(FATE_LAVF_VIDEO) diff --cc tests/fate/seek.mak index d466498723,c7e56f811a..a15c9e919a --- a/tests/fate/seek.mak +++ b/tests/fate/seek.mak @@@ -199,8 -178,7 +199,8 @@@ FATE_SEEK_LAVF-$(call ENCDEC, TIFF FATE_SEEK_LAVF-$(call ENCDEC2, MPEG2VIDEO, MP2, MPEGTS) += ts FATE_SEEK_LAVF-$(call ENCDEC, PCM_U8, VOC) += voc FATE_SEEK_LAVF-$(call ENCDEC, PCM_S16LE, WAV) += wav +FATE_SEEK_LAVF-$(call ENCDEC, MP2, WTV) += wtv - FATE_SEEK_LAVF-$(CONFIG_YUV4MPEGPIPE_MUXER) += yuv4mpeg + FATE_SEEK_LAVF-$(CONFIG_YUV4MPEGPIPE_MUXER) += y4m fate-seek-lavf-aiff: SRC = lavf/lavf.aiff fate-seek-lavf-al: SRC = lavf/lavf.al @@@ -240,8 -214,7 +240,8 @@@ fate-seek-lavf-tiff: SRC = images/t fate-seek-lavf-ts: SRC = lavf/lavf.ts fate-seek-lavf-voc: SRC = lavf/lavf.voc fate-seek-lavf-wav: SRC = lavf/lavf.wav +fate-seek-lavf-wtv: SRC = lavf/lavf.wtv - fate-seek-lavf-yuv4mpeg: SRC = lavf/lavf.y4m + fate-seek-lavf-y4m: SRC = lavf/lavf.y4m FATE_SEEK += $(FATE_SEEK_LAVF-yes:%=fate-seek-lavf-%) diff --cc tests/fate/segment.mak index 5dfd0fada4,0000000000..ddefbed3bd mode 100644,000000..100644 --- a/tests/fate/segment.mak +++ b/tests/fate/segment.mak @@@ -1,69 -1,0 +1,55 @@@ - FATE_LAVF-$(call ENCDEC, APNG, APNG) += apng - FATE_LAVF-$(call ENCDEC, FITS, FITS) += fits - FATE_LAVF-$(call ENCDEC, GIF, IMAGE2) += gif - FATE_LAVF-$(CONFIG_YUV4MPEGPIPE_MUXER) += yuv4mpeg - - FATE_LAVF += $(FATE_LAVF-yes:%=fate-lavf-%) - - $(FATE_LAVF): $(AREF) $(VREF) - $(FATE_LAVF): CMD = lavftest - $(FATE_LAVF): CMP = - - FATE_AVCONV += $(FATE_LAVF) - fate-lavf: $(FATE_LAVF) - +tests/data/mp4-to-ts.m3u8: TAG = GEN +tests/data/mp4-to-ts.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data + $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \ + -i $(TARGET_SAMPLES)/h264/interlaced_crop.mp4 \ + -f ssegment -segment_time 1 -map 0 -flags +bitexact -codec copy \ + -segment_list $(TARGET_PATH)/$@ -y $(TARGET_PATH)/tests/data/mp4-to-ts-%03d.ts 2>/dev/null + +tests/data/adts-to-mkv.m3u8: TAG = GEN +tests/data/adts-to-mkv.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data + $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \ + -i $(TARGET_SAMPLES)/audiomatch/tones_afconvert_16000_mono_aac_lc.m4a \ + -f segment -segment_time 1 -map 0 -flags +bitexact -codec copy -segment_format_options live=1 \ + -segment_list $(TARGET_PATH)/$@ -y $(TARGET_PATH)/tests/data/adts-to-mkv-%03d.mkv 2>/dev/null + +tests/data/adts-to-mkv-header.mkv: TAG = GEN +tests/data/adts-to-mkv-header.mkv: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data + $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \ + -i $(TARGET_SAMPLES)/audiomatch/tones_afconvert_16000_mono_aac_lc.m4a \ + -f segment -segment_time 1 -map 0 -flags +bitexact -codec copy -segment_format_options live=1 \ + -segment_header_filename $(TARGET_PATH)/tests/data/adts-to-mkv-header.mkv \ + -y $(TARGET_PATH)/tests/data/adts-to-mkv-header-%03d.mkv 2>/dev/null + +tests/data/adts-to-mkv-header-%.mkv: tests/data/adts-to-mkv-header.mkv ; + +FATE_SEGMENT_PARTS += 000 001 002 + +tests/data/adts-to-mkv-cated-all.mkv: TAG = GEN +tests/data/adts-to-mkv-cated-all.mkv: tests/data/adts-to-mkv-header.mkv $(FATE_SEGMENT_PARTS:%=tests/data/adts-to-mkv-header-%.mkv) | tests/data + $(M)cat $^ >$@ + +tests/data/adts-to-mkv-cated-%.mkv: TAG = GEN +tests/data/adts-to-mkv-cated-%.mkv: tests/data/adts-to-mkv-header.mkv tests/data/adts-to-mkv-header-%.mkv | tests/data + $(M)cat $^ >$@ + +FATE_SEGMENT += fate-segment-mp4-to-ts +fate-segment-mp4-to-ts: tests/data/mp4-to-ts.m3u8 +fate-segment-mp4-to-ts: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/mp4-to-ts.m3u8 -c copy +FATE_SEGMENT-$(call ALLYES, MOV_DEMUXER H264_MP4TOANNEXB_BSF MPEGTS_MUXER MATROSKA_DEMUXER SEGMENT_MUXER HLS_DEMUXER) += fate-segment-mp4-to-ts + +FATE_SEGMENT += fate-segment-adts-to-mkv +fate-segment-adts-to-mkv: tests/data/adts-to-mkv.m3u8 +fate-segment-adts-to-mkv: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/adts-to-mkv.m3u8 -c copy +fate-segment-adts-to-mkv: REF = $(SRC_PATH)/tests/ref/fate/segment-adts-to-mkv-header-all +FATE_SEGMENT-$(call ALLYES, AAC_DEMUXER AAC_ADTSTOASC_BSF MATROSKA_MUXER MATROSKA_DEMUXER SEGMENT_MUXER HLS_DEMUXER) += fate-segment-adts-to-mkv + +FATE_SEGMENT_ALLPARTS = $(FATE_SEGMENT_PARTS) +FATE_SEGMENT_ALLPARTS += all +FATE_SEGMENT_SPLIT += $(FATE_SEGMENT_ALLPARTS:%=fate-segment-adts-to-mkv-header-%) +$(foreach N,$(FATE_SEGMENT_ALLPARTS),$(eval $(N:%=fate-segment-adts-to-mkv-header-%): tests/data/adts-to-mkv-cated-$(N).mkv)) +fate-segment-adts-to-mkv-header-%: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/$(@:fate-segment-adts-to-mkv-header-%=adts-to-mkv-cated-%).mkv -c copy +FATE_SEGMENT-$(call ALLYES, AAC_DEMUXER AAC_ADTSTOASC_BSF MATROSKA_MUXER MATROSKA_DEMUXER SEGMENT_MUXER HLS_DEMUXER) += $(FATE_SEGMENT_SPLIT) + +FATE_SAMPLES_FFMPEG += $(FATE_SEGMENT-yes) + +fate-segment: $(FATE_SEGMENT-yes) diff --cc tests/ref/fate/copy-apng index 0000000000,0000000000..3057573cee new file mode 100644 --- /dev/null +++ b/tests/ref/fate/copy-apng @@@ -1,0 -1,0 +1,32 @@@ ++a4c46fad7716ad094eb3c78b74ca0244 *tests/data/fate/copy-apng.apng ++6209864 tests/data/fate/copy-apng.apng ++#tb 0: 1/25 ++#media_type 0: video ++#codec_id 0: rawvideo ++#dimensions 0: 352x288 ++#sar 0: 0/1 ++0, 0, 0, 1, 304128, 0x348bb7a0 ++0, 1, 1, 1, 304128, 0xaf9634d7 ++0, 2, 2, 1, 304128, 0x81161fd3 ++0, 3, 3, 1, 304128, 0x6839b383 ++0, 4, 4, 1, 304128, 0xa55299b8 ++0, 5, 5, 1, 304128, 0x66fb65b3 ++0, 6, 6, 1, 304128, 0xe6be2a99 ++0, 7, 7, 1, 304128, 0xfb33cb55 ++0, 8, 8, 1, 304128, 0x51ab3d74 ++0, 9, 9, 1, 304128, 0x67dc44ee ++0, 10, 10, 1, 304128, 0x2eac3b50 ++0, 11, 11, 1, 304128, 0xd4a4c377 ++0, 12, 12, 1, 304128, 0x1eefe29c ++0, 13, 13, 1, 304128, 0x3a84d488 ++0, 14, 14, 1, 304128, 0x70d3b165 ++0, 15, 15, 1, 304128, 0x578e58d4 ++0, 16, 16, 1, 304128, 0x08bba87e ++0, 17, 17, 1, 304128, 0xccc86c47 ++0, 18, 18, 1, 304128, 0x70bf9aa2 ++0, 19, 19, 1, 304128, 0x3fc3d5b5 ++0, 20, 20, 1, 304128, 0xef52590b ++0, 21, 21, 1, 304128, 0x4f7adde0 ++0, 22, 22, 1, 304128, 0xc076ef54 ++0, 23, 23, 1, 304128, 0xed2bba2d ++0, 24, 24, 1, 304128, 0x6fce6367 diff --cc tests/ref/lavf/apng index 8e9e5e6b73,0000000000..95f1fbee6f mode 100644,000000..100644 --- a/tests/ref/lavf/apng +++ b/tests/ref/lavf/apng @@@ -1,9 -1,0 +1,3 @@@ - a4c46fad7716ad094eb3c78b74ca0244 *./tests/data/lavf/lavf.apng - 6209864 ./tests/data/lavf/lavf.apng - ./tests/data/lavf/lavf.apng CRC=0x87b3c15f - a4c46fad7716ad094eb3c78b74ca0244 *./tests/data/lavf/lavf.copy.apng - 6209864 ./tests/data/lavf/lavf.copy.apng - ./tests/data/lavf/lavf.copy.apng CRC=0x87b3c15f - c5900fdd1b2fc30b985793f5226fd0c4 *./tests/data/lavf/lavf.png - 248854 ./tests/data/lavf/lavf.png - ./tests/data/lavf/lavf.png CRC=0xd8c7b7a1 ++a4c46fad7716ad094eb3c78b74ca0244 *tests/data/lavf/lavf.apng ++6209864 tests/data/lavf/lavf.apng ++tests/data/lavf/lavf.apng CRC=0x87b3c15f diff --cc tests/ref/lavf/apng.png index 0000000000,0000000000..b42f5a8db8 new file mode 100644 --- /dev/null +++ b/tests/ref/lavf/apng.png @@@ -1,0 -1,0 +1,3 @@@ ++c5900fdd1b2fc30b985793f5226fd0c4 *tests/data/lavf/lavf.apng.png ++248854 tests/data/lavf/lavf.apng.png ++tests/data/lavf/lavf.apng.png CRC=0xd8c7b7a1 diff --cc tests/ref/lavf/gbrap.fits index 0000000000,0000000000..57c71e179d new file mode 100644 --- /dev/null +++ b/tests/ref/lavf/gbrap.fits @@@ -1,0 -1,0 +1,3 @@@ ++28eb102547b82acca57ef097a6c639d8 *tests/data/lavf/lavf.gbrap.fits ++10224000 tests/data/lavf/lavf.gbrap.fits ++tests/data/lavf/lavf.gbrap.fits CRC=0x883af247 diff --cc tests/ref/lavf/gbrap16be.fits index 0000000000,0000000000..030a6d90ed new file mode 100644 --- /dev/null +++ b/tests/ref/lavf/gbrap16be.fits @@@ -1,0 -1,0 +1,3 @@@ ++ff5fb24a67aeabd4f56088ca8b03d8b0 *tests/data/lavf/lavf.gbrap16be.fits ++20376000 tests/data/lavf/lavf.gbrap16be.fits ++tests/data/lavf/lavf.gbrap16be.fits CRC=0xa981271b diff --cc tests/ref/lavf/gbrp.fits index 0000000000,0000000000..2b60ddb336 new file mode 100644 --- /dev/null +++ b/tests/ref/lavf/gbrp.fits @@@ -1,0 -1,0 +1,3 @@@ ++dae49b5f6eb58981ba91e3e108355717 *tests/data/lavf/lavf.gbrp.fits ++7704000 tests/data/lavf/lavf.gbrp.fits ++tests/data/lavf/lavf.gbrp.fits CRC=0x80745c5e diff --cc tests/ref/lavf/gbrp16be.fits index 0000000000,0000000000..9aa9db60a2 new file mode 100644 --- /dev/null +++ b/tests/ref/lavf/gbrp16be.fits @@@ -1,0 -1,0 +1,3 @@@ ++693ea80c33eb9b348db27a0bc4a5cc8a *tests/data/lavf/lavf.gbrp16be.fits ++15336000 tests/data/lavf/lavf.gbrp16be.fits ++tests/data/lavf/lavf.gbrp16be.fits CRC=0x9573fb2b diff --cc tests/ref/lavf/gif index d2e2f11e9d,f28dc555f6..fc94b9df3d --- a/tests/ref/lavf/gif +++ b/tests/ref/lavf/gif @@@ -1,3 -1,3 +1,3 @@@ - e35f5ea283bbcb249818e0078ec72664 *./tests/data/lavf/lavf.gif - 2011766 ./tests/data/lavf/lavf.gif - ./tests/data/lavf/lavf.gif CRC=0x2429faff -e6089fd4ef3b9df44090ab3650bdd810 *tests/data/lavf/lavf.gif -2906401 tests/data/lavf/lavf.gif -tests/data/lavf/lavf.gif CRC=0xe5605ff6 ++e35f5ea283bbcb249818e0078ec72664 *tests/data/lavf/lavf.gif ++2011766 tests/data/lavf/lavf.gif ++tests/data/lavf/lavf.gif CRC=0x2429faff diff --cc tests/ref/lavf/gray.fits index 0000000000,0000000000..ce6783b7c1 new file mode 100644 --- /dev/null +++ b/tests/ref/lavf/gray.fits @@@ -1,0 -1,0 +1,3 @@@ ++d76b46a5a336b56f73451817cdf3897c *tests/data/lavf/lavf.gray.fits ++2664000 tests/data/lavf/lavf.gray.fits ++tests/data/lavf/lavf.gray.fits CRC=0x7aa0122f diff --cc tests/ref/lavf/gray16be.fits index 0000000000,0000000000..078d6c8678 new file mode 100644 --- /dev/null +++ b/tests/ref/lavf/gray16be.fits @@@ -1,0 -1,0 +1,3 @@@ ++15e85a553bbd07783f92377ed369308b *tests/data/lavf/lavf.gray16be.fits ++5184000 tests/data/lavf/lavf.gray16be.fits ++tests/data/lavf/lavf.gray16be.fits CRC=0x8b840cff _______________________________________________ ffmpeg-cvslog mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
