| 1 | # The samples were produced by simply rewrapping the official test vectors from |
| 2 | # their custom format into Matroska. |
| 3 | # The reference files were created with our decoder and tested against the |
| 4 | # libopus output with the official opus_compare tool. We cannot use libopus |
| 5 | # output as reference directly, because the use of different resamplers would |
| 6 | # require too high fuzz values, which can hide bugs. |
| 7 | # Before adding new tests here, always make sure they pass opus_compare. |
| 8 | |
| 9 | OPUS_CELT_SAMPLES = $(addprefix testvector, 01 07 11) tron.6ch.tinypkts |
| 10 | OPUS_HYBRID_SAMPLES = $(addprefix testvector, 05 06) |
| 11 | OPUS_SILK_SAMPLES = $(addprefix testvector, 02 03 04) |
| 12 | OPUS_SAMPLES = $(addprefix testvector, 08 09 10 12) |
| 13 | |
| 14 | define FATE_OPUS_TEST |
| 15 | FATE_OPUS += fate-opus-$(1) |
| 16 | FATE_OPUS$(2) += fate-opus-$(1) |
| 17 | fate-opus-$(1): CMD = ffmpeg -i $(TARGET_SAMPLES)/opus/$(1).mka -f s16le - |
| 18 | fate-opus-$(1): REF = $(SAMPLES)/opus/$(1).dec |
| 19 | endef |
| 20 | |
| 21 | $(foreach N,$(OPUS_CELT_SAMPLES), $(eval $(call FATE_OPUS_TEST,$(N),_CELT))) |
| 22 | $(foreach N,$(OPUS_HYBRID_SAMPLES),$(eval $(call FATE_OPUS_TEST,$(N),_HYBRID))) |
| 23 | $(foreach N,$(OPUS_SILK_SAMPLES), $(eval $(call FATE_OPUS_TEST,$(N),_SILK))) |
| 24 | $(foreach N,$(OPUS_SAMPLES), $(eval $(call FATE_OPUS_TEST,$(N),))) |
| 25 | |
| 26 | FATE_OPUS := $(sort $(FATE_OPUS)) |
| 27 | |
| 28 | $(FATE_OPUS): CMP = stddev |
| 29 | $(FATE_OPUS): CMP_UNIT = s16 |
| 30 | $(FATE_OPUS): FUZZ = 3 |
| 31 | fate-opus-testvector02: CMP_TARGET = 191 |
| 32 | fate-opus-testvector03: CMP_TARGET = 139 |
| 33 | fate-opus-testvector04: CMP_TARGET = 119 |
| 34 | fate-opus-testvector05: CMP_TARGET = 108 |
| 35 | fate-opus-testvector06: CMP_TARGET = 106 |
| 36 | fate-opus-testvector08: CMP_TARGET = 6 |
| 37 | fate-opus-testvector10: CMP_TARGET = 38 |
| 38 | fate-opus-testvector12: CMP_TARGET = 160 |
| 39 | |
| 40 | $(FATE_OPUS_CELT): CMP = oneoff |
| 41 | $(FATE_OPUS_CELT): FUZZ = 6 |
| 42 | |
| 43 | FATE_SAMPLES_AVCONV-$(call DEMDEC, MATROSKA, OPUS) += $(FATE_OPUS) |
| 44 | fate-opus-celt: $(FATE_OPUS_CELT) |
| 45 | fate-opus-hybrid: $(FATE_OPUS_HYBRID) |
| 46 | fate-opus-silk: $(FATE_OPUS_SILK) |
| 47 | fate-opus: $(FATE_OPUS) |