[FFmpeg-devel] [PATCH 2/2] avcodec/speexdec: fix setting frame_size from extradata
James Almer
jamrial at gmail.com
Wed Jan 24 20:52:06 EET 2024
On 1/24/2024 11:35 AM, Andreas Rheinhardt wrote:
> James Almer:
>> Finishes fixing vp5/potter512-400-partial.avi
>>
>> The fate-matroska-ms-mode test ref is updated to reflect that the Speex decoder
>> can now read the stream.
>>
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> ---
>> libavcodec/speexdec.c | 4 +---
>> tests/ref/fate/matroska-ms-mode | 2 +-
>> 2 files changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/libavcodec/speexdec.c b/libavcodec/speexdec.c
>> index c73b2a7ec2..51c5834769 100644
>> --- a/libavcodec/speexdec.c
>> +++ b/libavcodec/speexdec.c
>> @@ -1420,9 +1420,7 @@ static int parse_speex_extradata(AVCodecContext *avctx,
>> if (s->nb_channels <= 0 || s->nb_channels > 2)
>> return AVERROR_INVALIDDATA;
>> s->bitrate = bytestream_get_le32(&buf);
>> - s->frame_size = bytestream_get_le32(&buf);
>> - if (s->frame_size < NB_FRAME_SIZE << s->mode)
>> - return AVERROR_INVALIDDATA;
>> + s->frame_size = (1 + (s->mode > 0)) * bytestream_get_le32(&buf);
>> s->vbr = bytestream_get_le32(&buf);
>> s->frames_per_packet = bytestream_get_le32(&buf);
>> if (s->frames_per_packet <= 0 ||
>> diff --git a/tests/ref/fate/matroska-ms-mode b/tests/ref/fate/matroska-ms-mode
>> index 5c91209910..0e31c990dc 100644
>> --- a/tests/ref/fate/matroska-ms-mode
>> +++ b/tests/ref/fate/matroska-ms-mode
>> @@ -1,4 +1,4 @@
>> -a2897e3951b0054d0fa31fe51860444f *tests/data/fate/matroska-ms-mode.matroska
>> +e7f44cd6a5c0f45fea11874afb8c1c0d *tests/data/fate/matroska-ms-mode.matroska
>> 413103 tests/data/fate/matroska-ms-mode.matroska
>> #extradata 0: 40, 0x54290c93
>> #extradata 1: 114, 0xb6c80771
>
> This changes the checksum of the generated Matroska file; presumably
> some header parameter is now set differently without affecting the size
> of the generated file (which one?). But this means that this test
mkvinfo for the output, pre and post patch:
--- old.txt 2024-01-24 15:48:57.639516100 -0300
+++ new.txt 2024-01-24 15:49:01.301839500 -0300
@@ -42,7 +42,7 @@
| + Audio track
| + Channels: 1
| + Sampling frequency: 32000
-| + Bit depth: 16
+| + Bit depth: 32
| + Maximum block additional ID: 0
| + Codec's private data: size 132 (format tag: 0xa109)
|+ Tags
Post patch the audio stream is reported as FLT AVSampleFormat.
> probably needs an explicit dependency on the speex decoder (which it
> currently doesn't have).
Can add one.
>
> - Andreas
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list