[FFmpeg-cvslog] libx264: introduce slice-max-size option

Luca Barbato git at videolan.org
Fri Sep 16 21:57:15 CEST 2011


ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | Fri Sep 16 04:30:10 2011 +0200| [3a78fb57de0b8ee800d91c69e395b685e285a63b] | committer: Luca Barbato

libx264: introduce slice-max-size option

Yet another option useful for low latency streaming.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3a78fb57de0b8ee800d91c69e395b685e285a63b
---

 libavcodec/libx264.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index fc0ba15..5331bc9 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -64,6 +64,7 @@ typedef struct X264Context {
     float cplxblur;
     char *partitions;
     int direct_pred;
+    int slice_max_size;
 } X264Context;
 
 static void X264_log(void *p, int level, const char *fmt, va_list args)
@@ -390,6 +391,9 @@ static av_cold int X264_init(AVCodecContext *avctx)
     if (x4->direct_pred >= 0)
         x4->params.analyse.i_direct_mv_pred   = x4->direct_pred;
 
+    if (x4->slice_max_size >= 0)
+        x4->params.i_slice_max_size =  x4->slice_max_size;
+
     if (x4->fastfirstpass)
         x264_param_apply_fastfirstpass(&x4->params);
 
@@ -496,6 +500,7 @@ static const AVOption options[] = {
     { "spatial",       NULL,      0,    FF_OPT_TYPE_CONST, { X264_DIRECT_PRED_SPATIAL },  0, 0, VE, "direct-pred" },
     { "temporal",      NULL,      0,    FF_OPT_TYPE_CONST, { X264_DIRECT_PRED_TEMPORAL }, 0, 0, VE, "direct-pred" },
     { "auto",          NULL,      0,    FF_OPT_TYPE_CONST, { X264_DIRECT_PRED_AUTO },     0, 0, VE, "direct-pred" },
+    { "slice-max-size","Constant quantization parameter rate control method",OFFSET(slice_max_size),        FF_OPT_TYPE_INT,    {-1 }, -1, INT_MAX, VE },
     { NULL },
 };
 



More information about the ffmpeg-cvslog mailing list