Mercurial > libavcodec.hg
changeset 10658:8a7d79132993 libavcodec
Add MBtree support for libx264
Patch by Erik Slagter
author | darkshikari |
---|---|
date | Tue, 08 Dec 2009 20:01:46 +0000 |
parents | 168ea860d58f |
children | 1f835b8a41c0 |
files | avcodec.h libx264.c options.c |
diffstat | 3 files changed, 3 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/avcodec.h Tue Dec 08 19:20:36 2009 +0000 +++ b/avcodec.h Tue Dec 08 20:01:46 2009 +0000 @@ -580,6 +580,7 @@ #define CODEC_FLAG2_CHUNKS 0x00008000 ///< Input bitstream might be truncated at a packet boundaries instead of only at frame boundaries. #define CODEC_FLAG2_NON_LINEAR_QUANT 0x00010000 ///< Use MPEG-2 nonlinear quantizer. #define CODEC_FLAG2_BIT_RESERVOIR 0x00020000 ///< Use a bit reservoir when encoding if possible +#define CODEC_FLAG2_MBTREE 0x00040000 ///< Use macroblock tree ratecontrol (x264 only) /* Unsupported options : * Syntax Arithmetic coding (SAC)
--- a/libx264.c Tue Dec 08 19:20:36 2009 +0000 +++ b/libx264.c Tue Dec 08 20:01:46 2009 +0000 @@ -266,6 +266,7 @@ } else x4->params.rc.f_vbv_buffer_init = 0.9; + x4->params.rc.b_mb_tree = !!(avctx->flags2 & CODEC_FLAG2_MBTREE); x4->params.rc.f_ip_factor = 1 / fabs(avctx->i_quant_factor); x4->params.rc.f_pb_factor = avctx->b_quant_factor; x4->params.analyse.i_chroma_qp_offset = avctx->chromaoffset;
--- a/options.c Tue Dec 08 19:20:36 2009 +0000 +++ b/options.c Tue Dec 08 20:01:46 2009 +0000 @@ -391,6 +391,7 @@ {"request_channels", "set desired number of audio channels", OFFSET(request_channels), FF_OPT_TYPE_INT, DEFAULT, 0, INT_MAX, A|D}, {"drc_scale", "percentage of dynamic range compression to apply", OFFSET(drc_scale), FF_OPT_TYPE_FLOAT, 1.0, 0.0, 1.0, A|D}, {"reservoir", "use bit reservoir", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_BIT_RESERVOIR, INT_MIN, INT_MAX, A|E, "flags2"}, +{"mbtree", "use macroblock tree ratecontrol (x264 only)", 0, FF_OPT_TYPE_CONST, CODEC_FLAG2_MBTREE, INT_MIN, INT_MAX, V|E, "flags2"}, {"bits_per_raw_sample", NULL, OFFSET(bits_per_raw_sample), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX}, {"channel_layout", NULL, OFFSET(channel_layout), FF_OPT_TYPE_INT64, DEFAULT, 0, INT64_MAX, A|E|D, "channel_layout"}, {"request_channel_layout", NULL, OFFSET(request_channel_layout), FF_OPT_TYPE_INT64, DEFAULT, 0, INT64_MAX, A|D, "request_channel_layout"},