summaryrefslogtreecommitdiff
path: root/libavcodec/mpegvideo_enc.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2015-10-04 12:19:26 +0200
committerAnton Khirnov <anton@khirnov.net>2015-12-06 10:25:23 +0100
commit2507b5dd674834be7261772996f47ae3b95cca69 (patch)
tree4263cfa4c0fc59ef0386a301113514a435f0f482 /libavcodec/mpegvideo_enc.c
parent3f5c99fcbb2c366d7bdef8500c19f43a33bdb6b9 (diff)
mpegvideo_enc: export vbv_delay in side data
Deprecate AVCodecContext.vbv_delay
Diffstat (limited to 'libavcodec/mpegvideo_enc.c')
-rw-r--r--libavcodec/mpegvideo_enc.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index 9336051430..4e97f4d3ab 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -1769,6 +1769,9 @@ vbv_retry:
s->out_format == FMT_MPEG1 &&
90000LL * (avctx->rc_buffer_size - 1) <=
s->avctx->rc_max_rate * 0xFFFFLL) {
+ AVCPBProperties *props;
+ size_t props_size;
+
int vbv_delay, min_delay;
double inbits = s->avctx->rc_max_rate *
av_q2d(s->avctx->time_base);
@@ -1795,7 +1798,17 @@ vbv_retry:
s->vbv_delay_ptr[1] = vbv_delay >> 5;
s->vbv_delay_ptr[2] &= 0x07;
s->vbv_delay_ptr[2] |= vbv_delay << 3;
+
+ props = av_cpb_properties_alloc(&props_size);
+ if (!props)
+ return AVERROR(ENOMEM);
+ props->vbv_delay = vbv_delay * 300;
+
+#if FF_API_VBV_DELAY
+FF_DISABLE_DEPRECATION_WARNINGS
avctx->vbv_delay = vbv_delay * 300;
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
}
s->total_bits += s->frame_bits;
avctx->frame_bits = s->frame_bits;