aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/h263.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2003-10-07 11:32:40 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-10-07 11:32:40 +0000
commit158c7f059c3906b0116ae73a7669a3bb7bc570bb (patch)
tree1dbb85c2164bec440148a818aeafd6c6197b80c6 /libavcodec/h263.c
parent72385798357e53f64ba5ac405fb1b227ddcffc6c (diff)
downloadffmpeg-158c7f059c3906b0116ae73a7669a3bb7bc570bb.tar.gz
use lagrange multipler instead of qp for ratecontrol, this may break some things, tell me ASAP if u notice anything broken
quality which was 1..31 float is now a 1..FF_LAMBDA_MAX int, and FF_QP2LAMBDA * qp can be used to convert to the new range Originally committed as revision 2348 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h263.c')
-rw-r--r--libavcodec/h263.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/h263.c b/libavcodec/h263.c
index 3fc0ec98d2..ec6aaffa21 100644
--- a/libavcodec/h263.c
+++ b/libavcodec/h263.c
@@ -626,7 +626,7 @@ static inline int get_p_cbp(MpegEncContext * s,
int best_cbpc_score= INT_MAX;
int cbpc, cbpy;
const int offset= (s->mv_type==MV_TYPE_16X16 ? 0 : 16) + (s->dquant ? 8 : 0);
- const int lambda= (s->qscale*s->qscale*64*105 + 64)>>7;
+ const int lambda= s->lambda2 >> (FF_LAMBDA_SHIFT - 6);
for(i=0; i<4; i++){
int score= inter_MCBPC_bits[i + offset] * lambda;
@@ -679,7 +679,7 @@ static inline int get_b_cbp(MpegEncContext * s, DCTELEM block[6][64],
if(s->flags & CODEC_FLAG_CBP_RD){
int score=0;
- const int lambda= (s->qscale*s->qscale*64*105 + 64)>>7;
+ const int lambda= s->lambda2 >> (FF_LAMBDA_SHIFT - 6);
for(i=0; i<6; i++){
if(s->coded_score[i] < 0){