lavc/cbs: Add tests for VP9
authorMark Thompson <sw@jkqxz.net>
Sat, 7 Apr 2018 17:57:37 +0000 (18:57 +0100)
committerMark Thompson <sw@jkqxz.net>
Wed, 2 May 2018 00:21:40 +0000 (01:21 +0100)
Uses the same mechanism as other codecs - conformance test files are
passed through the metadata filter (which, with no options, reads the
input and writes it back) and the output verified to match the input.

15 files changed:
tests/fate/cbs.mak
tests/ref/fate/cbs-vp9-vp90-2-03-deltaq [new file with mode: 0644]
tests/ref/fate/cbs-vp9-vp90-2-05-resize [new file with mode: 0644]
tests/ref/fate/cbs-vp9-vp90-2-06-bilinear [new file with mode: 0644]
tests/ref/fate/cbs-vp9-vp90-2-09-lf_deltas [new file with mode: 0644]
tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame [new file with mode: 0644]
tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame2 [new file with mode: 0644]
tests/ref/fate/cbs-vp9-vp90-2-segmentation-aq-akiyo [new file with mode: 0644]
tests/ref/fate/cbs-vp9-vp90-2-segmentation-sf-akiyo [new file with mode: 0644]
tests/ref/fate/cbs-vp9-vp90-2-tiling-pedestrian [new file with mode: 0644]
tests/ref/fate/cbs-vp9-vp91-2-04-yuv440 [new file with mode: 0644]
tests/ref/fate/cbs-vp9-vp91-2-04-yuv444 [new file with mode: 0644]
tests/ref/fate/cbs-vp9-vp92-2-20-10bit-yuv420 [new file with mode: 0644]
tests/ref/fate/cbs-vp9-vp93-2-20-10bit-yuv422 [new file with mode: 0644]
tests/ref/fate/cbs-vp9-vp93-2-20-12bit-yuv444 [new file with mode: 0644]

index fc5967e..0f773ab 100644 (file)
@@ -2,9 +2,9 @@
 # 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: fate-cbs-h264 fate-cbs-hevc fate-cbs-mpeg2 fate-cbs-vp9
 
-FATE_CBS_DEPS = $(call ALLYES, $(1)_DEMUXER $(1)_PARSER $(2)_METADATA_BSF $(3)_DECODER $(3)_MUXER)
+FATE_CBS_DEPS = $(call ALLYES, $(1)_DEMUXER $(2)_PARSER $(3)_METADATA_BSF $(4)_DECODER $(5)_MUXER)
 
 define FATE_CBS_TEST
 # (codec, test_name, sample_file, output_format)
@@ -32,7 +32,7 @@ FATE_CBS_H264_SAMPLES =   \
 
 $(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_CBS_H264-$(call FATE_CBS_DEPS, H264, H264, H264, H264, H264) = $(FATE_CBS_h264)
 FATE_SAMPLES_AVCONV += $(FATE_CBS_H264-yes)
 fate-cbs-h264: $(FATE_CBS_H264-yes)
 
@@ -61,7 +61,7 @@ FATE_CBS_HEVC_SAMPLES =       \
 
 $(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_CBS_HEVC-$(call FATE_CBS_DEPS, HEVC, HEVC, HEVC, HEVC, HEVC) = $(FATE_CBS_hevc)
 FATE_SAMPLES_AVCONV += $(FATE_CBS_HEVC-yes)
 fate-cbs-hevc: $(FATE_CBS_HEVC-yes)
 
@@ -74,6 +74,30 @@ FATE_CBS_MPEG2_SAMPLES =     \
 
 $(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_CBS_MPEG2-$(call FATE_CBS_DEPS, MPEGVIDEO, MPEGVIDEO, MPEG2, MPEG2VIDEO, MPEG2VIDEO) = $(FATE_CBS_mpeg2)
 FATE_SAMPLES_AVCONV += $(FATE_CBS_MPEG2-yes)
 fate-cbs-mpeg2: $(FATE_CBS_MPEG2-yes)
+
+# VP9 read/write
+
+FATE_CBS_VP9_SAMPLES =                  \
+    vp90-2-03-deltaq.webm               \
+    vp90-2-05-resize.ivf                \
+    vp90-2-06-bilinear.webm             \
+    vp90-2-09-lf_deltas.webm            \
+    vp90-2-10-show-existing-frame.webm  \
+    vp90-2-10-show-existing-frame2.webm \
+    vp90-2-segmentation-aq-akiyo.webm   \
+    vp90-2-segmentation-sf-akiyo.webm   \
+    vp90-2-tiling-pedestrian.webm       \
+    vp91-2-04-yuv440.webm               \
+    vp91-2-04-yuv444.webm               \
+    vp92-2-20-10bit-yuv420.webm         \
+    vp93-2-20-10bit-yuv422.webm         \
+    vp93-2-20-12bit-yuv444.webm
+
+$(foreach N,$(FATE_CBS_VP9_SAMPLES),$(eval $(call FATE_CBS_TEST,vp9,$(basename $(N)),vp9-test-vectors/$(N),ivf)))
+
+FATE_CBS_VP9-$(call FATE_CBS_DEPS, IVF, VP9, VP9, VP9, IVF) = $(FATE_CBS_vp9)
+FATE_SAMPLES_AVCONV += $(FATE_CBS_VP9-yes)
+fate-cbs-vp9: $(FATE_CBS_VP9-yes)
diff --git a/tests/ref/fate/cbs-vp9-vp90-2-03-deltaq b/tests/ref/fate/cbs-vp9-vp90-2-03-deltaq
new file mode 100644 (file)
index 0000000..db09cfd
--- /dev/null
@@ -0,0 +1 @@
+bb630ef560f83951fa6547a664fdb636
diff --git a/tests/ref/fate/cbs-vp9-vp90-2-05-resize b/tests/ref/fate/cbs-vp9-vp90-2-05-resize
new file mode 100644 (file)
index 0000000..8f036bb
--- /dev/null
@@ -0,0 +1 @@
+6838422ebb45df353a2bad62b9aff8e9
diff --git a/tests/ref/fate/cbs-vp9-vp90-2-06-bilinear b/tests/ref/fate/cbs-vp9-vp90-2-06-bilinear
new file mode 100644 (file)
index 0000000..f579459
--- /dev/null
@@ -0,0 +1 @@
+2ca9d012c7212e38f5e2727ac66ec6c5
diff --git a/tests/ref/fate/cbs-vp9-vp90-2-09-lf_deltas b/tests/ref/fate/cbs-vp9-vp90-2-09-lf_deltas
new file mode 100644 (file)
index 0000000..e0b5686
--- /dev/null
@@ -0,0 +1 @@
+78f5e46bfaecbcd62b9126697a0d97b7
diff --git a/tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame b/tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame
new file mode 100644 (file)
index 0000000..4a4d752
--- /dev/null
@@ -0,0 +1 @@
+eea9d10a696c6ed971e4fae9fb619b10
diff --git a/tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame2 b/tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame2
new file mode 100644 (file)
index 0000000..6da8999
--- /dev/null
@@ -0,0 +1 @@
+abf4c7d4be7d3576d96b6f92166b5894
diff --git a/tests/ref/fate/cbs-vp9-vp90-2-segmentation-aq-akiyo b/tests/ref/fate/cbs-vp9-vp90-2-segmentation-aq-akiyo
new file mode 100644 (file)
index 0000000..12dfb10
--- /dev/null
@@ -0,0 +1 @@
+86cd3750cc9a0672717643c9b9f87fd5
diff --git a/tests/ref/fate/cbs-vp9-vp90-2-segmentation-sf-akiyo b/tests/ref/fate/cbs-vp9-vp90-2-segmentation-sf-akiyo
new file mode 100644 (file)
index 0000000..c2b1b87
--- /dev/null
@@ -0,0 +1 @@
+5d12fbe6220aae9e62b1d79785a83387
diff --git a/tests/ref/fate/cbs-vp9-vp90-2-tiling-pedestrian b/tests/ref/fate/cbs-vp9-vp90-2-tiling-pedestrian
new file mode 100644 (file)
index 0000000..f9cab39
--- /dev/null
@@ -0,0 +1 @@
+4c51f3c796baa7c2baa4b7ec0d011406
diff --git a/tests/ref/fate/cbs-vp9-vp91-2-04-yuv440 b/tests/ref/fate/cbs-vp9-vp91-2-04-yuv440
new file mode 100644 (file)
index 0000000..6289930
--- /dev/null
@@ -0,0 +1 @@
+293bdc92851ca1105e27f04737d8c5f3
diff --git a/tests/ref/fate/cbs-vp9-vp91-2-04-yuv444 b/tests/ref/fate/cbs-vp9-vp91-2-04-yuv444
new file mode 100644 (file)
index 0000000..628ea9a
--- /dev/null
@@ -0,0 +1 @@
+911eafd8e442e646c5ce97d781757ca8
diff --git a/tests/ref/fate/cbs-vp9-vp92-2-20-10bit-yuv420 b/tests/ref/fate/cbs-vp9-vp92-2-20-10bit-yuv420
new file mode 100644 (file)
index 0000000..eeb7580
--- /dev/null
@@ -0,0 +1 @@
+16198c32c29228e0513004ed1bf6fcee
diff --git a/tests/ref/fate/cbs-vp9-vp93-2-20-10bit-yuv422 b/tests/ref/fate/cbs-vp9-vp93-2-20-10bit-yuv422
new file mode 100644 (file)
index 0000000..b25bc11
--- /dev/null
@@ -0,0 +1 @@
+4bceedef4aa6a663a09761971e43b5a8
diff --git a/tests/ref/fate/cbs-vp9-vp93-2-20-12bit-yuv444 b/tests/ref/fate/cbs-vp9-vp93-2-20-12bit-yuv444
new file mode 100644 (file)
index 0000000..8d122d1
--- /dev/null
@@ -0,0 +1 @@
+0f413b840633bfcfcc78b4c9fab933bf