From af86ff142a4ef5fb4d216516c51fe77a04cfd0fa Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 6 Apr 2026 17:01:50 +0200 Subject: [PATCH] fate/voice: add comfortnoise encoder-decoder FATE test Add a CNG (comfortnoise) round-trip FATE test using the existing enc_dec_pcm + framemd5 pattern and include its generated reference output. and a 2nd test that compares MD5 of the encoded stream Tested on x86-32 & 64, arm, mips qemu Co-Authored-with: AI --- tests/fate/voice.mak | 14 ++++++++++++++ tests/ref/fate/cng-enc-md5 | 1 + 2 files changed, 15 insertions(+) create mode 100644 tests/ref/fate/cng-enc-md5 diff --git a/tests/fate/voice.mak b/tests/fate/voice.mak index 624bb347cc..70855788d2 100644 --- a/tests/fate/voice.mak +++ b/tests/fate/voice.mak @@ -6,6 +6,20 @@ fate-g722-encode: tests/data/asynth-16000-1.wav fate-g722-encode: SRC = tests/data/asynth-16000-1.wav fate-g722-encode: CMD = enc_dec_pcm wav framemd5 s16le $(SRC) -c:a g722 +FATE_VOICE-$(call ENCDEC, COMFORTNOISE, NUT, WAV_DEMUXER PCM_S16LE_DECODER WAV_MUXER PCM_S16LE_ENCODER PIPE_PROTOCOL) += fate-cng-encode +fate-cng-encode: tests/data/asynth-8000-1.wav +fate-cng-encode: SRC = tests/data/asynth-8000-1.wav +fate-cng-encode: CMD = enc_dec_pcm nut wav s16le $(SRC) -c:a comfortnoise +fate-cng-encode: REF = $(SRC) +fate-cng-encode: CMP = stddev +fate-cng-encode: CMP_TARGET = 8919.49 +fate-cng-encode: FUZZ = 0.1 + +FATE_VOICE-$(call ENCMUX, COMFORTNOISE, NUT, WAV_DEMUXER PCM_S16LE_DECODER FILE_PROTOCOL) += fate-cng-enc-md5 +fate-cng-enc-md5: tests/data/asynth-8000-1.wav +fate-cng-enc-md5: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-8000-1.wav -c:a comfortnoise -fflags +bitexact -flags +bitexact -f nut +fate-cng-enc-md5: REF = $(SRC_PATH)/tests/ref/fate/cng-enc-md5 + FATE_VOICE-yes += $(FATE_G722-yes) fate-g722: $(FATE_G722-yes) diff --git a/tests/ref/fate/cng-enc-md5 b/tests/ref/fate/cng-enc-md5 new file mode 100644 index 0000000000..9ad9786de6 --- /dev/null +++ b/tests/ref/fate/cng-enc-md5 @@ -0,0 +1 @@ +3c7b177f7ece7828040e3f346430bd17