1cabdff1aSopenharmony_ciFATE_MAPCHAN-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV, MD5_PROTOCOL) += fate-mapchan-6ch-extract-2
2cabdff1aSopenharmony_cifate-mapchan-6ch-extract-2: tests/data/asynth-22050-6.wav
3cabdff1aSopenharmony_cifate-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:
4cabdff1aSopenharmony_ci
5cabdff1aSopenharmony_ciFATE_MAPCHAN-$(call FILTERDEMDECENCMUX, PAN ARESAMPLE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-mapchan-6ch-extract-2-downmix-mono
6cabdff1aSopenharmony_cifate-mapchan-6ch-extract-2-downmix-mono: tests/data/asynth-22050-6.wav
7cabdff1aSopenharmony_cifate-mapchan-6ch-extract-2-downmix-mono: CMD = md5 -auto_conversion_filters -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
8cabdff1aSopenharmony_ci
9cabdff1aSopenharmony_ciFATE_MAPCHAN-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-mapchan-silent-mono
10cabdff1aSopenharmony_cifate-mapchan-silent-mono: tests/data/asynth-22050-1.wav
11cabdff1aSopenharmony_cifate-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
12cabdff1aSopenharmony_ci
13cabdff1aSopenharmony_ciFATE_MAPCHAN-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-mapchan-2ch-extract-ch0-ch2-trailing
14cabdff1aSopenharmony_cifate-mapchan-2ch-extract-ch0-ch2-trailing: tests/data/asynth-44100-2.wav
15cabdff1aSopenharmony_cifate-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
16cabdff1aSopenharmony_ci
17cabdff1aSopenharmony_ciFATE_MAPCHAN-$(call FILTERDEMDECENCMUX, PAN, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-mapchan-3ch-extract-ch0-ch2-trailing
18cabdff1aSopenharmony_cifate-mapchan-3ch-extract-ch0-ch2-trailing: tests/data/asynth-44100-3.wav
19cabdff1aSopenharmony_cifate-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
20cabdff1aSopenharmony_ci
21cabdff1aSopenharmony_ciFATE_MAPCHAN = $(FATE_MAPCHAN-yes)
22cabdff1aSopenharmony_ci
23cabdff1aSopenharmony_ciFATE_FFMPEG += $(FATE_MAPCHAN)
24cabdff1aSopenharmony_cifate-mapchan: $(FATE_MAPCHAN)
25cabdff1aSopenharmony_ci
26cabdff1aSopenharmony_ciFATE_FFMPEG-$(call FILTERFRAMECRC, COLOR) += fate-ffmpeg-filter_complex
27cabdff1aSopenharmony_cifate-ffmpeg-filter_complex: CMD = framecrc -filter_complex color=d=1:r=5 -fflags +bitexact
28cabdff1aSopenharmony_ci
29cabdff1aSopenharmony_ci# Ticket 6603
30cabdff1aSopenharmony_ciFATE_FFMPEG-$(call FILTERFRAMECRC, AEVALSRC ASETNSAMPLES ARESAMPLE, AC3_FIXED_ENCODER) += fate-ffmpeg-filter_complex_audio
31cabdff1aSopenharmony_cifate-ffmpeg-filter_complex_audio: CMD = framecrc -auto_conversion_filters -filter_complex "aevalsrc=0:d=0.1,asetnsamples=1537" -c ac3_fixed
32cabdff1aSopenharmony_ci
33cabdff1aSopenharmony_ci# Ticket 6375, use case of NoX
34cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-$(call FRAMECRC, MOV, PNG ALAC, ARESAMPLE_FILTER) += fate-ffmpeg-attached_pics
35cabdff1aSopenharmony_cifate-ffmpeg-attached_pics: CMD = threads=2 framecrc -i $(TARGET_SAMPLES)/lossless-audio/inside.m4a -threads 1 -max_muxing_queue_size 16 -af aresample
36cabdff1aSopenharmony_ci
37cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-$(call FILTERDEMDEC, COLORKEY OVERLAY SCALE, MPEGPS IMAGE_PPM_PIPE, CAVS PPM, CAVSVIDEO_PARSER) += fate-ffmpeg-filter_colorkey
38cabdff1aSopenharmony_cifate-ffmpeg-filter_colorkey: tests/data/filtergraphs/colorkey
39cabdff1aSopenharmony_cifate-ffmpeg-filter_colorkey: CMD = framecrc -auto_conversion_filters -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
40cabdff1aSopenharmony_ci
41cabdff1aSopenharmony_ciFATE_FFMPEG-$(call FILTERFRAMECRC, COLOR) += fate-ffmpeg-lavfi
42cabdff1aSopenharmony_cifate-ffmpeg-lavfi: CMD = framecrc -lavfi color=d=1:r=5 -fflags +bitexact
43cabdff1aSopenharmony_ci
44cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-$(call ENCDEC2, MPEG4, RAWVIDEO, AVI, RAWVIDEO_DEMUXER FRAMECRC_MUXER) += fate-force_key_frames
45cabdff1aSopenharmony_cifate-force_key_frames: tests/data/vsynth_lena.yuv
46cabdff1aSopenharmony_cifate-force_key_frames: CMD = enc_dec \
47cabdff1aSopenharmony_ci  "rawvideo -s 352x288 -pix_fmt yuv420p" tests/data/vsynth_lena.yuv \
48cabdff1aSopenharmony_ci  avi "-c mpeg4 -g 240 -qscale 10 -force_key_frames 0.5,0:00:01.5" \
49cabdff1aSopenharmony_ci  framecrc "" "-skip_frame nokey"
50cabdff1aSopenharmony_ci
51cabdff1aSopenharmony_ci# Tests that the video is properly autorotated using the contained
52cabdff1aSopenharmony_ci# display matrix and that the generated file does not contain
53cabdff1aSopenharmony_ci# a display matrix any more.
54cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG_FFPROBE-$(call TRANSCODE, MPEG2VIDEO, MOV, H264_DECODER AAC_FIXED_DECODER AC3_FIXED_ENCODER EXTRACT_EXTRADATA_BSF) += fate-autorotate
55cabdff1aSopenharmony_cifate-autorotate: CMD = transcode "mov -c:a aac_fixed" $(TARGET_SAMPLES)/filter/sample-in-issue-505.mov mov "-c:v mpeg2video -c:a ac3_fixed" "-c copy -t 0.5" "-show_entries stream_side_data_list"
56cabdff1aSopenharmony_ci
57cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-$(call FILTERDEMDEC, OVERLAY SCALE, RAWVIDEO VOBSUB, RAWVIDEO DVDSUB, DVDSUB_ENCODER) += fate-sub2video
58cabdff1aSopenharmony_cifate-sub2video: tests/data/vsynth_lena.yuv
59cabdff1aSopenharmony_cifate-sub2video: CMD = framecrc -auto_conversion_filters \
60cabdff1aSopenharmony_ci  -f rawvideo -r 5 -s 352x288 -pix_fmt yuv420p -i $(TARGET_PATH)/tests/data/vsynth_lena.yuv \
61cabdff1aSopenharmony_ci  -ss 132 -i $(TARGET_SAMPLES)/sub/vobsub.idx \
62cabdff1aSopenharmony_ci  -filter_complex "sws_flags=+accurate_rnd+bitexact\;[0:0]scale=720:480[v]\;[v][1:0]overlay[v2]" \
63cabdff1aSopenharmony_ci  -map "[v2]" -c:v rawvideo -threads 1 -map 1:s -c:s dvdsub
64cabdff1aSopenharmony_ci
65cabdff1aSopenharmony_ci# Very basic sub2video example, decode and convert to AVFrame with sub2video.
66cabdff1aSopenharmony_ci# Attempt to not touch timestamps.
67cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-$(call FRAMECRC, VOBSUB, DVDSUB, SCALE_FILTER) += fate-sub2video_basic
68cabdff1aSopenharmony_cifate-sub2video_basic: CMD = framecrc -auto_conversion_filters \
69cabdff1aSopenharmony_ci  -i $(TARGET_SAMPLES)/sub/vobsub.idx \
70cabdff1aSopenharmony_ci  -vsync passthrough -copyts \
71cabdff1aSopenharmony_ci  -filter_complex "sws_flags=+accurate_rnd+bitexact\;[0:s:0]scale" \
72cabdff1aSopenharmony_ci  -c:v rawvideo -threads 1
73cabdff1aSopenharmony_ci
74cabdff1aSopenharmony_ci# Time-limited run with a sample that doesn't require seeking and
75cabdff1aSopenharmony_ci# contains samples within the initial period.
76cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-$(call FRAMECRC, SUP, PGSSUB, SCALE_FILTER RAWVIDEO_ENCODER) += fate-sub2video_time_limited
77cabdff1aSopenharmony_cifate-sub2video_time_limited: CMD = framecrc -auto_conversion_filters \
78cabdff1aSopenharmony_ci  -i $(TARGET_SAMPLES)/sub/pgs_sub.sup \
79cabdff1aSopenharmony_ci  -vsync passthrough -copyts \
80cabdff1aSopenharmony_ci  -t 15 \
81cabdff1aSopenharmony_ci  -filter_complex "sws_flags=+accurate_rnd+bitexact\;[0:s:0]scale" \
82cabdff1aSopenharmony_ci  -c:v rawvideo -threads 1
83cabdff1aSopenharmony_ci
84cabdff1aSopenharmony_ciFATE_FFMPEG-$(call ENCDEC, PCM_S16LE, PCM_S16LE) += fate-unknown_layout-pcm
85cabdff1aSopenharmony_cifate-unknown_layout-pcm: $(AREF)
86cabdff1aSopenharmony_cifate-unknown_layout-pcm: CMD = md5 \
87cabdff1aSopenharmony_ci  -guess_layout_max 0 -f s16le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) -f s16le
88cabdff1aSopenharmony_ci
89cabdff1aSopenharmony_ciFATE_FFMPEG-$(call FILTERDEMDECENCMUX, ARESAMPLE, PCM_S32LE, PCM_S32LE, AC3_FIXED, AC3) += fate-unknown_layout-ac3
90cabdff1aSopenharmony_cifate-unknown_layout-ac3: $(AREF)
91cabdff1aSopenharmony_cifate-unknown_layout-ac3: CMD = md5 -auto_conversion_filters \
92cabdff1aSopenharmony_ci  -guess_layout_max 0 -f s32le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) \
93cabdff1aSopenharmony_ci  -f ac3 -flags +bitexact -c ac3_fixed
94cabdff1aSopenharmony_ci
95cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-$(call FILTERDEMDEC, AMIX ARESAMPLE SINE, RAWVIDEO, \
96cabdff1aSopenharmony_ci                           PCM_S16LE RAWVIDEO, LAVFI_INDEV  \
97cabdff1aSopenharmony_ci                           MPEG4_ENCODER AC3_FIXED_ENCODER) \
98cabdff1aSopenharmony_ci                           += fate-shortest
99cabdff1aSopenharmony_cifate-shortest: tests/data/vsynth_lena.yuv
100cabdff1aSopenharmony_cifate-shortest: CMD = framecrc -auto_conversion_filters -f lavfi -i "sine=3000:d=10" -f lavfi -i "sine=1000:d=1" -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -idct simple -f rawvideo -s 352x288 -pix_fmt yuv420p -i $(TARGET_PATH)/tests/data/vsynth_lena.yuv -filter_complex "[0:a:0][1:a:0]amix=inputs=2[audio]" -map 2:v:0 -map "[audio]" -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -idct simple -dct fastint -qscale 10 -threads 1 -c:v mpeg4 -c:a ac3_fixed -shortest
101cabdff1aSopenharmony_ci
102cabdff1aSopenharmony_ci# Basic test for fix_sub_duration, which calculates duration based on the
103cabdff1aSopenharmony_ci# following subtitle's pts.
104cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-$(call FILTERDEMDECENCMUX, MOVIE, MPEGVIDEO, \
105cabdff1aSopenharmony_ci                           MPEG2VIDEO, SUBRIP, SRT, LAVFI_INDEV  \
106cabdff1aSopenharmony_ci                           MPEGVIDEO_PARSER CCAPTION_DECODER PIPE_PROTOCOL) \
107cabdff1aSopenharmony_ci                           += fate-ffmpeg-fix_sub_duration
108cabdff1aSopenharmony_cifate-ffmpeg-fix_sub_duration: CMD = fmtstdout srt -fix_sub_duration \
109cabdff1aSopenharmony_ci  -real_time 1 -f lavfi \
110cabdff1aSopenharmony_ci  -i "movie=$(TARGET_SAMPLES)/sub/Closedcaption_rollup.m2v[out0+subcc]"
111cabdff1aSopenharmony_ci
112cabdff1aSopenharmony_ciFATE_STREAMCOPY-$(call REMUX, MP4 MOV, EAC3_DEMUXER) += fate-copy-trac3074
113cabdff1aSopenharmony_cifate-copy-trac3074: CMD = transcode eac3 $(TARGET_SAMPLES)/eac3/csi_miami_stereo_128_spx.eac3\
114cabdff1aSopenharmony_ci                     mp4 "-codec copy -map 0" "-codec copy"
115cabdff1aSopenharmony_ci
116cabdff1aSopenharmony_ciFATE_STREAMCOPY-$(call TRANSCODE, RAWVIDEO DVVIDEO, MOV, PCM_S16LE_DECODER) += fate-copy-trac236
117cabdff1aSopenharmony_cifate-copy-trac236: CMD = transcode mov $(TARGET_SAMPLES)/mov/fcp_export8-236.mov\
118cabdff1aSopenharmony_ci                     mov "-codec copy -map 0"
119cabdff1aSopenharmony_ci
120cabdff1aSopenharmony_ciFATE_STREAMCOPY-$(call TRANSCODE, RAWVIDEO MPEG2VIDEO, MXF, MPEGTS_DEMUXER MPEGVIDEO_PARSER MPEGAUDIO_PARSER MP2_DECODER ARESAMPLE_FILTER PCM_S16LE_DECODER) += fate-copy-trac4914
121cabdff1aSopenharmony_cifate-copy-trac4914: CMD = transcode mpegts $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts\
122cabdff1aSopenharmony_ci                      mxf "-c:a pcm_s16le -af aresample -c:v copy"
123cabdff1aSopenharmony_ci
124cabdff1aSopenharmony_ciFATE_STREAMCOPY-$(call TRANSCODE, RAWVIDEO MPEG2VIDEO, AVI, MPEGTS_DEMUXER MPEGVIDEO_PARSER MPEGAUDIO_PARSER EXTRACT_EXTRADATA_BSF MP2_DECODER ARESAMPLE_FILTER) += fate-copy-trac4914-avi
125cabdff1aSopenharmony_cifate-copy-trac4914-avi: CMD = transcode mpegts $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts\
126cabdff1aSopenharmony_ci                          avi "-c:a copy -c:v copy" "-af aresample"
127cabdff1aSopenharmony_ci
128cabdff1aSopenharmony_ciFATE_STREAMCOPY-$(call TRANSCODE, RAWVIDEO H264, AVI, H264_DEMUXER H264_PARSER EXTRACT_EXTRADATA_BSF) += fate-copy-trac2211-avi
129cabdff1aSopenharmony_cifate-copy-trac2211-avi: CMD = transcode "h264 -r 14" $(TARGET_SAMPLES)/h264/bbc2.sample.h264\
130cabdff1aSopenharmony_ci                          avi "-c:v copy"
131cabdff1aSopenharmony_ci
132cabdff1aSopenharmony_ciifneq (,$(filter fate-lavf-apng,$(FATE_LAVF_VIDEO)))
133cabdff1aSopenharmony_ciFATE_STREAMCOPY-$(call TRANSCODE, RAWVIDEO APNG, APNG) += fate-copy-apng
134cabdff1aSopenharmony_ciendif
135cabdff1aSopenharmony_cifate-copy-apng: fate-lavf-apng
136cabdff1aSopenharmony_cifate-lavf-apng: KEEP_FILES ?= 1
137cabdff1aSopenharmony_cifate-copy-apng: CMD = transcode apng tests/data/lavf/lavf.apng apng "-c:v copy"
138cabdff1aSopenharmony_ci
139cabdff1aSopenharmony_ciFATE_STREAMCOPY-$(call DEMMUX, OGG, OGG) += fate-limited_input_seek fate-limited_input_seek-copyts
140cabdff1aSopenharmony_cifate-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
141cabdff1aSopenharmony_cifate-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
142cabdff1aSopenharmony_ci
143cabdff1aSopenharmony_ciFATE_STREAMCOPY-$(call REMUX, PSP MOV, H264_PARSER H264_DECODER) += fate-copy-psp
144cabdff1aSopenharmony_cifate-copy-psp: CMD = transcode "mov" $(TARGET_SAMPLES)/h264/wwwq_cut.mp4\
145cabdff1aSopenharmony_ci                      psp "-c copy" "-codec copy"
146cabdff1aSopenharmony_ci
147cabdff1aSopenharmony_ciFATE_STREAMCOPY-$(call FRAMEMD5, FLV, H264) += fate-ffmpeg-streamloop
148cabdff1aSopenharmony_cifate-ffmpeg-streamloop: CMD = framemd5 -stream_loop 2 -i $(TARGET_SAMPLES)/flv/streamloop.flv -c copy
149cabdff1aSopenharmony_ci
150cabdff1aSopenharmony_citests/data/audio_shorter_than_video.nut: TAG = GEN
151cabdff1aSopenharmony_citests/data/audio_shorter_than_video.nut: tests/data/vsynth_lena.yuv
152cabdff1aSopenharmony_citests/data/audio_shorter_than_video.nut: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
153cabdff1aSopenharmony_ci	$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< -nostdin \
154cabdff1aSopenharmony_ci        -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -idct simple -f rawvideo -s 352x288 -pix_fmt yuv420p -i $(TARGET_PATH)/tests/data/vsynth_lena.yuv \
155cabdff1aSopenharmony_ci        -f lavfi -i "sine=1000:d=1" \
156cabdff1aSopenharmony_ci        -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -idct simple -dct fastint -qscale 10 -c:v mpeg4 -threads 1 -c:a pcm_s16le -bitexact \
157cabdff1aSopenharmony_ci        -y $(TARGET_PATH)/tests/data/audio_shorter_than_video.nut 2>/dev/null
158cabdff1aSopenharmony_ci
159cabdff1aSopenharmony_ciFATE_STREAMCOPY-$(call FRAMEMD5, NUT, RAWVIDEO PCM_S16LE MPEG4,  \
160cabdff1aSopenharmony_ci                                 RAWVIDEO_DEMUXER LAVFI_INDEV    \
161cabdff1aSopenharmony_ci                                 MPEG4_ENCODER PCM_S16LE_ENCODER \
162cabdff1aSopenharmony_ci                                 SINE_FILTER ARESAMPLE_FILTER AMIX_FILTER \
163cabdff1aSopenharmony_ci                                 NUT_MUXER AC3_FIXED_ENCODER)    \
164cabdff1aSopenharmony_ci                               += fate-copy-shortest1 fate-copy-shortest2
165cabdff1aSopenharmony_cifate-copy-shortest1 fate-copy-shortest2: tests/data/audio_shorter_than_video.nut
166cabdff1aSopenharmony_cifate-copy-shortest1: CMD = framemd5 -auto_conversion_filters -fflags +bitexact -flags +bitexact -f lavfi -i "sine=3000:d=10" -f lavfi -i "sine=1000:d=1" -i $(TARGET_PATH)/tests/data/audio_shorter_than_video.nut -filter_complex "[0:a:0][1:a:0]amix=inputs=2[audio]" -map 2:v:0 -map "[audio]" -fflags +bitexact -flags +bitexact -c:v copy -c:a ac3_fixed -shortest
167cabdff1aSopenharmony_cifate-copy-shortest2: CMD = framemd5 -auto_conversion_filters -fflags +bitexact -flags +bitexact -f lavfi -i "sine=3000:d=10" -i $(TARGET_PATH)/tests/data/audio_shorter_than_video.nut -filter_complex "[0:a:0][1:a:0]amix=inputs=2[audio]" -map 1:v:0 -map "[audio]" -fflags +bitexact -flags +bitexact -c:v copy -c:a ac3_fixed -shortest
168cabdff1aSopenharmony_ci
169cabdff1aSopenharmony_cifate-streamcopy: $(FATE_STREAMCOPY-yes)
170cabdff1aSopenharmony_ci
171cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-$(call TRANSCODE, RAWVIDEO, MATROSKA, MOV_DEMUXER QTRLE_DECODER) += fate-rgb24-mkv
172cabdff1aSopenharmony_cifate-rgb24-mkv: CMD = transcode "mov" $(TARGET_SAMPLES)/qtrle/aletrek-rle.mov\
173cabdff1aSopenharmony_ci                      matroska "-c:v rawvideo -threads 1 -pix_fmt rgb24 -allow_raw_vfw 1 -frames:v 1"
174cabdff1aSopenharmony_ci
175cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-$(call REMUX, MOV, AAC_DEMUXER AAC_DECODER AAC_PARSER AAC_ADTSTOASC_BSF) += fate-adtstoasc_ticket3715
176cabdff1aSopenharmony_cifate-adtstoasc_ticket3715: CMD = transcode "aac" $(TARGET_SAMPLES)/aac/foo.aac\
177cabdff1aSopenharmony_ci                      mov "-c copy -bsf:a aac_adtstoasc" "-codec copy"
178cabdff1aSopenharmony_ci
179cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-$(call REMUX, H264, MOV_DEMUXER H264_MP4TOANNEXB_BSF H264_PARSER H264_DECODER EXTRACT_EXTRADATA_BSF) += fate-h264_mp4toannexb_ticket2991 fate-h264_mp4toannexb_ticket5927 fate-h264_mp4toannexb_ticket5927_2
180cabdff1aSopenharmony_cifate-h264_mp4toannexb_ticket2991: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/wwwq_cut.mp4\
181cabdff1aSopenharmony_ci                                  h264 "-c:v copy -bsf:v h264_mp4toannexb" "-codec copy"
182cabdff1aSopenharmony_cifate-h264_mp4toannexb_ticket5927:   CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/thezerotheorem-cut.mp4 \
183cabdff1aSopenharmony_ci                                          h264 "-c:v copy -bsf:v h264_mp4toannexb -an" "-c:v copy"
184cabdff1aSopenharmony_cifate-h264_mp4toannexb_ticket5927_2: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/thezerotheorem-cut.mp4 \
185cabdff1aSopenharmony_ci                                          h264 "-c:v copy -an" "-c:v copy"
186cabdff1aSopenharmony_ci
187cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-$(call TRANSCODE, MPEG4 MPEG2VIDEO, AVI, MPEGPS_DEMUXER MPEGVIDEO_DEMUXER MPEGVIDEO_PARSER EXTRACT_EXTRADATA_BSF REMOVE_EXTRADATA_BSF) += fate-ffmpeg-bsf-remove-k fate-ffmpeg-bsf-remove-r fate-ffmpeg-bsf-remove-e
188cabdff1aSopenharmony_cifate-ffmpeg-bsf-remove-k: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\
189cabdff1aSopenharmony_ci                          avi "-vbsf remove_extra=k" "-codec copy"
190cabdff1aSopenharmony_cifate-ffmpeg-bsf-remove-r: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\
191cabdff1aSopenharmony_ci                          avi "-vbsf remove_extra=keyframe" "-codec copy"
192cabdff1aSopenharmony_cifate-ffmpeg-bsf-remove-e: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\
193cabdff1aSopenharmony_ci                          avi "-vbsf remove_extra=e" "-codec copy"
194cabdff1aSopenharmony_ci
195cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-$(call DEMMUX, APNG, FRAMECRC, SETTS_BSF PIPE_PROTOCOL) += fate-ffmpeg-setts-bsf
196cabdff1aSopenharmony_cifate-ffmpeg-setts-bsf: CMD = framecrc -i $(TARGET_SAMPLES)/apng/clock.png -c:v copy -bsf:v "setts=duration=if(eq(NEXT_PTS\,NOPTS)\,PREV_OUTDURATION\,(NEXT_PTS-PTS)/2):ts=PTS/2" -fflags +bitexact
197cabdff1aSopenharmony_ci
198cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-yes += $(FATE_STREAMCOPY-yes)
199cabdff1aSopenharmony_ci
200cabdff1aSopenharmony_ciFATE_TIME_BASE-$(call PARSERDEMDEC, MPEGVIDEO, MPEGPS, MPEG2VIDEO, MPEGVIDEO_DEMUXER MXF_MUXER) += fate-time_base
201cabdff1aSopenharmony_cifate-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
202cabdff1aSopenharmony_ci
203cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG-yes += $(FATE_TIME_BASE-yes)
204