summaryrefslogtreecommitdiff
path: root/libavformat/mpegenc.c
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2015-12-17 13:55:39 +0100
committerHendrik Leppkes <h.leppkes@gmail.com>2015-12-17 13:55:39 +0100
commit079b5d4ef888bd42bf0147a6d964b8bc9ec0f3c5 (patch)
tree7db47f770ed1487fc1229e8b6f47f05641da47aa /libavformat/mpegenc.c
parentf95385dd580604aa287b41093edd692f34c7613b (diff)
parent8bcadaacc2b8dc3c5d6569835a5ca20e62d3efca (diff)
Merge commit '8bcadaacc2b8dc3c5d6569835a5ca20e62d3efca'
* commit '8bcadaacc2b8dc3c5d6569835a5ca20e62d3efca': mpegenc: use the CPB props side data Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
Diffstat (limited to 'libavformat/mpegenc.c')
-rw-r--r--libavformat/mpegenc.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c
index b3ee2a09b9..2e095495f0 100644
--- a/libavformat/mpegenc.c
+++ b/libavformat/mpegenc.c
@@ -338,6 +338,8 @@ static av_cold int mpeg_mux_init(AVFormatContext *ctx)
lpcm_id = LPCM_ID;
for (i = 0; i < ctx->nb_streams; i++) {
+ AVCPBProperties *props;
+
st = ctx->streams[i];
stream = av_mallocz(sizeof(StreamInfo));
if (!stream)
@@ -389,8 +391,10 @@ static av_cold int mpeg_mux_init(AVFormatContext *ctx)
stream->id = h264_id++;
else
stream->id = mpv_id++;
- if (st->codec->rc_buffer_size)
- stream->max_buffer_size = 6 * 1024 + st->codec->rc_buffer_size / 8;
+
+ props = (AVCPBProperties*)av_stream_get_side_data(st, AV_PKT_DATA_CPB_PROPERTIES, NULL);
+ if (props && props->buffer_size)
+ stream->max_buffer_size = 6 * 1024 + props->buffer_size / 8;
else {
av_log(ctx, AV_LOG_WARNING,
"VBV buffer size not set, using default size of 130KB\n"
@@ -422,13 +426,14 @@ static av_cold int mpeg_mux_init(AVFormatContext *ctx)
audio_bitrate = 0;
video_bitrate = 0;
for (i = 0; i < ctx->nb_streams; i++) {
+ AVCPBProperties *props;
int codec_rate;
st = ctx->streams[i];
stream = (StreamInfo *)st->priv_data;
- if (st->codec->rc_max_rate ||
- st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
- codec_rate = st->codec->rc_max_rate;
+ props = (AVCPBProperties*)av_stream_get_side_data(st, AV_PKT_DATA_CPB_PROPERTIES, NULL);
+ if (props)
+ codec_rate = props->max_bitrate;
else
codec_rate = st->codec->bit_rate;