Commit 3cae7f8b authored by Mark Thompson's avatar Mark Thompson

cbs: Add some read/write tests

Use the appropriate metadata filter for each codec - in the absence of any
options to modify the stream, the output bitstream should be identical to
the input (though the output file may differ in padding).

All tests use conformance bitstreams, the MPEG-2 streams are newly added
from the conformance test streams
<http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_IEC_13818-4_2004_Conformance_Testing/Video/>
parent 9b1c0911
...@@ -74,6 +74,7 @@ include $(SRC_PATH)/tests/fate/audio.mak ...@@ -74,6 +74,7 @@ include $(SRC_PATH)/tests/fate/audio.mak
include $(SRC_PATH)/tests/fate/bmp.mak include $(SRC_PATH)/tests/fate/bmp.mak
include $(SRC_PATH)/tests/fate/build.mak include $(SRC_PATH)/tests/fate/build.mak
include $(SRC_PATH)/tests/fate/canopus.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/cdxl.mak
include $(SRC_PATH)/tests/fate/checkasm.mak include $(SRC_PATH)/tests/fate/checkasm.mak
include $(SRC_PATH)/tests/fate/cover-art.mak include $(SRC_PATH)/tests/fate/cover-art.mak
......
# 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
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_SAMPLES_AVCONV += $(FATE_CBS_h264)
fate-cbs-h264: $(FATE_CBS_h264)
# 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_SAMPLES_AVCONV += $(FATE_CBS_hevc)
fate-cbs-hevc: $(FATE_CBS_hevc)
# 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_SAMPLES_AVCONV += $(FATE_CBS_mpeg2)
fate-cbs-mpeg2: $(FATE_CBS_mpeg2)
9b8884667eda0b9853bec631458686ce
00c52ae60bf9a41ae1145fbf5fea9838
2d94c80b858aec880530bad47afe3668
59ff1df9b25e80277cad4ad99e634df6
669f4f3d3ae35fa5a6f5c94e48776dcf
0c1d9694df747cc4697caf866bd3051a
7817d89bd749bc617a225978958a3af0
ca8bdba497bd2f3b97c50d59692eb537
01290611165b8d8ccba8468f3dae4c4d
336a9b1373ee04af7b0b1de0da9a32f8
699d37e66764ddb3b4265c299ca77dcd
443e55dd5f63dccf9a62acbb48451b08
fd01840ed6b086c3118b7c53c86d01f5
8405c5583d31d7015ed401b34b4ec93c
52fc63c7b3e30c0550f4b708477846a5
c951f0cd30502cf3cebc9d700d3ed67e
dce8104b2addbdd601eb280a88e18583
f150da624547ace5f7a983e714aa46be
11b599202a4d25693123bea8bb003e54
e089d60eb3a4e0393954fca75dc9b362
df7bdc626044ff4a11644fd347219c0c
b7895403cc9f873eba468b54735cc481
7a6ca92743ed41e36d422025f639b229
97bd4fefd8cd95584f586027e244f283
22199ff2b02e1cde89a2d8778a916c43
c589578c4d19daf6f1d001a60e694fae
49cd3af1ed065f2493e75986c81e48b6
647eb851b935fd3bc6a98ce5ce45dbc7
85a114def19cefbd0fb0daf8370d711c
904128c902b6feed228215446db940ac
8fe3ada65124de5412886c892119c150
6ea47b7a46cd254b3348a86033a9aa56
2e1f9c95364cfac2aa6e6ee3a52c43c4
e0c2fdd9baeba0c5ba5839a8cd7a72d3
b1e15a09cfffbad801810af0928736ab
771b6756a63793e05b74e645794908a2
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment