[FFmpeg-cvslog] lavc/cbs: Add tests for VP9
Mark Thompson
git at videolan.org
Wed May 2 03:32:48 EEST 2018
ffmpeg | branch: master | Mark Thompson <sw at jkqxz.net> | Sat Apr 7 18:57:37 2018 +0100| [ddd3a209dc5a535a4fca7fadd532e767651bd372] | committer: Mark Thompson
lavc/cbs: Add tests for VP9
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.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ddd3a209dc5a535a4fca7fadd532e767651bd372
---
tests/fate/cbs.mak | 34 ++++++++++++++++++----
tests/ref/fate/cbs-vp9-vp90-2-03-deltaq | 1 +
tests/ref/fate/cbs-vp9-vp90-2-05-resize | 1 +
tests/ref/fate/cbs-vp9-vp90-2-06-bilinear | 1 +
tests/ref/fate/cbs-vp9-vp90-2-09-lf_deltas | 1 +
.../ref/fate/cbs-vp9-vp90-2-10-show-existing-frame | 1 +
.../fate/cbs-vp9-vp90-2-10-show-existing-frame2 | 1 +
.../ref/fate/cbs-vp9-vp90-2-segmentation-aq-akiyo | 1 +
.../ref/fate/cbs-vp9-vp90-2-segmentation-sf-akiyo | 1 +
tests/ref/fate/cbs-vp9-vp90-2-tiling-pedestrian | 1 +
tests/ref/fate/cbs-vp9-vp91-2-04-yuv440 | 1 +
tests/ref/fate/cbs-vp9-vp91-2-04-yuv444 | 1 +
tests/ref/fate/cbs-vp9-vp92-2-20-10bit-yuv420 | 1 +
tests/ref/fate/cbs-vp9-vp93-2-20-10bit-yuv422 | 1 +
tests/ref/fate/cbs-vp9-vp93-2-20-12bit-yuv444 | 1 +
15 files changed, 43 insertions(+), 5 deletions(-)
diff --git a/tests/fate/cbs.mak b/tests/fate/cbs.mak
index fc5967e6f3..0f773abd05 100644
--- a/tests/fate/cbs.mak
+++ b/tests/fate/cbs.mak
@@ -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
index 0000000000..db09cfd5e0
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp90-2-03-deltaq
@@ -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
index 0000000000..8f036bba81
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp90-2-05-resize
@@ -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
index 0000000000..f579459179
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp90-2-06-bilinear
@@ -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
index 0000000000..e0b5686d0b
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp90-2-09-lf_deltas
@@ -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
index 0000000000..4a4d752428
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame
@@ -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
index 0000000000..6da8999114
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp90-2-10-show-existing-frame2
@@ -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
index 0000000000..12dfb10d40
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp90-2-segmentation-aq-akiyo
@@ -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
index 0000000000..c2b1b8723a
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp90-2-segmentation-sf-akiyo
@@ -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
index 0000000000..f9cab39bd6
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp90-2-tiling-pedestrian
@@ -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
index 0000000000..6289930070
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp91-2-04-yuv440
@@ -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
index 0000000000..628ea9a4d9
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp91-2-04-yuv444
@@ -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
index 0000000000..eeb7580d74
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp92-2-20-10bit-yuv420
@@ -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
index 0000000000..b25bc1166e
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp93-2-20-10bit-yuv422
@@ -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
index 0000000000..8d122d1370
--- /dev/null
+++ b/tests/ref/fate/cbs-vp9-vp93-2-20-12bit-yuv444
@@ -0,0 +1 @@
+0f413b840633bfcfcc78b4c9fab933bf
More information about the ffmpeg-cvslog
mailing list