PR #22730 opened by michaelni URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22730 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22730.patch
>From c2d5e12d77bd2b6886aa90418bb2d30ded1f6b82 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer <[email protected]> Date: Mon, 6 Apr 2026 18:14:56 +0200 Subject: [PATCH 1/2] avformat/g726: Add file extensions for automated probing Signed-off-by: Michael Niedermayer <[email protected]> --- libavformat/g726.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/g726.c b/libavformat/g726.c index 05b7ba3d3e..295e576fb5 100644 --- a/libavformat/g726.c +++ b/libavformat/g726.c @@ -79,6 +79,7 @@ static const AVClass g726_demuxer_class = { const FFInputFormat ff_g726_demuxer = { .p.name = "g726", .p.long_name = NULL_IF_CONFIG_SMALL("raw big-endian G.726 (\"left aligned\")"), + .p.extensions = "g726", .p.priv_class = &g726_demuxer_class, .read_header = g726_read_header, .read_packet = g726_read_packet, @@ -91,6 +92,7 @@ const FFInputFormat ff_g726_demuxer = { const FFInputFormat ff_g726le_demuxer = { .p.name = "g726le", .p.long_name = NULL_IF_CONFIG_SMALL("raw little-endian G.726 (\"right aligned\")"), + .p.extensions = "g726le", .p.priv_class = &g726_demuxer_class, .read_header = g726_read_header, .read_packet = g726_read_packet, -- 2.52.0 >From 2e27958be3ca72b6a6dbad0962bf06eba13c0124 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer <[email protected]> Date: Mon, 6 Apr 2026 18:15:39 +0200 Subject: [PATCH 2/2] tests/fate/voice: Add fate-g726le-encode Co-Authored-by: AI Signed-off-by: Michael Niedermayer <[email protected]> --- tests/fate/voice.mak | 10 ++++++++++ tests/ref/fate/g726le-encode | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 tests/ref/fate/g726le-encode diff --git a/tests/fate/voice.mak b/tests/fate/voice.mak index 945b8624ac..82b989f564 100644 --- a/tests/fate/voice.mak +++ b/tests/fate/voice.mak @@ -54,6 +54,16 @@ $(FATE_G726): SRC = tests/data/asynth-8000-1.wav FATE_VOICE-$(call FRAMEMD5, WAV, ADPCM_G726, WAV_MUXER ADPCM_G726_ENCODER PCM_S16LE_DECODER) += $(FATE_G726) fate-g726: $(FATE_G726) +# Raw g726le demuxer defaults to code_size=4 (32 kbit/s); other bitrates need -code_size +# which enc_dec_pcm does not pass through, so only 32kbps is tested here (g726 also covers 16/24/32/40 in WAV). +FATE_G726LE += fate-g726le-encode +fate-g726le-encode: tests/data/asynth-8000-1.wav +fate-g726le-encode: SRC = tests/data/asynth-8000-1.wav +fate-g726le-encode: CMD = enc_dec_pcm g726le framemd5 s16le $(SRC) -c:a g726le -b:a 32k + +FATE_VOICE-$(call FRAMEMD5, G726LE, ADPCM_G726LE, G726LE_MUXER ADPCM_G726LE_ENCODER PCM_S16LE_DECODER) += $(FATE_G726LE) +fate-g726le: $(FATE_G726LE) + FATE_GSM-$(call FRAMECRC, WAV, GSM) += fate-gsm-ms fate-gsm-ms: CMD = framecrc -i $(TARGET_SAMPLES)/gsm/ciao.wav diff --git a/tests/ref/fate/g726le-encode b/tests/ref/fate/g726le-encode new file mode 100644 index 0000000000..4451120bfd --- /dev/null +++ b/tests/ref/fate/g726le-encode @@ -0,0 +1,33 @@ +#format: frame checksums +#version: 2 +#hash: MD5 +#tb 0: 1/8000 +#media_type 0: audio +#codec_id 0: pcm_s16le +#sample_rate 0: 8000 +#channel_layout_name 0: mono +#stream#, dts, pts, duration, size, hash +0, 0, 0, 2040, 4080, 0f35e3d018360ea30f0365cf85af1c74 +0, 2040, 2040, 2040, 4080, 363676e57dcce3389936d657d586213a +0, 4080, 4080, 2040, 4080, 2d4e679ef3e5e1d02e8f929a42e6de2a +0, 6120, 6120, 2040, 4080, b9ed40ec48cc83fbafb63e6389daf2c5 +0, 8160, 8160, 2040, 4080, f43b1a74c1e1d7e6573648e1a38325d8 +0, 10200, 10200, 2040, 4080, 8f5c6160b4fa40d43fbb939638805107 +0, 12240, 12240, 2040, 4080, 2078cc58e0393eb7deba62740b5d35c4 +0, 14280, 14280, 2040, 4080, 19dad7d751e7abaf8dffdacba220204f +0, 16320, 16320, 2040, 4080, 7f2d63c711c6ad57d2681c7128112587 +0, 18360, 18360, 2040, 4080, d7fae3ef7351c7f5b68e9a2bf3369a99 +0, 20400, 20400, 2040, 4080, 8033809b4fecbc0cc0fae81ec7723e0a +0, 22440, 22440, 2040, 4080, a209d125d1f201eea85d6e21eee70f2b +0, 24480, 24480, 2040, 4080, eb83a47d5c07abb11f5f0fb514f49338 +0, 26520, 26520, 2040, 4080, 9a40833c1e2ad5083328534e3ce06deb +0, 28560, 28560, 2040, 4080, 3dab6653ad292782c9fddfd67f916e6e +0, 30600, 30600, 2040, 4080, 7a5728ce53cd90339c29b3ebdaf3fd04 +0, 32640, 32640, 2040, 4080, e68b344b2c973a69ac7e04c0cbfd28dc +0, 34680, 34680, 2040, 4080, 65761050aa26ca138dac84c1300c0d9a +0, 36720, 36720, 2040, 4080, 99eb79a1999217b7442dc226071b73f9 +0, 38760, 38760, 2040, 4080, 8a1d411fa6f0b9ca538a81cae840a517 +0, 40800, 40800, 2040, 4080, 57330132b1978e5232402927e8af82fb +0, 42840, 42840, 2040, 4080, f63771cfe60cb63424529c672c588ff6 +0, 44880, 44880, 2040, 4080, 5b24acee4ce3f5710223ad3c4ddc2ae3 +0, 46920, 46920, 1080, 2160, 26a69e5e5653818ecdbc7511e9a8fd9e -- 2.52.0 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
