diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-05-15 14:50:12 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-05-15 18:20:17 +0200 |
commit | 2c7d3ecfc962fe2d2afa84cd347136060468fe0e (patch) | |
tree | c41ba636d60abccf4acaab315de41823967a033e /tests | |
parent | 8b96f31817be57f0542834e7d6bdaecf2db6fd50 (diff) | |
parent | b70d7a4ac72d23f3448f3b08b770fdf5f57de222 (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')
-rw-r--r-- | tests/Makefile | 1 | ||||
-rw-r--r-- | tests/fate/opus.mak | 39 |
2 files changed, 40 insertions, 0 deletions
diff --git a/tests/Makefile b/tests/Makefile index 7606a14b05..2a99199cb3 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -119,6 +119,7 @@ include $(SRC_PATH)/tests/fate/microsoft.mak include $(SRC_PATH)/tests/fate/monkeysaudio.mak include $(SRC_PATH)/tests/fate/mp3.mak include $(SRC_PATH)/tests/fate/mpc.mak +include $(SRC_PATH)/tests/fate/opus.mak include $(SRC_PATH)/tests/fate/pcm.mak include $(SRC_PATH)/tests/fate/probe.mak include $(SRC_PATH)/tests/fate/prores.mak 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) |