mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
libx264: Don't leave max_b_frames as -1 if the user didn't set it
max_b_frames is initialized to -1 for libx264, to allow
distinguishing between an explicit user set 0 and a default not
touched 0 (see bb73cda2
).
If max_b_frames is left as -1, this affects dts generation (where
expressions like max_b_frames != 0 are used), so make sure it is
left at the default 0 after the libx264 init function returns.
This avoids unnecessarily producing dts != pts when using
profile=baseline.
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
4c82c6d993
commit
57facb73ab
@ -448,6 +448,9 @@ static av_cold int X264_init(AVCodecContext *avctx)
|
|||||||
// update AVCodecContext with x264 parameters
|
// update AVCodecContext with x264 parameters
|
||||||
avctx->has_b_frames = x4->params.i_bframe ?
|
avctx->has_b_frames = x4->params.i_bframe ?
|
||||||
x4->params.i_bframe_pyramid ? 2 : 1 : 0;
|
x4->params.i_bframe_pyramid ? 2 : 1 : 0;
|
||||||
|
if (avctx->max_b_frames < 0)
|
||||||
|
avctx->max_b_frames = 0;
|
||||||
|
|
||||||
avctx->bit_rate = x4->params.rc.i_bitrate*1000;
|
avctx->bit_rate = x4->params.rc.i_bitrate*1000;
|
||||||
#if FF_API_X264_GLOBAL_OPTS
|
#if FF_API_X264_GLOBAL_OPTS
|
||||||
avctx->crf = x4->params.rc.f_rf_constant;
|
avctx->crf = x4->params.rc.f_rf_constant;
|
||||||
|
Loading…
Reference in New Issue
Block a user