diff options
author | Anton Khirnov <anton@khirnov.net> | 2015-10-03 15:19:10 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2015-12-06 10:25:49 +0100 |
commit | 825900248b4053515803152d3165efdb034b660b (patch) | |
tree | 80942d41afa4146291aa7cbcc2955737bebf1dcc | |
parent | 1520c6ff05d835da4b793318fc88bbbc129c86a1 (diff) | |
download | ffmpeg-825900248b4053515803152d3165efdb034b660b.tar.gz |
qsvenc: export CPB props side data
-rw-r--r-- | libavcodec/qsvenc.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index 4fc3861c20..f19ca760c8 100644 --- a/libavcodec/qsvenc.c +++ b/libavcodec/qsvenc.c @@ -523,6 +523,8 @@ static int init_video_param(AVCodecContext *avctx, QSVEncContext *q) static int qsv_retrieve_enc_params(AVCodecContext *avctx, QSVEncContext *q) { + AVCPBProperties *cpb_props; + uint8_t sps_buf[128]; uint8_t pps_buf[128]; @@ -589,6 +591,14 @@ static int qsv_retrieve_enc_params(AVCodecContext *avctx, QSVEncContext *q) avctx->extradata_size = extradata.SPSBufSize + need_pps * extradata.PPSBufSize; memset(avctx->extradata + avctx->extradata_size, 0, AV_INPUT_BUFFER_PADDING_SIZE); + 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; + dump_video_param(avctx, q, ext_buffers + 1); return 0; |