summaryrefslogtreecommitdiff
path: root/tests/fate/opus.mak
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-05-15 14:50:12 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-05-15 18:20:17 +0200
commit2c7d3ecfc962fe2d2afa84cd347136060468fe0e (patch)
treec41ba636d60abccf4acaab315de41823967a033e /tests/fate/opus.mak
parent8b96f31817be57f0542834e7d6bdaecf2db6fd50 (diff)
parentb70d7a4ac72d23f3448f3b08b770fdf5f57de222 (diff)
Merge commit 'b70d7a4ac72d23f3448f3b08b770fdf5f57de222'
* commit 'b70d7a4ac72d23f3448f3b08b770fdf5f57de222': lavc: add a native Opus decoder. Conflicts: Changelog configure libavcodec/version.h Fate tests pass with both avresample as well as swresample based opus decoder, but are disabled (reference files are very large so i want to think a day or 2 about if theres an alternative or if they could be avoided, they also dont match the official samples) Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'tests/fate/opus.mak')
-rw-r--r--tests/fate/opus.mak39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/fate/opus.mak b/tests/fate/opus.mak
new file mode 100644
index 0000000000..515087b73a
--- /dev/null
+++ b/tests/fate/opus.mak
@@ -0,0 +1,39 @@
+# The samples were produced by simply rewrapping the official test vectors from
+# their custom format into Matroska.
+# The reference files were created with our decoder and tested against the
+# libopus output with the official opus_compare tool. We cannot use libopus
+# output as reference directly, because the use of different resamplers would
+# require too high fuzz values, which can hide bugs.
+# Before adding new tests here, always make sure they pass opus_compare.
+
+OPUS_CELT_SAMPLES = $(addprefix testvector, 01 07 11) tron.6ch.tinypkts
+OPUS_HYBRID_SAMPLES = $(addprefix testvector, 05 06)
+OPUS_SILK_SAMPLES = $(addprefix testvector, 02 03 04)
+OPUS_SAMPLES = $(addprefix testvector, 08 09 10 12)
+
+define FATE_OPUS_TEST
+FATE_OPUS += fate-opus-$(1)
+FATE_OPUS$(2) += fate-opus-$(1)
+fate-opus-$(1): CMD = ffmpeg -i $(TARGET_SAMPLES)/opus/$(1).mka -f f32le -
+fate-opus-$(1): REF = $(TARGET_SAMPLES)/opus/$(1).f32
+endef
+
+$(foreach N,$(OPUS_CELT_SAMPLES), $(eval $(call FATE_OPUS_TEST,$(N),_CELT)))
+$(foreach N,$(OPUS_HYBRID_SAMPLES),$(eval $(call FATE_OPUS_TEST,$(N),_HYBRID)))
+$(foreach N,$(OPUS_SILK_SAMPLES), $(eval $(call FATE_OPUS_TEST,$(N),_SILK)))
+$(foreach N,$(OPUS_SAMPLES), $(eval $(call FATE_OPUS_TEST,$(N),)))
+
+FATE_OPUS := $(sort $(FATE_OPUS))
+
+$(FATE_OPUS): CMP = stddev
+$(FATE_OPUS): CMP_UNIT = f32
+$(FATE_OPUS): FUZZ = 3
+
+$(FATE_OPUS_CELT): CMP = oneoff
+$(FATE_OPUS_CELT): FUZZ = 5
+
+#FATE_SAMPLES_AVCONV-$(call DEMDEC, MATROSKA, OPUS) += $(FATE_OPUS)
+fate-opus-celt: $(FATE_OPUS_CELT)
+fate-opus-hybrid: $(FATE_OPUS_HYBRID)
+fate-opus-silk: $(FATE_OPUS_SILK)
+fate-opus: $(FATE_OPUS)