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/>

(cherry picked from commit 3cae7f8b9b)
(cherry picked from commit fbd63170bc)
This commit is contained in:
Mark Thompson
2017-10-17 20:56:30 +01:00
parent d8928ad6b6
commit 809b0402dc
38 changed files with 116 additions and 0 deletions
+1
View File
@@ -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
+79
View File
@@ -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)
+1
View File
@@ -0,0 +1 @@
9b8884667eda0b9853bec631458686ce
+1
View File
@@ -0,0 +1 @@
00c52ae60bf9a41ae1145fbf5fea9838
+1
View File
@@ -0,0 +1 @@
2d94c80b858aec880530bad47afe3668
+1
View File
@@ -0,0 +1 @@
59ff1df9b25e80277cad4ad99e634df6
+1
View File
@@ -0,0 +1 @@
669f4f3d3ae35fa5a6f5c94e48776dcf
@@ -0,0 +1 @@
0c1d9694df747cc4697caf866bd3051a
+1
View File
@@ -0,0 +1 @@
7817d89bd749bc617a225978958a3af0
+1
View File
@@ -0,0 +1 @@
ca8bdba497bd2f3b97c50d59692eb537
+1
View File
@@ -0,0 +1 @@
01290611165b8d8ccba8468f3dae4c4d
+1
View File
@@ -0,0 +1 @@
f7d5474ec576eea3f70d83a26a641a60
+1
View File
@@ -0,0 +1 @@
699d37e66764ddb3b4265c299ca77dcd
+1
View File
@@ -0,0 +1 @@
443e55dd5f63dccf9a62acbb48451b08
@@ -0,0 +1 @@
fd01840ed6b086c3118b7c53c86d01f5
+1
View File
@@ -0,0 +1 @@
8405c5583d31d7015ed401b34b4ec93c
+1
View File
@@ -0,0 +1 @@
44d1c0b80828af779d942cc20dde4ea4
+1
View File
@@ -0,0 +1 @@
ae9311dfcaf65bb8de9c4fcf23ce0871
+1
View File
@@ -0,0 +1 @@
dce8104b2addbdd601eb280a88e18583
+1
View File
@@ -0,0 +1 @@
716a90051f028c90daeb86b3825af36d
@@ -0,0 +1 @@
11b599202a4d25693123bea8bb003e54
+1
View File
@@ -0,0 +1 @@
25cf94dfa2e0334eeedbfa9a8ed1c4b2
@@ -0,0 +1 @@
e87fbd90c297d401738db928e3e04dd4
@@ -0,0 +1 @@
4993d49d6f2f532dfc683a9d26c1e313
@@ -0,0 +1 @@
f5d2633eefcd95e189faf4302d270457
+1
View File
@@ -0,0 +1 @@
97bd4fefd8cd95584f586027e244f283
+1
View File
@@ -0,0 +1 @@
b2528ef681729176ccb38a77be93a0de
+1
View File
@@ -0,0 +1 @@
72cf53bbc967c9679e21a6d3203edb07
+1
View File
@@ -0,0 +1 @@
59a22d715e30748492da5e0b9d421909
@@ -0,0 +1 @@
647eb851b935fd3bc6a98ce5ce45dbc7
+1
View File
@@ -0,0 +1 @@
85a114def19cefbd0fb0daf8370d711c
@@ -0,0 +1 @@
de7d440b556eea827953e6d12aeb4023
@@ -0,0 +1 @@
f197136f1fb3242c3422a48470dd7d35
+1
View File
@@ -0,0 +1 @@
158312a1a35ef4b20cb4aeee48549c03
+1
View File
@@ -0,0 +1 @@
2e1f9c95364cfac2aa6e6ee3a52c43c4
@@ -0,0 +1 @@
e0c2fdd9baeba0c5ba5839a8cd7a72d3
+1
View File
@@ -0,0 +1 @@
b1e15a09cfffbad801810af0928736ab
+1
View File
@@ -0,0 +1 @@
771b6756a63793e05b74e645794908a2