lavc: add a native Opus decoder.
[ffmpeg.git] / tests / fate / opus.mak
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 = avconv -i $(TARGET_SAMPLES)/opus/$(1).mka -f f32le -
18 fate-opus-$(1): REF = $(TARGET_SAMPLES)/opus/$(1).f32
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 = f32
30 $(FATE_OPUS): FUZZ = 3
31
32 $(FATE_OPUS_CELT): CMP = oneoff
33 $(FATE_OPUS_CELT): FUZZ = 5
34
35 FATE_SAMPLES_AVCONV-$(call DEMDEC, MATROSKA, OPUS) += $(FATE_OPUS)
36 fate-opus-celt: $(FATE_OPUS_CELT)
37 fate-opus-hybrid: $(FATE_OPUS_HYBRID)
38 fate-opus-silk: $(FATE_OPUS_SILK)
39 fate-opus: $(FATE_OPUS)