1cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC2, MSMPEG4V3,  MP2,       ASF)                += asf
2cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG4,      MP2,       AVI)                += avi
3cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC2, DVVIDEO,    PCM_S16LE, AVI)                += dv dv_pal dv_ntsc
4cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC,  FLV,                   FLV)                += flv
5cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC,  RAWVIDEO,              FILMSTRIP)          += flm
6cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG2VIDEO, PCM_S16LE, GXF)                += gxf gxf_pal gxf_ntsc
7cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG4,      MP2,       MATROSKA)           += mkv mkv_attachment
8cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG4,      PCM_ALAW,  MOV)                += mov mov_rtphint ismv
9cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC,  MPEG4,                 MOV)                += mp4
10cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG1VIDEO, MP2,       MPEG1SYSTEM MPEGPS) += mpg
11cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG2VIDEO, PCM_S16LE, MXF)                += mxf mxf_dv25 mxf_dvcpro50
12cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG2VIDEO, PCM_S16LE, MXF_D10 MXF)        += mxf_d10
13cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC2, DNXHD,      PCM_S16LE, MXF_OPATOM MXF)     += mxf_opatom mxf_opatom_audio
14cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG4,      MP2,       NUT)                += nut
15cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCMUX,  RV10 AC3_FIXED,        RM)                 += rm
16cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC2, MJPEG,      PCM_S16LE, SMJPEG)             += smjpeg
17cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC,  FLV,                   SWF)                += swf
18cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC2, MPEG2VIDEO, MP2,       MPEGTS)             += ts
19cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(call ENCDEC,  MP2,                   WTV)                += wtv
20cabdff1aSopenharmony_ci
21cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER_RESAMPLE := asf avi dv_pal dv_ntsc gxf_pal gxf_ntsc  \
22cabdff1aSopenharmony_ci                                mkv mkv_attachment mpg mxf nut rm ts wtv
23cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(!CONFIG_ARESAMPLE_FILTER) := $(filter-out $(FATE_LAVF_CONTAINER_RESAMPLE),$(FATE_LAVF_CONTAINER-yes))
24cabdff1aSopenharmony_ci
25cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER_SCALE := dv dv_pal dv_ntsc flm gxf gxf_pal gxf_ntsc \
26cabdff1aSopenharmony_ci                             mxf_dv25 mxf_dvcpro50 mxf_d10 mxf_opatom   \
27cabdff1aSopenharmony_ci                             smjpeg
28cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER-$(!CONFIG_SCALE_FILTER) := $(filter-out $(FATE_LAVF_CONTAINER_SCALE),$(FATE_LAVF_CONTAINER-yes))
29cabdff1aSopenharmony_ci
30cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER = $(FATE_LAVF_CONTAINER-yes:%=fate-lavf-%)
31cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER := $(if $(call ENCDEC2, RAWVIDEO PGMYUV, PCM_S16LE, CRC IMAGE2, PCM_S16LE_DEMUXER), $(FATE_LAVF_CONTAINER))
32cabdff1aSopenharmony_ci
33cabdff1aSopenharmony_ci$(FATE_LAVF_CONTAINER): CMD = lavf_container
34cabdff1aSopenharmony_ci$(FATE_LAVF_CONTAINER): REF = $(SRC_PATH)/tests/ref/lavf/$(@:fate-lavf-%=%)
35cabdff1aSopenharmony_ci$(FATE_LAVF_CONTAINER): $(AREF) $(VREF)
36cabdff1aSopenharmony_ci
37cabdff1aSopenharmony_cifate-lavf-asf: CMD = lavf_container "" "-c:a mp2 -ar 44100" "-r 25"
38cabdff1aSopenharmony_cifate-lavf-avi fate-lavf-nut: CMD = lavf_container "" "-c:a mp2 -ar 44100 -threads 1"
39cabdff1aSopenharmony_cifate-lavf-dv:  CMD = lavf_container "-ar 48000 -channel_layout stereo" "-r 25 -s pal"
40cabdff1aSopenharmony_cifate-lavf-dv_pal:  CMD = lavf_container_timecode_nodrop "-ar 48000 -r 25 -s pal -ac 2 -f dv"
41cabdff1aSopenharmony_cifate-lavf-dv_ntsc:  CMD = lavf_container_timecode_drop "-ar 48000 -pix_fmt yuv411p -s ntsc -ac 2 -f dv"
42cabdff1aSopenharmony_cifate-lavf-flv fate-lavf-swf: CMD = lavf_container "" "-an"
43cabdff1aSopenharmony_cifate-lavf-flm: CMD = lavf_container "" "-pix_fmt rgba"
44cabdff1aSopenharmony_cifate-lavf-gxf: CMD = lavf_container "-ar 48000" "-r 25 -s pal -ac 1 -threads 1"
45cabdff1aSopenharmony_cifate-lavf-gxf_pal: CMD = lavf_container_timecode_nodrop "-ar 48000 -r 25 -s pal -ac 1 -threads 1 -f gxf"
46cabdff1aSopenharmony_cifate-lavf-gxf_ntsc: CMD = lavf_container_timecode_drop "-ar 48000 -s ntsc -ac 1 -threads 1 -f gxf"
47cabdff1aSopenharmony_cifate-lavf-ismv: CMD = lavf_container_timecode "-an -write_tmcd 1 -c:v mpeg4 -threads 1"
48cabdff1aSopenharmony_cifate-lavf-mkv: CMD = lavf_container "" "-c:a mp2 -c:v mpeg4 -ar 44100 -threads 1"
49cabdff1aSopenharmony_cifate-lavf-mkv_attachment: CMD = lavf_container_attach "-c:a mp2 -c:v mpeg4 -threads 1 -f matroska"
50cabdff1aSopenharmony_cifate-lavf-mov: CMD = lavf_container_timecode "-movflags +faststart -c:a pcm_alaw -c:v mpeg4 -threads 1"
51cabdff1aSopenharmony_cifate-lavf-mov_rtphint: CMD = lavf_container "" "-movflags +rtphint -c:a pcm_alaw -c:v mpeg4 -threads 1 -f mov"
52cabdff1aSopenharmony_cifate-lavf-mp4: CMD = lavf_container_timecode "-c:v mpeg4 -an -threads 1"
53cabdff1aSopenharmony_cifate-lavf-mpg: CMD = lavf_container_timecode "-ar 44100 -threads 1"
54cabdff1aSopenharmony_cifate-lavf-mxf: CMD = lavf_container_timecode "-ar 48000 -bf 2 -threads 1"
55cabdff1aSopenharmony_cifate-lavf-mxf_d10: CMD = lavf_container "-ar 48000 -ac 2" "-r 25 -vf scale=720:576,pad=720:608:0:32 -c:v mpeg2video -g 0 -flags +ildct+low_delay -dc 10 -non_linear_quant 1 -intra_vlc 1 -qscale 1 -ps 1 -qmin 1 -rc_max_vbv_use 1 -rc_min_vbv_use 1 -pix_fmt yuv422p -minrate 30000k -maxrate 30000k -b 30000k -bufsize 1200000 -top 1 -rc_init_occupancy 1200000 -qmax 12 -f mxf_d10"
56cabdff1aSopenharmony_cifate-lavf-mxf_dv25: CMD = lavf_container "-ar 48000 -ac 2" "-r 25 -vf scale=720:576,setdar=4/3 -c:v dvvideo -pix_fmt yuv420p -b 25000k -top 0 -f mxf"
57cabdff1aSopenharmony_cifate-lavf-mxf_dvcpro50: CMD = lavf_container "-ar 48000 -ac 2" "-r 25 -vf scale=720:576,setdar=16/9 -c:v dvvideo -pix_fmt yuv422p -b 50000k -top 0 -f mxf"
58cabdff1aSopenharmony_cifate-lavf-mxf_opatom: CMD = lavf_container "" "-s 1920x1080 -c:v dnxhd -pix_fmt yuv422p -vb 36M -f mxf_opatom -map 0"
59cabdff1aSopenharmony_cifate-lavf-mxf_opatom_audio: CMD = lavf_container "-ar 48000 -ac 1" "-f mxf_opatom -mxf_audio_edit_rate 25 -map 1"
60cabdff1aSopenharmony_cifate-lavf-smjpeg:  CMD = lavf_container "" "-f smjpeg"
61cabdff1aSopenharmony_ci# The RealMedia muxer is broken.
62cabdff1aSopenharmony_cifate-lavf-rm:  CMD = lavf_container "" "-c:a ac3_fixed" disable_crc
63cabdff1aSopenharmony_cifate-lavf-ts:  CMD = lavf_container "" "-mpegts_transport_stream_id 42 -ar 44100 -threads 1"
64cabdff1aSopenharmony_cifate-lavf-wtv: CMD = lavf_container "" "-c:a mp2 -threads 1"
65cabdff1aSopenharmony_ci
66cabdff1aSopenharmony_ciFATE_AVCONV += $(FATE_LAVF_CONTAINER)
67cabdff1aSopenharmony_cifate-lavf-container fate-lavf: $(FATE_LAVF_CONTAINER)
68cabdff1aSopenharmony_ci
69cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_PARSER MOV_MUXER)      += av1.mp4
70cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_PARSER MATROSKA_MUXER) += av1.mkv
71cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER_FATE-$(call ALLYES, H264_DEMUXER H264_PARSER MOV_MUXER)    += h264.mp4
72cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER   OGG_MUXER)          += vp3.ogg
73cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER   OGV_MUXER)          += vp8.ogg
74cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER_FATE-$(call ALLYES, MOV_DEMUXER        LATM_MUXER)         += latm
75cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER_FATE-$(call ALLYES, MP3_DEMUXER        MP3_MUXER)          += mp3
76cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER_FATE-$(call ALLYES, MOV_DEMUXER        MOV_MUXER)          += qtrle_mace6.mov
77cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER_FATE-$(call ALLYES, AVI_DEMUXER        AVI_MUXER)          += cram.avi
78cabdff1aSopenharmony_ci
79cabdff1aSopenharmony_ciFATE_LAVF_CONTAINER_FATE = $(FATE_LAVF_CONTAINER_FATE-yes:%=fate-lavf-fate-%)
80cabdff1aSopenharmony_ci
81cabdff1aSopenharmony_ci$(FATE_LAVF_CONTAINER_FATE): REF = $(SRC_PATH)/tests/ref/lavf-fate/$(@:fate-lavf-fate-%=%)
82cabdff1aSopenharmony_ci$(FATE_LAVF_CONTAINER_FATE): $(AREF) $(VREF)
83cabdff1aSopenharmony_ci
84cabdff1aSopenharmony_cifate-lavf-fate-av1.mp4: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "" "-c:v copy"
85cabdff1aSopenharmony_cifate-lavf-fate-av1.mkv: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "" "-c:v copy"
86cabdff1aSopenharmony_cifate-lavf-fate-h264.mp4: CMD = lavf_container_fate "h264/intra_refresh.h264" "" "-c:v copy"
87cabdff1aSopenharmony_cifate-lavf-fate-vp3.ogg: CMD = lavf_container_fate "vp3/coeff_level64.mkv" "-idct auto"
88cabdff1aSopenharmony_cifate-lavf-fate-vp8.ogg: CMD = lavf_container_fate "vp8/RRSF49-short.webm" "" "-acodec copy"
89cabdff1aSopenharmony_cifate-lavf-fate-latm: CMD = lavf_container_fate "aac/al04_44.mp4" "" "-acodec copy"
90cabdff1aSopenharmony_cifate-lavf-fate-mp3: CMD = lavf_container_fate "mp3-conformance/he_32khz.bit" "" "-acodec copy"
91cabdff1aSopenharmony_cifate-lavf-fate-qtrle_mace6.mov: CMD = lavf_container_fate "qtrle/Animation-16Greys.mov" "-idct auto"
92cabdff1aSopenharmony_cifate-lavf-fate-cram.avi: CMD = lavf_container_fate "cram/toon.avi" "-idct auto"
93cabdff1aSopenharmony_ci
94cabdff1aSopenharmony_ciFATE_SAMPLES_FFMPEG += $(FATE_LAVF_CONTAINER_FATE)
95cabdff1aSopenharmony_cifate-lavf-fate fate-lavf: $(FATE_LAVF_CONTAINER_FATE)
96