Imported Upstream version 6.1
[platform/upstream/ffmpeg.git] / tests / fate / cbs.mak
1 # Read/write tests: By default, this uses the codec metadata filters - with no
2 # arguments, it decomposes the stream fully and then recomposes it
3 # without making any changes.
4
5 fate-cbs: fate-cbs-av1 fate-cbs-h264 fate-cbs-hevc fate-cbs-mpeg2 fate-cbs-vp9 fate-cbs-vvc
6
7 FATE_CBS_DEPS = $(call ALLYES, $(1)_DEMUXER $(2)_PARSER $(3)_METADATA_BSF $(4)_DECODER $(5)_MUXER)
8 FATE_CBS_NO_DEC_DEPS = $(call ALLYES, $(1)_DEMUXER $(2)_PARSER $(3)_METADATA_BSF $(4)_MUXER)
9
10 define FATE_CBS_TEST
11 # (codec, test_name, sample_file, output_format)
12 FATE_CBS_$(1) += fate-cbs-$(1)-$(2)
13 fate-cbs-$(1)-$(2): CMD = md5 -c:v $(3) -i $(TARGET_SAMPLES)/$(4) -c:v copy -y -bsf:v $(1)_metadata -f $(5)
14 endef
15
16 define FATE_CBS_NO_DEC_TEST
17 # (codec, test_name, sample_file, output_format)
18 FATE_CBS_$(1) += fate-cbs-$(1)-$(2)
19 fate-cbs-$(1)-$(2): CMD = md5 -i $(TARGET_SAMPLES)/$(3) -c:v copy -y -bsf:v $(1)_metadata -f $(4)
20 endef
21
22 define FATE_CBS_DISCARD_TEST
23 # (codec, discard_type, sample_file, output_format)
24 FATE_CBS_$(1)_DISCARD += fate-cbs-$(1)-discard-$(2)
25 fate-cbs-$(1)-discard-$(2): CMD = md5 -i $(TARGET_SAMPLES)/$(3) -c:v copy -y -bsf:v filter_units=discard=$(2) -f $(4)
26 endef
27
28 # AV1 read/write
29
30 FATE_CBS_AV1_CONFORMANCE_SAMPLES = \
31     av1-1-b8-02-allintra.ivf       \
32     av1-1-b8-03-sizedown.ivf       \
33     av1-1-b8-03-sizeup.ivf         \
34     av1-1-b8-04-cdfupdate.ivf      \
35     av1-1-b8-05-mv.ivf             \
36     av1-1-b8-06-mfmv.ivf           \
37     av1-1-b8-22-svc-L1T2.ivf       \
38     av1-1-b8-22-svc-L2T1.ivf       \
39     av1-1-b8-22-svc-L2T2.ivf       \
40     av1-1-b8-23-film_grain-50.ivf  \
41     av1-1-b10-23-film_grain-50.ivf
42
43 FATE_CBS_AV1_SAMPLES =              \
44     decode_model.ivf                \
45     frames_refs_short_signaling.ivf \
46     non_uniform_tiling.ivf          \
47     seq_hdr_op_param_info.ivf       \
48     switch_frame.ivf
49
50 $(foreach N,$(FATE_CBS_AV1_CONFORMANCE_SAMPLES),$(eval $(call FATE_CBS_TEST,av1,$(basename $(N)),av1,av1-test-vectors/$(N),rawvideo)))
51 $(foreach N,$(FATE_CBS_AV1_SAMPLES),$(eval $(call FATE_CBS_TEST,av1,$(basename $(N)),av1,av1/$(N),rawvideo)))
52
53 FATE_CBS_AV1-$(call FATE_CBS_DEPS, IVF, AV1, AV1, AV1, RAWVIDEO) = $(FATE_CBS_av1)
54 FATE_SAMPLES_AVCONV += $(FATE_CBS_AV1-yes)
55 fate-cbs-av1: $(FATE_CBS_AV1-yes)
56
57 # H.264 read/write
58
59 FATE_CBS_H264_CONFORMANCE_SAMPLES = \
60     SVA_Base_B.264        \
61     BASQP1_Sony_C.jsv     \
62     FM1_BT_B.h264         \
63     CVFC1_Sony_C.jsv      \
64     AUD_MW_E.264          \
65     CVBS3_Sony_C.jsv      \
66     MR1_BT_A.h264         \
67     CVWP1_TOSHIBA_E.264   \
68     CVNLFI1_Sony_C.jsv    \
69     Sharp_MP_PAFF_1r2.jvt \
70     CVMANL1_TOSHIBA_B.264 \
71     sp1_bt_a.h264         \
72     CVSE2_Sony_B.jsv      \
73     CABACI3_Sony_B.jsv
74
75 FATE_CBS_H264_SAMPLES = \
76     sei-1.h264
77
78 $(foreach N,$(FATE_CBS_H264_CONFORMANCE_SAMPLES),$(eval $(call FATE_CBS_TEST,h264,$(basename $(N)),h264,h264-conformance/$(N),h264)))
79 $(foreach N,$(FATE_CBS_H264_SAMPLES),$(eval $(call FATE_CBS_TEST,h264,$(basename $(N)),h264,h264/$(N),h264)))
80
81 FATE_CBS_H264-$(call FATE_CBS_DEPS, H264, H264, H264, H264, H264) = $(FATE_CBS_h264)
82
83 FATE_CBS_DISCARD_TYPES = \
84     nonref   \
85     bidir    \
86     nonintra \
87     nonkey
88
89 $(foreach N,$(FATE_CBS_DISCARD_TYPES),$(eval $(call FATE_CBS_DISCARD_TEST,h264,$(N),h264/interlaced_crop.mp4,h264)))
90
91 FATE_CBS_H264-$(call ALLYES, MOV_DEMUXER, H264_MUXER, H264_PARSER, FILTER_UNITS_BSF) += $(FATE_CBS_h264_DISCARD)
92
93
94 FATE_H264_REDUNDANT_PPS-$(call REMUX, H264, MOV_DEMUXER H264_REDUNDANT_PPS_BSF   \
95                                       H264_DECODER H264_PARSER RAWVIDEO_ENCODER) \
96                                       += fate-h264_redundant_pps-mov
97 fate-h264_redundant_pps-mov: CMD = transcode \
98         mov $(TARGET_SAMPLES)/mov/frag_overlap.mp4 h264 \
99         "-map 0:v -c copy -bsf h264_redundant_pps"
100
101 # This file has changing pic_init_qp_minus26.
102 FATE_H264_REDUNDANT_PPS-$(call REMUX, H264, H264_PARSER H264_REDUNDANT_PPS_BSF \
103                                       H264_DECODER RAWVIDEO_ENCODER) \
104                                       += fate-h264_redundant_pps-annexb
105 fate-h264_redundant_pps-annexb: CMD = transcode \
106         h264 $(TARGET_SAMPLES)/h264-conformance/CABA3_TOSHIBA_E.264 \
107         h264 "-map 0:v -c copy -bsf h264_redundant_pps"
108
109 # These two tests test that new extradata in packet side data is properly
110 # modified by h264_redundant_pps. nut is used as destination container
111 # because it can store extradata updates (in its experimental mode);
112 # setting -syncpoints none is a hack to use nut version 4.
113 FATE_H264_REDUNDANT_PPS-$(call REMUX, NUT, MOV_DEMUXER H264_REDUNDANT_PPS_BSF H264_DECODER) \
114                         += fate-h264_redundant_pps-side_data
115 fate-h264_redundant_pps-side_data: CMD = transcode \
116         mov $(TARGET_SAMPLES)/h264/thezerotheorem-cut.mp4 nut \
117         "-map 0:v -c copy -bsf h264_redundant_pps -syncpoints none -strict experimental" "-c copy"
118
119 FATE_H264_REDUNDANT_PPS-$(call REMUX, NUT, MOV_DEMUXER H264_REDUNDANT_PPS_BSF \
120                                       H264_DECODER SCALE_FILTER RAWVIDEO_ENCODER) \
121                                       += fate-h264_redundant_pps-side_data2
122 fate-h264_redundant_pps-side_data2: CMD = transcode \
123         mov $(TARGET_SAMPLES)/h264/extradata-reload-multi-stsd.mov nut \
124         "-map 0:v -c copy -bsf h264_redundant_pps -syncpoints none -strict experimental"
125
126 fate-h264_redundant_pps: $(FATE_H264_REDUNDANT_PPS-yes)
127
128
129 FATE_SAMPLES_FFMPEG += $(FATE_CBS_H264-yes) $(FATE_H264_REDUNDANT_PPS-yes)
130 fate-cbs-h264: $(FATE_CBS_H264-yes) $(FATE_H264_REDUNDANT_PPS-yes)
131
132 # H.265 read/write
133
134 FATE_CBS_HEVC_SAMPLES =       \
135     STRUCT_A_Samsung_5.bit    \
136     WP_A_Toshiba_3.bit        \
137     SLIST_A_Sony_4.bit        \
138     SLIST_D_Sony_9.bit        \
139     CAINIT_E_SHARP_3.bit      \
140     CAINIT_H_SHARP_3.bit      \
141     TILES_B_Cisco_1.bit       \
142     WPP_A_ericsson_MAIN_2.bit \
143     WPP_F_ericsson_MAIN_2.bit \
144     ipcm_E_NEC_2.bit          \
145     NUT_A_ericsson_5.bit      \
146     PICSIZE_A_Bossen_1.bit    \
147     PICSIZE_B_Bossen_1.bit    \
148     RPS_A_docomo_4.bit        \
149     RPS_E_qualcomm_5.bit      \
150     LTRPSPS_A_Qualcomm_1.bit  \
151     RPLM_A_qualcomm_4.bit     \
152     CONFWIN_A_Sony_1.bit      \
153     HRD_A_Fujitsu_2.bit       \
154     SLPPLP_A_VIDYO_2.bit
155
156 $(foreach N,$(FATE_CBS_HEVC_SAMPLES),$(eval $(call FATE_CBS_TEST,hevc,$(basename $(N)),hevc,hevc-conformance/$(N),hevc)))
157
158 FATE_CBS_HEVC-$(call FATE_CBS_DEPS, HEVC, HEVC, HEVC, HEVC, HEVC) = $(FATE_CBS_hevc)
159
160 $(foreach N,$(FATE_CBS_DISCARD_TYPES),$(eval $(call FATE_CBS_DISCARD_TEST,hevc,$(N),hevc-conformance/WPP_A_ericsson_MAIN10_2.bit,hevc)))
161
162 FATE_CBS_HEVC-$(call ALLYES, HEVC_DEMUXER, HEVC_MUXER, HEVC_PARSER, FILTER_UNITS_BSF) += $(FATE_CBS_hevc_DISCARD)
163
164 FATE_SAMPLES_AVCONV += $(FATE_CBS_HEVC-yes)
165 fate-cbs-hevc: $(FATE_CBS_HEVC-yes)
166
167 # H.266 read/write
168
169 FATE_CBS_VVC_SAMPLES =        \
170     APSALF_A_2.bit            \
171     APSLMCS_D_1.bit           \
172     APSMULT_A_4.bit           \
173     AUD_A_3.bit               \
174     BOUNDARY_A_3.bit          \
175     BUMP_A_2.bit              \
176     CodingToolsSets_A_2.bit   \
177     CROP_B_4.bit              \
178     DCI_A_3.bit               \
179     HRD_A_3.bit               \
180     OPI_B_3.bit               \
181     PHSH_B_1.bit              \
182     POC_A_1.bit               \
183     PPS_B_1.bit               \
184     RAP_A_1.bit               \
185     SAO_A_3.bit               \
186     SCALING_A_1.bit           \
187     SLICES_A_3.bit            \
188     SPS_B_1.bit               \
189     STILL_B_1.bit             \
190     SUBPIC_A_3.bit            \
191     TILE_A_2.bit              \
192     VPS_A_3.bit               \
193     WP_A_3.bit                \
194     WPP_A_3.bit               \
195     WRAP_A_4.bit              \
196
197
198 $(foreach N,$(FATE_CBS_VVC_SAMPLES),$(eval $(call FATE_CBS_NO_DEC_TEST,vvc,$(basename $(N)),vvc-conformance/$(N),vvc)))
199
200 FATE_CBS_VVC-$(call FATE_CBS_NO_DEC_DEPS, HEVC, HEVC, HEVC, HEVC) = $(FATE_CBS_vvc)
201
202 FATE_SAMPLES_AVCONV += $(FATE_CBS_VVC-yes)
203 fate-cbs-vvc: $(FATE_CBS_VVC-yes)
204
205 # MPEG-2 read/write
206
207 FATE_CBS_MPEG2_SAMPLES =     \
208     hhi_burst_422_short.bits \
209     sony-ct3.bs              \
210     tcela-6.bits
211
212 $(foreach N,$(FATE_CBS_MPEG2_SAMPLES),$(eval $(call FATE_CBS_TEST,mpeg2,$(basename $(N)),mpeg2video,mpeg2/$(N),mpeg2video)))
213
214 FATE_CBS_MPEG2-$(call FATE_CBS_DEPS, MPEGVIDEO, MPEGVIDEO, MPEG2, MPEG2VIDEO, MPEG2VIDEO) = $(FATE_CBS_mpeg2)
215 FATE_SAMPLES_AVCONV += $(FATE_CBS_MPEG2-yes)
216 fate-cbs-mpeg2: $(FATE_CBS_MPEG2-yes)
217
218 # VP9 read/write
219
220 FATE_CBS_VP9_SAMPLES =                  \
221     vp90-2-03-deltaq.webm               \
222     vp90-2-05-resize.ivf                \
223     vp90-2-06-bilinear.webm             \
224     vp90-2-09-lf_deltas.webm            \
225     vp90-2-10-show-existing-frame.webm  \
226     vp90-2-10-show-existing-frame2.webm \
227     vp90-2-segmentation-aq-akiyo.webm   \
228     vp90-2-segmentation-sf-akiyo.webm   \
229     vp90-2-tiling-pedestrian.webm       \
230     vp91-2-04-yuv440.webm               \
231     vp91-2-04-yuv444.webm               \
232     vp92-2-20-10bit-yuv420.webm         \
233     vp93-2-20-10bit-yuv422.webm         \
234     vp93-2-20-12bit-yuv444.webm
235
236 $(foreach N,$(FATE_CBS_VP9_SAMPLES),$(eval $(call FATE_CBS_TEST,vp9,$(basename $(N)),vp9,vp9-test-vectors/$(N),ivf)))
237
238 FATE_CBS_VP9-$(call FATE_CBS_DEPS, IVF, VP9, VP9, VP9, IVF) = $(FATE_CBS_vp9)
239 FATE_SAMPLES_AVCONV += $(FATE_CBS_VP9-yes)
240 fate-cbs-vp9: $(FATE_CBS_VP9-yes)