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-08-15 18:14:32 +01:00
parent d8928ad6b6
commit 809b0402dc
38 changed files with 116 additions and 0 deletions

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
tests/fate/cbs.mak Normal file
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)

View File

@ -0,0 +1 @@
9b8884667eda0b9853bec631458686ce

View File

@ -0,0 +1 @@
00c52ae60bf9a41ae1145fbf5fea9838

View File

@ -0,0 +1 @@
2d94c80b858aec880530bad47afe3668

View File

@ -0,0 +1 @@
59ff1df9b25e80277cad4ad99e634df6

View File

@ -0,0 +1 @@
669f4f3d3ae35fa5a6f5c94e48776dcf

View File

@ -0,0 +1 @@
0c1d9694df747cc4697caf866bd3051a

View File

@ -0,0 +1 @@
7817d89bd749bc617a225978958a3af0

View File

@ -0,0 +1 @@
ca8bdba497bd2f3b97c50d59692eb537

View File

@ -0,0 +1 @@
01290611165b8d8ccba8468f3dae4c4d

View File

@ -0,0 +1 @@
f7d5474ec576eea3f70d83a26a641a60

View File

@ -0,0 +1 @@
699d37e66764ddb3b4265c299ca77dcd

View File

@ -0,0 +1 @@
443e55dd5f63dccf9a62acbb48451b08

View File

@ -0,0 +1 @@
fd01840ed6b086c3118b7c53c86d01f5

View File

@ -0,0 +1 @@
8405c5583d31d7015ed401b34b4ec93c

View File

@ -0,0 +1 @@
44d1c0b80828af779d942cc20dde4ea4

View File

@ -0,0 +1 @@
ae9311dfcaf65bb8de9c4fcf23ce0871

View File

@ -0,0 +1 @@
dce8104b2addbdd601eb280a88e18583

View File

@ -0,0 +1 @@
716a90051f028c90daeb86b3825af36d

View File

@ -0,0 +1 @@
11b599202a4d25693123bea8bb003e54

View File

@ -0,0 +1 @@
25cf94dfa2e0334eeedbfa9a8ed1c4b2

View File

@ -0,0 +1 @@
e87fbd90c297d401738db928e3e04dd4

View File

@ -0,0 +1 @@
4993d49d6f2f532dfc683a9d26c1e313

View File

@ -0,0 +1 @@
f5d2633eefcd95e189faf4302d270457

View File

@ -0,0 +1 @@
97bd4fefd8cd95584f586027e244f283

View File

@ -0,0 +1 @@
b2528ef681729176ccb38a77be93a0de

View File

@ -0,0 +1 @@
72cf53bbc967c9679e21a6d3203edb07

View File

@ -0,0 +1 @@
59a22d715e30748492da5e0b9d421909

View File

@ -0,0 +1 @@
647eb851b935fd3bc6a98ce5ce45dbc7

View File

@ -0,0 +1 @@
85a114def19cefbd0fb0daf8370d711c

View File

@ -0,0 +1 @@
de7d440b556eea827953e6d12aeb4023

View File

@ -0,0 +1 @@
f197136f1fb3242c3422a48470dd7d35

View File

@ -0,0 +1 @@
158312a1a35ef4b20cb4aeee48549c03

View File

@ -0,0 +1 @@
2e1f9c95364cfac2aa6e6ee3a52c43c4

View File

@ -0,0 +1 @@
e0c2fdd9baeba0c5ba5839a8cd7a72d3

View File

@ -0,0 +1 @@
b1e15a09cfffbad801810af0928736ab

View File

@ -0,0 +1 @@
771b6756a63793e05b74e645794908a2