summaryrefslogtreecommitdiff
path: root/libavcodec/nvenc.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2015-10-03 15:19:10 +0200
committerAnton Khirnov <anton@khirnov.net>2015-12-06 10:25:43 +0100
commit1520c6ff05d835da4b793318fc88bbbc129c86a1 (patch)
tree3e7470d5b3af48a50800388ed2d39961c53fe33a /libavcodec/nvenc.c
parent2507b5dd674834be7261772996f47ae3b95cca69 (diff)
nvenc: export CPB props side data
Diffstat (limited to 'libavcodec/nvenc.c')
-rw-r--r--libavcodec/nvenc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index 3f19ed0f3a..92686c3286 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -559,6 +559,7 @@ static int nvenc_setup_encoder(AVCodecContext *avctx)
NVENCContext *ctx = avctx->priv_data;
NV_ENCODE_API_FUNCTION_LIST *nv = &ctx->nvel.nvenc_funcs;
NV_ENC_PRESET_CONFIG preset_cfg = { 0 };
+ AVCPBProperties *cpb_props;
int ret;
ctx->params.version = NV_ENC_INITIALIZE_PARAMS_VER;
@@ -644,6 +645,14 @@ static int nvenc_setup_encoder(AVCodecContext *avctx)
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;
}