[FFmpeg-devel] [PATCH] lavc/qsvenc: set BRCParamMultiplier to aviod BRC overflow
Hendrik Leppkes
h.leppkes at gmail.com
Fri Jan 11 15:25:27 EET 2019
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.
- Hendrik
More information about the ffmpeg-devel
mailing list