[FFmpeg-devel] [PATCH] avcodec/ffv1enc: choose 1.2 by default for higher resolutions to ensure multi-threaded decodability

Michael Niedermayer michaelni at gmx.at
Sun Dec 8 18:25:10 CET 2013


Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
---
 libavcodec/ffv1enc.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c
index 2c87d7a..4856be5 100644
--- a/libavcodec/ffv1enc.c
+++ b/libavcodec/ffv1enc.c
@@ -672,6 +672,10 @@ static av_cold int encode_init(AVCodecContext *avctx)
     if ((avctx->flags & (CODEC_FLAG_PASS1|CODEC_FLAG_PASS2)) || avctx->slices>1)
         s->version = FFMAX(s->version, 2);
 
+    // Unspecified level & slices, we choose version 1.2+ to ensure multithreaded decodability
+    if (avctx->slices == 0 && avctx->level < 0 && avctx->width * avctx->height > 720*576)
+        s->version = FFMAX(s->version, 2);
+
     if (avctx->level == 3 || (avctx->level <= 0 && s->version == 2)) {
         s->version = 3;
     }
-- 
1.7.9.5



More information about the ffmpeg-devel mailing list