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/>
pull/272/head
Mark Thompson 8 years ago
parent 9b1c091114
commit 3cae7f8b9b
  1. 1
      tests/Makefile
  2. 74
      tests/fate/cbs.mak
  3. 1
      tests/ref/fate/cbs-h264-AUD_MW_E
  4. 1
      tests/ref/fate/cbs-h264-BASQP1_Sony_C
  5. 1
      tests/ref/fate/cbs-h264-CABACI3_Sony_B
  6. 1
      tests/ref/fate/cbs-h264-CVBS3_Sony_C
  7. 1
      tests/ref/fate/cbs-h264-CVFC1_Sony_C
  8. 1
      tests/ref/fate/cbs-h264-CVMANL1_TOSHIBA_B
  9. 1
      tests/ref/fate/cbs-h264-CVNLFI1_Sony_C
  10. 1
      tests/ref/fate/cbs-h264-CVSE2_Sony_B
  11. 1
      tests/ref/fate/cbs-h264-CVWP1_TOSHIBA_E
  12. 1
      tests/ref/fate/cbs-h264-FM1_BT_B
  13. 1
      tests/ref/fate/cbs-h264-MR1_BT_A
  14. 1
      tests/ref/fate/cbs-h264-SVA_Base_B
  15. 1
      tests/ref/fate/cbs-h264-Sharp_MP_PAFF_1r2
  16. 1
      tests/ref/fate/cbs-h264-sp1_bt_a
  17. 1
      tests/ref/fate/cbs-hevc-CAINIT_E_SHARP_3
  18. 1
      tests/ref/fate/cbs-hevc-CAINIT_H_SHARP_3
  19. 1
      tests/ref/fate/cbs-hevc-CONFWIN_A_Sony_1
  20. 1
      tests/ref/fate/cbs-hevc-HRD_A_Fujitsu_2
  21. 1
      tests/ref/fate/cbs-hevc-LTRPSPS_A_Qualcomm_1
  22. 1
      tests/ref/fate/cbs-hevc-NUT_A_ericsson_5
  23. 1
      tests/ref/fate/cbs-hevc-PICSIZE_A_Bossen_1
  24. 1
      tests/ref/fate/cbs-hevc-PICSIZE_B_Bossen_1
  25. 1
      tests/ref/fate/cbs-hevc-RPLM_A_qualcomm_4
  26. 1
      tests/ref/fate/cbs-hevc-RPS_A_docomo_4
  27. 1
      tests/ref/fate/cbs-hevc-RPS_E_qualcomm_5
  28. 1
      tests/ref/fate/cbs-hevc-SLIST_A_Sony_4
  29. 1
      tests/ref/fate/cbs-hevc-SLIST_D_Sony_9
  30. 1
      tests/ref/fate/cbs-hevc-STRUCT_A_Samsung_5
  31. 1
      tests/ref/fate/cbs-hevc-TILES_B_Cisco_1
  32. 1
      tests/ref/fate/cbs-hevc-WPP_A_ericsson_MAIN_2
  33. 1
      tests/ref/fate/cbs-hevc-WPP_F_ericsson_MAIN_2
  34. 1
      tests/ref/fate/cbs-hevc-WP_A_Toshiba_3
  35. 1
      tests/ref/fate/cbs-hevc-ipcm_E_NEC_2
  36. 1
      tests/ref/fate/cbs-mpeg2-hhi_burst_422_short
  37. 1
      tests/ref/fate/cbs-mpeg2-sony-ct3
  38. 1
      tests/ref/fate/cbs-mpeg2-tcela-6

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

@ -0,0 +1,74 @@
# 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)

@ -0,0 +1 @@
9b8884667eda0b9853bec631458686ce

@ -0,0 +1 @@
00c52ae60bf9a41ae1145fbf5fea9838

@ -0,0 +1 @@
2d94c80b858aec880530bad47afe3668

@ -0,0 +1 @@
59ff1df9b25e80277cad4ad99e634df6

@ -0,0 +1 @@
669f4f3d3ae35fa5a6f5c94e48776dcf

@ -0,0 +1 @@
0c1d9694df747cc4697caf866bd3051a

@ -0,0 +1 @@
7817d89bd749bc617a225978958a3af0

@ -0,0 +1 @@
ca8bdba497bd2f3b97c50d59692eb537

@ -0,0 +1 @@
01290611165b8d8ccba8468f3dae4c4d

@ -0,0 +1 @@
336a9b1373ee04af7b0b1de0da9a32f8

@ -0,0 +1 @@
699d37e66764ddb3b4265c299ca77dcd

@ -0,0 +1 @@
443e55dd5f63dccf9a62acbb48451b08

@ -0,0 +1 @@
fd01840ed6b086c3118b7c53c86d01f5

@ -0,0 +1 @@
8405c5583d31d7015ed401b34b4ec93c

@ -0,0 +1 @@
52fc63c7b3e30c0550f4b708477846a5

@ -0,0 +1 @@
c951f0cd30502cf3cebc9d700d3ed67e

@ -0,0 +1 @@
dce8104b2addbdd601eb280a88e18583

@ -0,0 +1 @@
f150da624547ace5f7a983e714aa46be

@ -0,0 +1 @@
11b599202a4d25693123bea8bb003e54

@ -0,0 +1 @@
e089d60eb3a4e0393954fca75dc9b362

@ -0,0 +1 @@
df7bdc626044ff4a11644fd347219c0c

@ -0,0 +1 @@
b7895403cc9f873eba468b54735cc481

@ -0,0 +1 @@
7a6ca92743ed41e36d422025f639b229

@ -0,0 +1 @@
97bd4fefd8cd95584f586027e244f283

@ -0,0 +1 @@
22199ff2b02e1cde89a2d8778a916c43

@ -0,0 +1 @@
c589578c4d19daf6f1d001a60e694fae

@ -0,0 +1 @@
49cd3af1ed065f2493e75986c81e48b6

@ -0,0 +1 @@
647eb851b935fd3bc6a98ce5ce45dbc7

@ -0,0 +1 @@
85a114def19cefbd0fb0daf8370d711c

@ -0,0 +1 @@
904128c902b6feed228215446db940ac

@ -0,0 +1 @@
8fe3ada65124de5412886c892119c150

@ -0,0 +1 @@
6ea47b7a46cd254b3348a86033a9aa56

@ -0,0 +1 @@
2e1f9c95364cfac2aa6e6ee3a52c43c4

@ -0,0 +1 @@
e0c2fdd9baeba0c5ba5839a8cd7a72d3

@ -0,0 +1 @@
b1e15a09cfffbad801810af0928736ab

@ -0,0 +1 @@
771b6756a63793e05b74e645794908a2
Loading…
Cancel
Save