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
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"
--- /dev/null
+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)
--- /dev/null
-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)
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-$(CONFIG_YUV4MPEGPIPE_MUXER) += yuv4mpeg
+FATE_SEEK_LAVF-$(call ENCDEC, MP2, WTV) += wtv
+ FATE_SEEK_LAVF-$(CONFIG_YUV4MPEGPIPE_MUXER) += y4m
fate-seek-lavf-aiff: SRC = lavf/lavf.aiff
fate-seek-lavf-al: SRC = lavf/lavf.al
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-yuv4mpeg: SRC = lavf/lavf.y4m
+fate-seek-lavf-wtv: SRC = lavf/lavf.wtv
+ fate-seek-lavf-y4m: SRC = lavf/lavf.y4m
FATE_SEEK += $(FATE_SEEK_LAVF-yes:%=fate-seek-lavf-%)
--- /dev/null
- 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)
--- /dev/null
--- /dev/null
++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
--- /dev/null
- 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
--- /dev/null
--- /dev/null
++c5900fdd1b2fc30b985793f5226fd0c4 *tests/data/lavf/lavf.apng.png
++248854 tests/data/lavf/lavf.apng.png
++tests/data/lavf/lavf.apng.png CRC=0xd8c7b7a1
--- /dev/null
--- /dev/null
++28eb102547b82acca57ef097a6c639d8 *tests/data/lavf/lavf.gbrap.fits
++10224000 tests/data/lavf/lavf.gbrap.fits
++tests/data/lavf/lavf.gbrap.fits CRC=0x883af247
--- /dev/null
--- /dev/null
++ff5fb24a67aeabd4f56088ca8b03d8b0 *tests/data/lavf/lavf.gbrap16be.fits
++20376000 tests/data/lavf/lavf.gbrap16be.fits
++tests/data/lavf/lavf.gbrap16be.fits CRC=0xa981271b
--- /dev/null
--- /dev/null
++dae49b5f6eb58981ba91e3e108355717 *tests/data/lavf/lavf.gbrp.fits
++7704000 tests/data/lavf/lavf.gbrp.fits
++tests/data/lavf/lavf.gbrp.fits CRC=0x80745c5e
--- /dev/null
--- /dev/null
++693ea80c33eb9b348db27a0bc4a5cc8a *tests/data/lavf/lavf.gbrp16be.fits
++15336000 tests/data/lavf/lavf.gbrp16be.fits
++tests/data/lavf/lavf.gbrp16be.fits CRC=0x9573fb2b
- 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
--- /dev/null
--- /dev/null
++d76b46a5a336b56f73451817cdf3897c *tests/data/lavf/lavf.gray.fits
++2664000 tests/data/lavf/lavf.gray.fits
++tests/data/lavf/lavf.gray.fits CRC=0x7aa0122f
--- /dev/null
--- /dev/null
++15e85a553bbd07783f92377ed369308b *tests/data/lavf/lavf.gray16be.fits
++5184000 tests/data/lavf/lavf.gray16be.fits
++tests/data/lavf/lavf.gray16be.fits CRC=0x8b840cff