]> git.sesse.net Git - ffmpeg/blob - tests/fate/hevc.mak
tests: stop using -vsync drop
[ffmpeg] / tests / fate / hevc.mak
1 HEVC_SAMPLES =                  \
2     AMP_A_Samsung_4             \
3     AMP_A_Samsung_6             \
4     AMP_B_Samsung_4             \
5     AMP_B_Samsung_6             \
6     AMP_D_Hisilicon             \
7     AMP_E_Hisilicon             \
8     AMP_F_Hisilicon_3           \
9     AMVP_A_MTK_4                \
10     AMVP_B_MTK_4                \
11     AMVP_C_Samsung_4            \
12     AMVP_C_Samsung_6            \
13     BUMPING_A_ericsson_1        \
14     CAINIT_A_SHARP_4            \
15     CAINIT_B_SHARP_4            \
16     CAINIT_C_SHARP_3            \
17     CAINIT_D_SHARP_3            \
18     CAINIT_E_SHARP_3            \
19     CAINIT_F_SHARP_3            \
20     CAINIT_G_SHARP_3            \
21     CAINIT_H_SHARP_3            \
22     CIP_A_Panasonic_3           \
23     cip_B_NEC_3                 \
24     CIP_C_Panasonic_2           \
25     CONFWIN_A_Sony_1            \
26     DBLK_A_SONY_3               \
27     DBLK_B_SONY_3               \
28     DBLK_C_SONY_3               \
29     DBLK_D_VIXS_2               \
30     DBLK_E_VIXS_2               \
31     DBLK_F_VIXS_2               \
32     DBLK_G_VIXS_2               \
33     DELTAQP_A_BRCM_4            \
34     DELTAQP_B_SONY_3            \
35     DELTAQP_C_SONY_3            \
36     DSLICE_A_HHI_5              \
37     DSLICE_B_HHI_5              \
38     DSLICE_C_HHI_5              \
39     ENTP_A_Qualcomm_1           \
40     ENTP_B_Qualcomm_1           \
41     ENTP_C_Qualcomm_1           \
42     EXT_A_ericsson_4            \
43     FILLER_A_Sony_1             \
44     HRD_A_Fujitsu_2             \
45     HRD_A_Fujitsu_3             \
46     INITQP_A_Sony_1             \
47     ipcm_A_NEC_3                \
48     ipcm_B_NEC_3                \
49     ipcm_C_NEC_3                \
50     ipcm_D_NEC_3                \
51     ipcm_E_NEC_2                \
52     IPRED_A_docomo_2            \
53     IPRED_B_Nokia_3             \
54     IPRED_C_Mitsubishi_3        \
55     LS_A_Orange_2               \
56     LS_B_ORANGE_4               \
57     LTRPSPS_A_Qualcomm_1        \
58     MAXBINS_A_TI_4              \
59     MAXBINS_B_TI_4              \
60     MAXBINS_C_TI_4              \
61     MERGE_A_TI_3                \
62     MERGE_B_TI_3                \
63     MERGE_C_TI_3                \
64     MERGE_D_TI_3                \
65     MERGE_E_TI_3                \
66     MERGE_F_MTK_4               \
67     MERGE_G_HHI_4               \
68     MVCLIP_A_qualcomm_3         \
69     MVDL1ZERO_A_docomo_3        \
70     MVEDGE_A_qualcomm_3         \
71     NoOutPrior_A_Qualcomm_1     \
72     NoOutPrior_B_Qualcomm_1     \
73     NUT_A_ericsson_5            \
74     OPFLAG_A_Qualcomm_1         \
75     OPFLAG_B_Qualcomm_1         \
76     OPFLAG_C_Qualcomm_1         \
77     PICSIZE_A_Bossen_1          \
78     PICSIZE_B_Bossen_1          \
79     PICSIZE_C_Bossen_1          \
80     PICSIZE_D_Bossen_1          \
81     PMERGE_A_TI_3               \
82     PMERGE_B_TI_3               \
83     PMERGE_C_TI_3               \
84     PMERGE_D_TI_3               \
85     PMERGE_E_TI_3               \
86     POC_A_Bossen_3              \
87     PPS_A_qualcomm_7            \
88     PS_A_VIDYO_3                \
89     PS_B_VIDYO_3                \
90     RAP_A_docomo_4              \
91     RAP_B_Bossen_1              \
92     RPLM_A_qualcomm_4           \
93     RPLM_B_qualcomm_4           \
94     RPS_A_docomo_4              \
95     RPS_B_qualcomm_5            \
96     RPS_C_ericsson_5            \
97     RPS_D_ericsson_6            \
98     RPS_E_qualcomm_5            \
99     RPS_F_docomo_1              \
100     RQT_A_HHI_4                 \
101     RQT_B_HHI_4                 \
102     RQT_C_HHI_4                 \
103     RQT_D_HHI_4                 \
104     RQT_E_HHI_4                 \
105     RQT_F_HHI_4                 \
106     RQT_G_HHI_4                 \
107     SAO_A_MediaTek_4            \
108     SAO_B_MediaTek_5            \
109     SAO_C_Samsung_4             \
110     SAO_C_Samsung_5             \
111     SAO_D_Samsung_4             \
112     SAO_D_Samsung_5             \
113     SAO_E_Canon_4               \
114     SAO_F_Canon_3               \
115     SAO_G_Canon_3               \
116     SDH_A_Orange_3              \
117     SLICES_A_Rovi_3             \
118     SLIST_A_Sony_4              \
119     SLIST_B_Sony_8              \
120     SLIST_C_Sony_3              \
121     SLIST_D_Sony_9              \
122     SLPPLP_A_VIDYO_1            \
123     SLPPLP_A_VIDYO_2            \
124     STRUCT_A_Samsung_5          \
125     STRUCT_B_Samsung_4          \
126     STRUCT_B_Samsung_6          \
127     TILES_A_Cisco_2             \
128     TILES_B_Cisco_1             \
129     TMVP_A_MS_3                 \
130     TSCL_A_VIDYO_5              \
131     TSCL_B_VIDYO_4              \
132     TSKIP_A_MS_3                \
133     TUSIZE_A_Samsung_1          \
134     VPSID_A_VIDYO_1             \
135     VPSID_A_VIDYO_2             \
136     WP_A_Toshiba_3              \
137     WP_B_Toshiba_3              \
138     WPP_A_ericsson_MAIN_2       \
139     WPP_B_ericsson_MAIN_2       \
140     WPP_C_ericsson_MAIN_2       \
141     WPP_D_ericsson_MAIN_2       \
142     WPP_E_ericsson_MAIN_2       \
143     WPP_F_ericsson_MAIN_2       \
144
145 HEVC_SAMPLES_10BIT =            \
146     DBLK_A_MAIN10_VIXS_3        \
147     WP_A_MAIN10_Toshiba_3       \
148     WP_MAIN10_B_Toshiba_3       \
149     WPP_A_ericsson_MAIN10_2     \
150     WPP_B_ericsson_MAIN10_2     \
151     WPP_C_ericsson_MAIN10_2     \
152     WPP_D_ericsson_MAIN10_2     \
153     WPP_E_ericsson_MAIN10_2     \
154     WPP_F_ericsson_MAIN10_2     \
155     INITQP_B_Sony_1             \
156
157 HEVC_SAMPLES_422_10BIT =        \
158     ADJUST_IPRED_ANGLE_A_RExt_Mitsubishi_1 \
159     IPCM_A_RExt_NEC             \
160
161 HEVC_SAMPLES_422_10BIN =        \
162     Main_422_10_A_RExt_Sony_1   \
163
164 HEVC_SAMPLES_422_10BIN_LARGE =  \
165     Main_422_10_B_RExt_Sony_1   \
166
167 HEVC_SAMPLES_444_8BIT =         \
168     QMATRIX_A_RExt_Sony_1       \
169
170 HEVC_SAMPLES_444_12BIT =        \
171     IPCM_B_RExt_NEC             \
172     PERSIST_RPARAM_A_RExt_Sony_1\
173     PERSIST_RPARAM_A_RExt_Sony_3\
174
175 HEVC_SAMPLES_444_12BIT_LARGE =  \
176     SAO_A_RExt_MediaTek_1       \
177
178
179 # equivalent bitstreams
180 # AMP_D_Hisilicon_3 -- AMP_D_Hisilicon
181 # AMP_E_Hisilicon_3 -- AMP_E_Hisilicon
182 # MVDL1ZERO_A_docomo_4 -- MVDL1ZERO_A_docomo_3
183 # RAP_A_docomo_5 -- RAP_A_docomo_4
184 # RAP_B_bossen_2 -- RAP_B_bossen_1
185 # RPS_A_docomo_5 -- RPS_A_docomo_4
186 # RPS_F_docomo_2 -- RPS_F_docomo_1
187
188 # do not pass:
189 # TSUNEQBD_A_MAIN10_Technicolor_2.bit (segfault mix 9-10bits)
190 # PERSIST_RPARAM_A_RExt_Sony_1 (rext)
191
192
193 define FATE_HEVC_TEST
194 FATE_HEVC += fate-hevc-conformance-$(1)
195 fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bit -pix_fmt yuv420p
196 endef
197
198 define FATE_HEVC_TEST_10BIT
199 FATE_HEVC += fate-hevc-conformance-$(1)
200 fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bit -pix_fmt yuv420p10le -vf scale
201 endef
202
203 define FATE_HEVC_TEST_422_10BIT
204 FATE_HEVC += fate-hevc-conformance-$(1)
205 fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bit -pix_fmt yuv422p10le -vf scale
206 endef
207
208 define FATE_HEVC_TEST_422_10BIN
209 FATE_HEVC += fate-hevc-conformance-$(1)
210 fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bin -pix_fmt yuv422p10le -vf scale
211 endef
212
213 define FATE_HEVC_TEST_422_10BIN_LARGE
214 FATE_HEVC_LARGE += fate-hevc-conformance-$(1)
215 fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bin -pix_fmt yuv422p10le -vf scale
216 endef
217
218 define FATE_HEVC_TEST_444_8BIT
219 FATE_HEVC += fate-hevc-conformance-$(1)
220 fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bit -pix_fmt yuv444p
221 endef
222
223 define FATE_HEVC_TEST_444_12BIT
224 FATE_HEVC += fate-hevc-conformance-$(1)
225 fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bit -pix_fmt yuv444p12le -vf scale
226 endef
227
228 define FATE_HEVC_TEST_444_12BIT_LARGE
229 FATE_HEVC_LARGE += fate-hevc-conformance-$(1)
230 fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bit -pix_fmt yuv444p12le -vf scale
231 endef
232
233 $(foreach N,$(HEVC_SAMPLES),$(eval $(call FATE_HEVC_TEST,$(N))))
234 $(foreach N,$(HEVC_SAMPLES_10BIT),$(eval $(call FATE_HEVC_TEST_10BIT,$(N))))
235 $(foreach N,$(HEVC_SAMPLES_422_10BIT),$(eval $(call FATE_HEVC_TEST_422_10BIT,$(N))))
236 $(foreach N,$(HEVC_SAMPLES_422_10BIN),$(eval $(call FATE_HEVC_TEST_422_10BIN,$(N))))
237 $(foreach N,$(HEVC_SAMPLES_422_10BIN_LARGE),$(eval $(call FATE_HEVC_TEST_422_10BIN_LARGE,$(N))))
238 $(foreach N,$(HEVC_SAMPLES_444_8BIT),$(eval $(call FATE_HEVC_TEST_444_8BIT,$(N))))
239 $(foreach N,$(HEVC_SAMPLES_444_12BIT),$(eval $(call FATE_HEVC_TEST_444_12BIT,$(N))))
240 $(foreach N,$(HEVC_SAMPLES_444_12BIT_LARGE),$(eval $(call FATE_HEVC_TEST_444_12BIT_LARGE,$(N))))
241
242 fate-hevc-paramchange-yuv420p-yuv420p10: CMD = framecrc -vsync 0 -i $(TARGET_SAMPLES)/hevc/paramchange_yuv420p_yuv420p10.hevc -sws_flags area+accurate_rnd+bitexact
243 FATE_HEVC_LARGE += fate-hevc-paramchange-yuv420p-yuv420p10
244
245 tests/data/hevc-mp4.mov: TAG = GEN
246 tests/data/hevc-mp4.mov: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
247         $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
248         -i $(TARGET_SAMPLES)/hevc-conformance/WPP_A_ericsson_MAIN10_2.bit -c copy -flags +bitexact $(TARGET_PATH)/$@ -y 2>/dev/null
249
250 FATE_HEVC-$(call ALLYES, HEVC_DEMUXER MOV_DEMUXER HEVC_MP4TOANNEXB_BSF MOV_MUXER HEVC_MUXER) += fate-hevc-bsf-mp4toannexb
251 fate-hevc-bsf-mp4toannexb: tests/data/hevc-mp4.mov
252 fate-hevc-bsf-mp4toannexb: CMD = md5 -i $(TARGET_PATH)/tests/data/hevc-mp4.mov -c:v copy -fflags +bitexact -f hevc
253 fate-hevc-bsf-mp4toannexb: CMP = oneline
254 fate-hevc-bsf-mp4toannexb: REF = 1873662a3af1848c37e4eb25722c8df9
255
256 fate-hevc-skiploopfilter: CMD = framemd5 -skip_loop_filter nokey -i $(TARGET_SAMPLES)/hevc-conformance/SAO_D_Samsung_5.bit -sws_flags bitexact
257 FATE_HEVC += fate-hevc-skiploopfilter
258
259 FATE_HEVC-$(call DEMDEC, HEVC, HEVC) += $(FATE_HEVC)
260 FATE_HEVC-$(call ALLYES, HEVC_DEMUXER HEVC_DECODER LARGE_TESTS) += $(FATE_HEVC_LARGE)
261
262 # this sample has two stsd entries and needs to reload extradata
263 FATE_HEVC-$(call DEMDEC, MOV, HEVC) += fate-hevc-extradata-reload
264
265 fate-hevc-extradata-reload: CMD = framemd5 -i $(TARGET_SAMPLES)/hevc/extradata-reload-multi-stsd.mov -sws_flags bitexact
266
267 fate-hevc-paired-fields: CMD = probeframes -show_entries frame=interlaced_frame,top_field_first $(TARGET_SAMPLES)/hevc/paired_fields.hevc
268 FATE_HEVC_FFPROBE-$(call DEMDEC, HEVC, HEVC) += fate-hevc-paired-fields
269
270 fate-hevc-monochrome-crop: CMD = probeframes -show_entries frame=width,height:stream=width,height $(TARGET_SAMPLES)/hevc/hevc-monochrome.hevc
271 FATE_HEVC_FFPROBE-$(call DEMDEC, HEVC, HEVC) += fate-hevc-monochrome-crop
272
273 fate-hevc-hdr10-plus-metadata: CMD = probeframes -show_entries frame=side_data_list $(TARGET_SAMPLES)/hevc/hdr10_plus_h265_sample.hevc
274 FATE_HEVC_FFPROBE-$(call DEMDEC, HEVC, HEVC) += fate-hevc-hdr10-plus-metadata
275
276 fate-hevc-two-first-slice: CMD = threads=2 framemd5 -i $(TARGET_SAMPLES)/hevc/two_first_slice.mp4 -sws_flags bitexact -t 00:02.00 -an
277 FATE_HEVC-$(call DEMDEC, MOV, HEVC) += fate-hevc-two-first-slice
278
279 fate-hevc-cabac-tudepth: CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc/cbf_cr_cb_TUDepth_4_circle.h265 -pix_fmt yuv444p
280 FATE_HEVC-$(call DEMDEC, HEVC, HEVC) += fate-hevc-cabac-tudepth
281
282 fate-hevc-small422chroma: CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc/food.hevc -pix_fmt yuv422p10le -vf scale
283 FATE_HEVC-$(call DEMDEC, HEVC, HEVC) += fate-hevc-small422chroma
284
285 FATE_SAMPLES_AVCONV += $(FATE_HEVC-yes)
286 FATE_SAMPLES_FFPROBE += $(FATE_HEVC_FFPROBE-yes)
287
288 fate-hevc: $(FATE_HEVC-yes) $(FATE_HEVC_FFPROBE-yes)