[FFmpeg-devel] [PATCH] lavc/qsvenc: set BRCParamMultiplier to aviod BRC overflow
Carl Eugen Hoyos
ceffmpeg at gmail.com
Fri Jan 11 15:45:24 EET 2019
2019-01-11 14:25 GMT+01:00, Hendrik Leppkes <h.leppkes at gmail.com>:
> On Fri, Jan 11, 2019 at 1:18 PM Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:
>>
>> 2019-01-11 13:09 GMT+01:00, Zhong Li <zhong.li at intel.com>:
>> > + //libmfx BRC parameters are 16 bits thus maybe overflow, then
>> > BRCParamMultiplier is needed
>> > + target_bitrate_kbps = avctx->bit_rate / 1000;
>> > + max_bitrate_kbps = avctx->rc_max_rate / 1000;
>> > + brc_param_multiplier = (FFMAX(target_bitrate_kbps,
>> > max_bitrate_kbps) + 0x10000) / 0x10000;
>>
>> How will this behave if the user sets 100MBit?
>
> Its really quite simple math. It'll cause the multipler to become 2,
> effectively dividing all numbers by two, so instead of trying to pass
> 102400 kbps bitrate, it'll pass 51200 * 2 kbps bitrate, which fits
> into the 16-bit value.
Seems like a useful solution.
Is there no possibility that BufferSizeInKB or InitialDelayInKB overflow?
Carl Eugen
More information about the ffmpeg-devel
mailing list