aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/libx264.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-09-16 21:43:40 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-09-16 21:43:56 +0200
commit93869d4e4447fa68d46c2c555295bdc8ed32cc51 (patch)
tree34d7c1019331233835d6453c2bd3f5e010ec3d8b /libavcodec/libx264.c
parent5c5306df962bbbaf6a3339850aa43771fc4add19 (diff)
parent3a78fb57de0b8ee800d91c69e395b685e285a63b (diff)
downloadffmpeg-93869d4e4447fa68d46c2c555295bdc8ed32cc51.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: libx264: introduce slice-max-size option Fixed size given to init_get_bits(). Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/libx264.c')
-rw-r--r--libavcodec/libx264.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index 946f674ade..8732672dbb 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -68,6 +68,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)
@@ -457,6 +458,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);
@@ -567,6 +571,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 },
};