Due to being pants-on-head retarded, libavcodec defaults this to zero, which
results in broken output. This didn't affect ffmpeg.c, which sets it itself,
but caused problems for other calling apps using VBV.
(cherry picked from commit
f7f8120fb9a06b5d7fbf5add48a0d8464319a332)
if (avctx->level > 0)
x4->params.i_level_idc = avctx->level;
- if ((avctx->rc_buffer_size != 0) &&
+ if (avctx->rc_buffer_size && avctx->rc_initial_buffer_occupancy &&
(avctx->rc_initial_buffer_occupancy <= avctx->rc_buffer_size)) {
x4->params.rc.f_vbv_buffer_init =
(float)avctx->rc_initial_buffer_occupancy / avctx->rc_buffer_size;
- } else
- x4->params.rc.f_vbv_buffer_init = 0.9;
+ }
x4->params.rc.b_mb_tree = !!(avctx->flags2 & CODEC_FLAG2_MBTREE);
x4->params.rc.f_ip_factor = 1 / fabs(avctx->i_quant_factor);