OSDN Git Service

libx264: export CPB props side data
authorAnton Khirnov <anton@khirnov.net>
Sat, 3 Oct 2015 13:19:10 +0000 (15:19 +0200)
committerAnton Khirnov <anton@khirnov.net>
Sun, 6 Dec 2015 09:25:00 +0000 (10:25 +0100)
libavcodec/libx264.c

index bcbdf84..e2648f3 100644 (file)
@@ -351,6 +351,7 @@ static int convert_pix_fmt(enum AVPixelFormat pix_fmt)
 static av_cold int X264_init(AVCodecContext *avctx)
 {
     X264Context *x4 = avctx->priv_data;
+    AVCPBProperties *cpb_props;
 
 #if CONFIG_LIBX262_ENCODER
     if (avctx->codec_id == AV_CODEC_ID_MPEG2VIDEO) {
@@ -610,6 +611,13 @@ FF_ENABLE_DEPRECATION_WARNINGS
         avctx->extradata_size = p - avctx->extradata;
     }
 
+    cpb_props = ff_add_cpb_side_data(avctx);
+    if (!cpb_props)
+        return AVERROR(ENOMEM);
+    cpb_props->buffer_size = x4->params.rc.i_vbv_buffer_size * 1000;
+    cpb_props->max_bitrate = x4->params.rc.i_vbv_max_bitrate * 1000;
+    cpb_props->avg_bitrate = x4->params.rc.i_bitrate         * 1000;
+
     return 0;
 }