# HG changeset patch # User michael # Date 1107372828 0 # Node ID 36d70fbb31c5a73e7b1a787dd961967a9b512329 # Parent 258120c61eeaf2913584abd88fb4027dca91af92 mb_lmin/max to limit the per mb quality for the ratecontrol independant from the frame limits diff -r 258120c61eea -r 36d70fbb31c5 avcodec.h --- a/avcodec.h Wed Feb 02 18:49:04 2005 +0000 +++ b/avcodec.h Wed Feb 02 19:33:48 2005 +0000 @@ -17,7 +17,7 @@ #define FFMPEG_VERSION_INT 0x000409 #define FFMPEG_VERSION "0.4.9-pre1" -#define LIBAVCODEC_BUILD 4741 +#define LIBAVCODEC_BUILD 4742 #define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT #define LIBAVCODEC_VERSION FFMPEG_VERSION @@ -1276,14 +1276,14 @@ /** * minimum MB quantizer. - * - encoding: set by user. + * - encoding: unused * - decoding: unused */ int mb_qmin; /** * maximum MB quantizer. - * - encoding: set by user. + * - encoding: unused * - decoding: unused */ int mb_qmax; @@ -1758,6 +1758,20 @@ * - decoding: unused */ float border_masking; + + /** + * minimum MB lagrange multipler. + * - encoding: set by user. + * - decoding: unused + */ + int mb_lmin; + + /** + * maximum MB lagrange multipler. + * - encoding: set by user. + * - decoding: unused + */ + int mb_lmax; } AVCodecContext; diff -r 258120c61eea -r 36d70fbb31c5 ratecontrol.c --- a/ratecontrol.c Wed Feb 02 18:49:04 2005 +0000 +++ b/ratecontrol.c Wed Feb 02 19:33:48 2005 +0000 @@ -506,8 +506,8 @@ float cplx_sum= 0.0; float cplx_tab[s->mb_num]; float bits_tab[s->mb_num]; - const int qmin= s->avctx->lmin; - const int qmax= s->avctx->lmax; + const int qmin= s->avctx->mb_lmin; + const int qmax= s->avctx->mb_lmax; Picture * const pic= &s->current_picture; const int mb_width = s->mb_width; const int mb_height = s->mb_height; diff -r 258120c61eea -r 36d70fbb31c5 utils.c --- a/utils.c Wed Feb 02 18:49:04 2005 +0000 +++ b/utils.c Wed Feb 02 19:33:48 2005 +0000 @@ -430,8 +430,8 @@ s->bit_rate_tolerance= s->bit_rate*10; s->qmin= 2; s->qmax= 31; - s->mb_qmin= 2; - s->mb_qmax= 31; + s->mb_lmin= FF_QP2LAMBDA * 2; + s->mb_lmax= FF_QP2LAMBDA * 31; s->rc_eq= "tex^qComp"; s->qcompress= 0.5; s->max_qdiff= 3;