[FFmpeg-devel] [PATCH 1/3] omadec: fix overflows during bit rate calculation
Andreas Cadhalpun
andreas.cadhalpun at googlemail.com
Wed Dec 14 02:02:41 EET 2016
On 13.12.2016 08:11, Paul B Mahol wrote:
> On 12/13/16, Andreas Cadhalpun <andreas.cadhalpun at googlemail.com> wrote:
>> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
>> ---
>> libavformat/omadec.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavformat/omadec.c b/libavformat/omadec.c
>> index 6e476db..e7751d0 100644
>> --- a/libavformat/omadec.c
>> +++ b/libavformat/omadec.c
>> @@ -365,7 +365,7 @@ static int oma_read_header(AVFormatContext *s)
>> st->codecpar->channels = 2;
>> st->codecpar->channel_layout = AV_CH_LAYOUT_STEREO;
>> st->codecpar->sample_rate = samplerate;
>> - st->codecpar->bit_rate = st->codecpar->sample_rate * framesize *
>> 8 / 1024;
>> + st->codecpar->bit_rate = st->codecpar->sample_rate * framesize /
>> 128;
>>
>> /* fake the ATRAC3 extradata
>> * (wav format, makes stream copy to wav work) */
>> @@ -398,7 +398,7 @@ static int oma_read_header(AVFormatContext *s)
>> return AVERROR_INVALIDDATA;
>> }
>> st->codecpar->sample_rate = samplerate;
>> - st->codecpar->bit_rate = samplerate * framesize * 8 / 2048;
>> + st->codecpar->bit_rate = samplerate * framesize / 256;
>> avpriv_set_pts_info(st, 64, 1, samplerate);
>> break;
>> case OMA_CODECID_MP3:
>
> Shouldn't using 8LL or similar be more future-proof?
Why multiply with 8 when dividing by a multiple of 8 directly afterwards?
That's just a waste of computational resources.
If sample_rate and/or framesize get larger in the future, a cast can be added.
Best regards,
Andreas
More information about the ffmpeg-devel
mailing list