nvenc: export CPB props side data

This commit is contained in:
Anton Khirnov 2015-10-03 15:19:10 +02:00
parent 2507b5dd67
commit 1520c6ff05
1 changed files with 9 additions and 0 deletions

View File

@ -559,6 +559,7 @@ static int nvenc_setup_encoder(AVCodecContext *avctx)
NVENCContext *ctx = avctx->priv_data; NVENCContext *ctx = avctx->priv_data;
NV_ENCODE_API_FUNCTION_LIST *nv = &ctx->nvel.nvenc_funcs; NV_ENCODE_API_FUNCTION_LIST *nv = &ctx->nvel.nvenc_funcs;
NV_ENC_PRESET_CONFIG preset_cfg = { 0 }; NV_ENC_PRESET_CONFIG preset_cfg = { 0 };
AVCPBProperties *cpb_props;
int ret; int ret;
ctx->params.version = NV_ENC_INITIALIZE_PARAMS_VER; ctx->params.version = NV_ENC_INITIALIZE_PARAMS_VER;
@ -644,6 +645,14 @@ static int nvenc_setup_encoder(AVCodecContext *avctx)
return AVERROR_UNKNOWN; return AVERROR_UNKNOWN;
} }
cpb_props = ff_add_cpb_side_data(avctx);
if (!cpb_props)
return AVERROR(ENOMEM);
cpb_props->max_bitrate = avctx->rc_max_rate;
cpb_props->min_bitrate = avctx->rc_min_rate;
cpb_props->avg_bitrate = avctx->bit_rate;
cpb_props->buffer_size = avctx->rc_buffer_size;
return 0; return 0;
} }