1# Read/write tests: this uses the codec metadata filter - with no
2# arguments, it decomposes the stream fully and then recomposes it
3# without making any changes.
4
5fate-cbs: fate-cbs-h264 fate-cbs-hevc fate-cbs-mpeg2 fate-cbs-vp9
6
7FATE_CBS_DEPS = $(call ALLYES, $(1)_DEMUXER $(2)_PARSER $(3)_METADATA_BSF $(4)_DECODER $(5)_MUXER)
8
9define FATE_CBS_TEST
10# (codec, test_name, sample_file, output_format)
11FATE_CBS_$(1) += fate-cbs-$(1)-$(2)
12fate-cbs-$(1)-$(2): CMD = md5 -i $(TARGET_SAMPLES)/$(3) -c:v copy -y -bsf:v $(1)_metadata -f $(4)
13endef
14
15# H.264 read/write
16
17FATE_CBS_H264_CONFORMANCE_SAMPLES = \
18    SVA_Base_B.264        \
19    BASQP1_Sony_C.jsv     \
20    FM1_BT_B.h264         \
21    CVFC1_Sony_C.jsv      \
22    AUD_MW_E.264          \
23    CVBS3_Sony_C.jsv      \
24    MR1_BT_A.h264         \
25    CVWP1_TOSHIBA_E.264   \
26    CVNLFI1_Sony_C.jsv    \
27    Sharp_MP_PAFF_1r2.jvt \
28    CVMANL1_TOSHIBA_B.264 \
29    sp1_bt_a.h264         \
30    CVSE2_Sony_B.jsv      \
31    CABACI3_Sony_B.jsv
32
33FATE_CBS_H264_SAMPLES = \
34    sei-1.h264
35
36$(foreach N,$(FATE_CBS_H264_CONFORMANCE_SAMPLES),$(eval $(call FATE_CBS_TEST,h264,$(basename $(N)),h264-conformance/$(N),h264)))
37$(foreach N,$(FATE_CBS_H264_SAMPLES),$(eval $(call FATE_CBS_TEST,h264,$(basename $(N)),h264/$(N),h264)))
38
39FATE_CBS_H264-$(call FATE_CBS_DEPS, H264, H264, H264, H264, H264) = $(FATE_CBS_h264)
40FATE_SAMPLES_AVCONV += $(FATE_CBS_H264-yes)
41fate-cbs-h264: $(FATE_CBS_H264-yes)
42
43# H.265 read/write
44
45FATE_CBS_HEVC_SAMPLES =       \
46    STRUCT_A_Samsung_5.bit    \
47    WP_A_Toshiba_3.bit        \
48    SLIST_A_Sony_4.bit        \
49    SLIST_D_Sony_9.bit        \
50    CAINIT_E_SHARP_3.bit      \
51    CAINIT_H_SHARP_3.bit      \
52    TILES_B_Cisco_1.bit       \
53    WPP_A_ericsson_MAIN_2.bit \
54    WPP_F_ericsson_MAIN_2.bit \
55    ipcm_E_NEC_2.bit          \
56    NUT_A_ericsson_5.bit      \
57    PICSIZE_A_Bossen_1.bit    \
58    PICSIZE_B_Bossen_1.bit    \
59    RPS_A_docomo_4.bit        \
60    RPS_E_qualcomm_5.bit      \
61    LTRPSPS_A_Qualcomm_1.bit  \
62    RPLM_A_qualcomm_4.bit     \
63    CONFWIN_A_Sony_1.bit      \
64    HRD_A_Fujitsu_2.bit
65
66$(foreach N,$(FATE_CBS_HEVC_SAMPLES),$(eval $(call FATE_CBS_TEST,hevc,$(basename $(N)),hevc-conformance/$(N),hevc)))
67
68FATE_CBS_HEVC-$(call FATE_CBS_DEPS, HEVC, HEVC, HEVC, HEVC, HEVC) = $(FATE_CBS_hevc)
69FATE_SAMPLES_AVCONV += $(FATE_CBS_HEVC-yes)
70fate-cbs-hevc: $(FATE_CBS_HEVC-yes)
71
72# MPEG-2 read/write
73
74FATE_CBS_MPEG2_SAMPLES =     \
75    hhi_burst_422_short.bits \
76    sony-ct3.bs              \
77    tcela-6.bits
78
79$(foreach N,$(FATE_CBS_MPEG2_SAMPLES),$(eval $(call FATE_CBS_TEST,mpeg2,$(basename $(N)),mpeg2/$(N),mpeg2video)))
80
81FATE_CBS_MPEG2-$(call FATE_CBS_DEPS, MPEGVIDEO, MPEGVIDEO, MPEG2, MPEG2VIDEO, MPEG2VIDEO) = $(FATE_CBS_mpeg2)
82FATE_SAMPLES_AVCONV += $(FATE_CBS_MPEG2-yes)
83fate-cbs-mpeg2: $(FATE_CBS_MPEG2-yes)
84
85# VP9 read/write
86
87FATE_CBS_VP9_SAMPLES =                  \
88    vp90-2-03-deltaq.webm               \
89    vp90-2-05-resize.ivf                \
90    vp90-2-06-bilinear.webm             \
91    vp90-2-09-lf_deltas.webm            \
92    vp90-2-10-show-existing-frame.webm  \
93    vp90-2-10-show-existing-frame2.webm \
94    vp90-2-segmentation-aq-akiyo.webm   \
95    vp90-2-segmentation-sf-akiyo.webm   \
96    vp90-2-tiling-pedestrian.webm       \
97    vp91-2-04-yuv440.webm               \
98    vp91-2-04-yuv444.webm               \
99    vp92-2-20-10bit-yuv420.webm         \
100    vp93-2-20-10bit-yuv422.webm         \
101    vp93-2-20-12bit-yuv444.webm
102
103$(foreach N,$(FATE_CBS_VP9_SAMPLES),$(eval $(call FATE_CBS_TEST,vp9,$(basename $(N)),vp9-test-vectors/$(N),ivf)))
104
105FATE_CBS_VP9-$(call FATE_CBS_DEPS, IVF, VP9, VP9, VP9, IVF) = $(FATE_CBS_vp9)
106FATE_SAMPLES_AVCONV += $(FATE_CBS_VP9-yes)
107fate-cbs-vp9: $(FATE_CBS_VP9-yes)
108