summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2015-12-17 13:50:36 +0100
committerHendrik Leppkes <h.leppkes@gmail.com>2015-12-17 13:50:36 +0100
commitf95385dd580604aa287b41093edd692f34c7613b (patch)
treeae4542337c6b9bd95fb084eb94c97bdfec1c6506
parentb2d8b91cf0a21537c893d52dc487bfd79988f234 (diff)
parent5845a8273e4694e0254ad728970b82bb64fd8bc0 (diff)
Merge commit '5845a8273e4694e0254ad728970b82bb64fd8bc0'
* commit '5845a8273e4694e0254ad728970b82bb64fd8bc0': movenc: use the CPB props side data Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
-rw-r--r--libavformat/movenc.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 3cb3263dd8..c059407793 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -555,6 +555,7 @@ static unsigned compute_avg_bitrate(MOVTrack *track)
static int mov_write_esds_tag(AVIOContext *pb, MOVTrack *track) // Basic
{
+ AVCPBProperties *props;
int64_t pos = avio_tell(pb);
int decoder_specific_info_len = track->vos_len ? 5 + track->vos_len : 0;
unsigned avg_bitrate;
@@ -588,11 +589,13 @@ static int mov_write_esds_tag(AVIOContext *pb, MOVTrack *track) // Basic
else
avio_w8(pb, 0x11); // flags (= Visualstream)
- avio_wb24(pb, track->enc->rc_buffer_size >> 3); // Buffersize DB
+ props = (AVCPBProperties*)av_stream_get_side_data(track->st, AV_PKT_DATA_CPB_PROPERTIES,
+ NULL);
+
+ avio_wb24(pb, props ? props->buffer_size / 8 : 0); // Buffersize DB
avg_bitrate = compute_avg_bitrate(track);
- // maxbitrate (FIXME should be max rate in any 1 sec window)
- avio_wb32(pb, FFMAX3(track->enc->bit_rate, track->enc->rc_max_rate, avg_bitrate));
+ avio_wb32(pb, props ? FFMAX3(props->max_bitrate, props->avg_bitrate, avg_bitrate) : FFMAX(track->enc->bit_rate, avg_bitrate)); // maxbitrate (FIXME should be max rate in any 1 sec window)
avio_wb32(pb, avg_bitrate);
if (track->vos_len) {