diff --git a/tests/Makefile b/tests/Makefile index 656c2c59c5..fd3713fe81 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -115,6 +115,7 @@ include $(SRC_PATH)/tests/fate/audio.mak include $(SRC_PATH)/tests/fate/bmp.mak include $(SRC_PATH)/tests/fate/build.mak include $(SRC_PATH)/tests/fate/canopus.mak +include $(SRC_PATH)/tests/fate/cbs.mak include $(SRC_PATH)/tests/fate/cdxl.mak include $(SRC_PATH)/tests/fate/checkasm.mak include $(SRC_PATH)/tests/fate/concatdec.mak diff --git a/tests/fate/cbs.mak b/tests/fate/cbs.mak new file mode 100644 index 0000000000..fc5967e6f3 --- /dev/null +++ b/tests/fate/cbs.mak @@ -0,0 +1,79 @@ +# Read/write tests: this uses the codec metadata filter - with no +# arguments, it decomposes the stream fully and then recomposes it +# without making any changes. + +fate-cbs: fate-cbs-h264 fate-cbs-hevc fate-cbs-mpeg2 + +FATE_CBS_DEPS = $(call ALLYES, $(1)_DEMUXER $(1)_PARSER $(2)_METADATA_BSF $(3)_DECODER $(3)_MUXER) + +define FATE_CBS_TEST +# (codec, test_name, sample_file, output_format) +FATE_CBS_$(1) += fate-cbs-$(1)-$(2) +fate-cbs-$(1)-$(2): CMD = md5 -i $(TARGET_SAMPLES)/$(3) -c:v copy -bsf:v $(1)_metadata -f $(4) +endef + +# H.264 read/write + +FATE_CBS_H264_SAMPLES = \ + SVA_Base_B.264 \ + BASQP1_Sony_C.jsv \ + FM1_BT_B.h264 \ + CVFC1_Sony_C.jsv \ + AUD_MW_E.264 \ + CVBS3_Sony_C.jsv \ + MR1_BT_A.h264 \ + CVWP1_TOSHIBA_E.264 \ + CVNLFI1_Sony_C.jsv \ + Sharp_MP_PAFF_1r2.jvt \ + CVMANL1_TOSHIBA_B.264 \ + sp1_bt_a.h264 \ + CVSE2_Sony_B.jsv \ + CABACI3_Sony_B.jsv + +$(foreach N,$(FATE_CBS_H264_SAMPLES),$(eval $(call FATE_CBS_TEST,h264,$(basename $(N)),h264-conformance/$(N),h264))) + +FATE_CBS_H264-$(call FATE_CBS_DEPS, H264, H264, H264) = $(FATE_CBS_h264) +FATE_SAMPLES_AVCONV += $(FATE_CBS_H264-yes) +fate-cbs-h264: $(FATE_CBS_H264-yes) + +# H.265 read/write + +FATE_CBS_HEVC_SAMPLES = \ + STRUCT_A_Samsung_5.bit \ + WP_A_Toshiba_3.bit \ + SLIST_A_Sony_4.bit \ + SLIST_D_Sony_9.bit \ + CAINIT_E_SHARP_3.bit \ + CAINIT_H_SHARP_3.bit \ + TILES_B_Cisco_1.bit \ + WPP_A_ericsson_MAIN_2.bit \ + WPP_F_ericsson_MAIN_2.bit \ + ipcm_E_NEC_2.bit \ + NUT_A_ericsson_5.bit \ + PICSIZE_A_Bossen_1.bit \ + PICSIZE_B_Bossen_1.bit \ + RPS_A_docomo_4.bit \ + RPS_E_qualcomm_5.bit \ + LTRPSPS_A_Qualcomm_1.bit \ + RPLM_A_qualcomm_4.bit \ + CONFWIN_A_Sony_1.bit \ + HRD_A_Fujitsu_2.bit + +$(foreach N,$(FATE_CBS_HEVC_SAMPLES),$(eval $(call FATE_CBS_TEST,hevc,$(basename $(N)),hevc-conformance/$(N),hevc))) + +FATE_CBS_HEVC-$(call FATE_CBS_DEPS, HEVC, HEVC, HEVC) = $(FATE_CBS_hevc) +FATE_SAMPLES_AVCONV += $(FATE_CBS_HEVC-yes) +fate-cbs-hevc: $(FATE_CBS_HEVC-yes) + +# MPEG-2 read/write + +FATE_CBS_MPEG2_SAMPLES = \ + hhi_burst_422_short.bits \ + sony-ct3.bs \ + tcela-6.bits + +$(foreach N,$(FATE_CBS_MPEG2_SAMPLES),$(eval $(call FATE_CBS_TEST,mpeg2,$(basename $(N)),mpeg2/$(N),mpeg2video))) + +FATE_CBS_MPEG2-$(call FATE_CBS_DEPS, MPEGVIDEO, MPEG2, MPEG2VIDEO) = $(FATE_CBS_mpeg2) +FATE_SAMPLES_AVCONV += $(FATE_CBS_MPEG2-yes) +fate-cbs-mpeg2: $(FATE_CBS_MPEG2-yes) diff --git a/tests/ref/fate/cbs-h264-AUD_MW_E b/tests/ref/fate/cbs-h264-AUD_MW_E new file mode 100644 index 0000000000..f204792416 --- /dev/null +++ b/tests/ref/fate/cbs-h264-AUD_MW_E @@ -0,0 +1 @@ +9b8884667eda0b9853bec631458686ce diff --git a/tests/ref/fate/cbs-h264-BASQP1_Sony_C b/tests/ref/fate/cbs-h264-BASQP1_Sony_C new file mode 100644 index 0000000000..c2185c770b --- /dev/null +++ b/tests/ref/fate/cbs-h264-BASQP1_Sony_C @@ -0,0 +1 @@ +00c52ae60bf9a41ae1145fbf5fea9838 diff --git a/tests/ref/fate/cbs-h264-CABACI3_Sony_B b/tests/ref/fate/cbs-h264-CABACI3_Sony_B new file mode 100644 index 0000000000..59aeb72155 --- /dev/null +++ b/tests/ref/fate/cbs-h264-CABACI3_Sony_B @@ -0,0 +1 @@ +2d94c80b858aec880530bad47afe3668 diff --git a/tests/ref/fate/cbs-h264-CVBS3_Sony_C b/tests/ref/fate/cbs-h264-CVBS3_Sony_C new file mode 100644 index 0000000000..55f5e0b50e --- /dev/null +++ b/tests/ref/fate/cbs-h264-CVBS3_Sony_C @@ -0,0 +1 @@ +59ff1df9b25e80277cad4ad99e634df6 diff --git a/tests/ref/fate/cbs-h264-CVFC1_Sony_C b/tests/ref/fate/cbs-h264-CVFC1_Sony_C new file mode 100644 index 0000000000..98004cf63c --- /dev/null +++ b/tests/ref/fate/cbs-h264-CVFC1_Sony_C @@ -0,0 +1 @@ +669f4f3d3ae35fa5a6f5c94e48776dcf diff --git a/tests/ref/fate/cbs-h264-CVMANL1_TOSHIBA_B b/tests/ref/fate/cbs-h264-CVMANL1_TOSHIBA_B new file mode 100644 index 0000000000..14aa45300d --- /dev/null +++ b/tests/ref/fate/cbs-h264-CVMANL1_TOSHIBA_B @@ -0,0 +1 @@ +0c1d9694df747cc4697caf866bd3051a diff --git a/tests/ref/fate/cbs-h264-CVNLFI1_Sony_C b/tests/ref/fate/cbs-h264-CVNLFI1_Sony_C new file mode 100644 index 0000000000..d5f5ad1931 --- /dev/null +++ b/tests/ref/fate/cbs-h264-CVNLFI1_Sony_C @@ -0,0 +1 @@ +7817d89bd749bc617a225978958a3af0 diff --git a/tests/ref/fate/cbs-h264-CVSE2_Sony_B b/tests/ref/fate/cbs-h264-CVSE2_Sony_B new file mode 100644 index 0000000000..7845723edd --- /dev/null +++ b/tests/ref/fate/cbs-h264-CVSE2_Sony_B @@ -0,0 +1 @@ +ca8bdba497bd2f3b97c50d59692eb537 diff --git a/tests/ref/fate/cbs-h264-CVWP1_TOSHIBA_E b/tests/ref/fate/cbs-h264-CVWP1_TOSHIBA_E new file mode 100644 index 0000000000..4cb9c475fc --- /dev/null +++ b/tests/ref/fate/cbs-h264-CVWP1_TOSHIBA_E @@ -0,0 +1 @@ +01290611165b8d8ccba8468f3dae4c4d diff --git a/tests/ref/fate/cbs-h264-FM1_BT_B b/tests/ref/fate/cbs-h264-FM1_BT_B new file mode 100644 index 0000000000..862de950de --- /dev/null +++ b/tests/ref/fate/cbs-h264-FM1_BT_B @@ -0,0 +1 @@ +f7d5474ec576eea3f70d83a26a641a60 diff --git a/tests/ref/fate/cbs-h264-MR1_BT_A b/tests/ref/fate/cbs-h264-MR1_BT_A new file mode 100644 index 0000000000..0532652e6c --- /dev/null +++ b/tests/ref/fate/cbs-h264-MR1_BT_A @@ -0,0 +1 @@ +699d37e66764ddb3b4265c299ca77dcd diff --git a/tests/ref/fate/cbs-h264-SVA_Base_B b/tests/ref/fate/cbs-h264-SVA_Base_B new file mode 100644 index 0000000000..a591b811b1 --- /dev/null +++ b/tests/ref/fate/cbs-h264-SVA_Base_B @@ -0,0 +1 @@ +443e55dd5f63dccf9a62acbb48451b08 diff --git a/tests/ref/fate/cbs-h264-Sharp_MP_PAFF_1r2 b/tests/ref/fate/cbs-h264-Sharp_MP_PAFF_1r2 new file mode 100644 index 0000000000..cc7d63931c --- /dev/null +++ b/tests/ref/fate/cbs-h264-Sharp_MP_PAFF_1r2 @@ -0,0 +1 @@ +fd01840ed6b086c3118b7c53c86d01f5 diff --git a/tests/ref/fate/cbs-h264-sp1_bt_a b/tests/ref/fate/cbs-h264-sp1_bt_a new file mode 100644 index 0000000000..388c53aa5e --- /dev/null +++ b/tests/ref/fate/cbs-h264-sp1_bt_a @@ -0,0 +1 @@ +8405c5583d31d7015ed401b34b4ec93c diff --git a/tests/ref/fate/cbs-hevc-CAINIT_E_SHARP_3 b/tests/ref/fate/cbs-hevc-CAINIT_E_SHARP_3 new file mode 100644 index 0000000000..53af86aaa4 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-CAINIT_E_SHARP_3 @@ -0,0 +1 @@ +44d1c0b80828af779d942cc20dde4ea4 diff --git a/tests/ref/fate/cbs-hevc-CAINIT_H_SHARP_3 b/tests/ref/fate/cbs-hevc-CAINIT_H_SHARP_3 new file mode 100644 index 0000000000..5e127d7894 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-CAINIT_H_SHARP_3 @@ -0,0 +1 @@ +ae9311dfcaf65bb8de9c4fcf23ce0871 diff --git a/tests/ref/fate/cbs-hevc-CONFWIN_A_Sony_1 b/tests/ref/fate/cbs-hevc-CONFWIN_A_Sony_1 new file mode 100644 index 0000000000..00445155d0 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-CONFWIN_A_Sony_1 @@ -0,0 +1 @@ +dce8104b2addbdd601eb280a88e18583 diff --git a/tests/ref/fate/cbs-hevc-HRD_A_Fujitsu_2 b/tests/ref/fate/cbs-hevc-HRD_A_Fujitsu_2 new file mode 100644 index 0000000000..b9c90ae3c3 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-HRD_A_Fujitsu_2 @@ -0,0 +1 @@ +716a90051f028c90daeb86b3825af36d diff --git a/tests/ref/fate/cbs-hevc-LTRPSPS_A_Qualcomm_1 b/tests/ref/fate/cbs-hevc-LTRPSPS_A_Qualcomm_1 new file mode 100644 index 0000000000..21dfa5763a --- /dev/null +++ b/tests/ref/fate/cbs-hevc-LTRPSPS_A_Qualcomm_1 @@ -0,0 +1 @@ +11b599202a4d25693123bea8bb003e54 diff --git a/tests/ref/fate/cbs-hevc-NUT_A_ericsson_5 b/tests/ref/fate/cbs-hevc-NUT_A_ericsson_5 new file mode 100644 index 0000000000..32e58affe7 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-NUT_A_ericsson_5 @@ -0,0 +1 @@ +25cf94dfa2e0334eeedbfa9a8ed1c4b2 diff --git a/tests/ref/fate/cbs-hevc-PICSIZE_A_Bossen_1 b/tests/ref/fate/cbs-hevc-PICSIZE_A_Bossen_1 new file mode 100644 index 0000000000..cc18004920 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-PICSIZE_A_Bossen_1 @@ -0,0 +1 @@ +e87fbd90c297d401738db928e3e04dd4 diff --git a/tests/ref/fate/cbs-hevc-PICSIZE_B_Bossen_1 b/tests/ref/fate/cbs-hevc-PICSIZE_B_Bossen_1 new file mode 100644 index 0000000000..5495cec6c3 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-PICSIZE_B_Bossen_1 @@ -0,0 +1 @@ +4993d49d6f2f532dfc683a9d26c1e313 diff --git a/tests/ref/fate/cbs-hevc-RPLM_A_qualcomm_4 b/tests/ref/fate/cbs-hevc-RPLM_A_qualcomm_4 new file mode 100644 index 0000000000..c68d615cbf --- /dev/null +++ b/tests/ref/fate/cbs-hevc-RPLM_A_qualcomm_4 @@ -0,0 +1 @@ +f5d2633eefcd95e189faf4302d270457 diff --git a/tests/ref/fate/cbs-hevc-RPS_A_docomo_4 b/tests/ref/fate/cbs-hevc-RPS_A_docomo_4 new file mode 100644 index 0000000000..772d16a192 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-RPS_A_docomo_4 @@ -0,0 +1 @@ +97bd4fefd8cd95584f586027e244f283 diff --git a/tests/ref/fate/cbs-hevc-RPS_E_qualcomm_5 b/tests/ref/fate/cbs-hevc-RPS_E_qualcomm_5 new file mode 100644 index 0000000000..faef7da0d9 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-RPS_E_qualcomm_5 @@ -0,0 +1 @@ +b2528ef681729176ccb38a77be93a0de diff --git a/tests/ref/fate/cbs-hevc-SLIST_A_Sony_4 b/tests/ref/fate/cbs-hevc-SLIST_A_Sony_4 new file mode 100644 index 0000000000..23b2e324d1 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-SLIST_A_Sony_4 @@ -0,0 +1 @@ +72cf53bbc967c9679e21a6d3203edb07 diff --git a/tests/ref/fate/cbs-hevc-SLIST_D_Sony_9 b/tests/ref/fate/cbs-hevc-SLIST_D_Sony_9 new file mode 100644 index 0000000000..4cea86dba6 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-SLIST_D_Sony_9 @@ -0,0 +1 @@ +59a22d715e30748492da5e0b9d421909 diff --git a/tests/ref/fate/cbs-hevc-STRUCT_A_Samsung_5 b/tests/ref/fate/cbs-hevc-STRUCT_A_Samsung_5 new file mode 100644 index 0000000000..6a4508b0c5 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-STRUCT_A_Samsung_5 @@ -0,0 +1 @@ +647eb851b935fd3bc6a98ce5ce45dbc7 diff --git a/tests/ref/fate/cbs-hevc-TILES_B_Cisco_1 b/tests/ref/fate/cbs-hevc-TILES_B_Cisco_1 new file mode 100644 index 0000000000..d767e26d68 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-TILES_B_Cisco_1 @@ -0,0 +1 @@ +85a114def19cefbd0fb0daf8370d711c diff --git a/tests/ref/fate/cbs-hevc-WPP_A_ericsson_MAIN_2 b/tests/ref/fate/cbs-hevc-WPP_A_ericsson_MAIN_2 new file mode 100644 index 0000000000..fe6928fc8b --- /dev/null +++ b/tests/ref/fate/cbs-hevc-WPP_A_ericsson_MAIN_2 @@ -0,0 +1 @@ +de7d440b556eea827953e6d12aeb4023 diff --git a/tests/ref/fate/cbs-hevc-WPP_F_ericsson_MAIN_2 b/tests/ref/fate/cbs-hevc-WPP_F_ericsson_MAIN_2 new file mode 100644 index 0000000000..08aee566f1 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-WPP_F_ericsson_MAIN_2 @@ -0,0 +1 @@ +f197136f1fb3242c3422a48470dd7d35 diff --git a/tests/ref/fate/cbs-hevc-WP_A_Toshiba_3 b/tests/ref/fate/cbs-hevc-WP_A_Toshiba_3 new file mode 100644 index 0000000000..b868c438f8 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-WP_A_Toshiba_3 @@ -0,0 +1 @@ +158312a1a35ef4b20cb4aeee48549c03 diff --git a/tests/ref/fate/cbs-hevc-ipcm_E_NEC_2 b/tests/ref/fate/cbs-hevc-ipcm_E_NEC_2 new file mode 100644 index 0000000000..cc68b6fb49 --- /dev/null +++ b/tests/ref/fate/cbs-hevc-ipcm_E_NEC_2 @@ -0,0 +1 @@ +2e1f9c95364cfac2aa6e6ee3a52c43c4 diff --git a/tests/ref/fate/cbs-mpeg2-hhi_burst_422_short b/tests/ref/fate/cbs-mpeg2-hhi_burst_422_short new file mode 100644 index 0000000000..c319fba7b3 --- /dev/null +++ b/tests/ref/fate/cbs-mpeg2-hhi_burst_422_short @@ -0,0 +1 @@ +e0c2fdd9baeba0c5ba5839a8cd7a72d3 diff --git a/tests/ref/fate/cbs-mpeg2-sony-ct3 b/tests/ref/fate/cbs-mpeg2-sony-ct3 new file mode 100644 index 0000000000..b5b4b12f07 --- /dev/null +++ b/tests/ref/fate/cbs-mpeg2-sony-ct3 @@ -0,0 +1 @@ +b1e15a09cfffbad801810af0928736ab diff --git a/tests/ref/fate/cbs-mpeg2-tcela-6 b/tests/ref/fate/cbs-mpeg2-tcela-6 new file mode 100644 index 0000000000..530369d672 --- /dev/null +++ b/tests/ref/fate/cbs-mpeg2-tcela-6 @@ -0,0 +1 @@ +771b6756a63793e05b74e645794908a2