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.
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)
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
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
),)))
26 FATE_OPUS
:= $(sort $(FATE_OPUS
))
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
40 $(FATE_OPUS_CELT
): CMP
= oneoff
41 $(FATE_OPUS_CELT
): FUZZ
= 6
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
)