[FFmpeg-cvslog] Merge commit 'f8df5e2f31a5ba7b30a0e1caaaf5a03c753b3f9b'

James Almer git at videolan.org
Thu Mar 14 20:44:26 EET 2019


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | 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 <jamrial at gmail.com>

> 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




More information about the ffmpeg-cvslog mailing list