summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2012-02-18 09:08:23 +0100
committerAnton Khirnov <anton@khirnov.net>2012-02-19 08:22:48 +0100
commit5455384219d873d0d2ddaeb7098da659f4207058 (patch)
tree688a7094a477acd196a613db0c2f5f176e13d505
parent5be805d38cb43e6f0b85941f75946d09bc8cc13f (diff)
downloadffmpeg-streaming-5455384219d873d0d2ddaeb7098da659f4207058.zip
ffmpeg-streaming-5455384219d873d0d2ddaeb7098da659f4207058.tar.gz
mpegvideo_enc: force encoding delay of at least 1 frame when low_delay=0
This allows the following commit to extrapolate better dts for the first frame. Pts difference between the first two frames is reused as the difference between pts and dts of the first frame.
-rw-r--r--libavcodec/mpegvideo_enc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index 10323fc..d8a7c70 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -890,7 +890,8 @@ static int load_input_picture(MpegEncContext *s, AVFrame *pic_arg)
AVFrame *pic = NULL;
int64_t pts;
int i;
- const int encoding_delay = s->max_b_frames;
+ const int encoding_delay = s->max_b_frames ? s->max_b_frames :
+ (s->low_delay ? 0 : 1);
int direct = 1;
if (pic_arg) {
OpenPOWER on IntegriCloud