From 3a87ac948f0cd95218e62d5a98b8b8d5e4c11366 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 15 Jan 2003 18:05:23 +0000 Subject: more compare functions (rd & bit) Originally committed as revision 1461 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/motion_est.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'libavcodec/motion_est.c') diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c index 8310db8..4dcc08d 100644 --- a/libavcodec/motion_est.c +++ b/libavcodec/motion_est.c @@ -286,6 +286,14 @@ static void set_cmp(MpegEncContext *s, me_cmp_func *cmp, int type){ cmp[0]= c->quant_psnr[0]; cmp[1]= c->quant_psnr[1]; break; + case FF_CMP_BIT: + cmp[0]= c->bit[0]; + cmp[1]= c->bit[1]; + break; + case FF_CMP_RD: + cmp[0]= c->rd[0]; + cmp[1]= c->rd[1]; + break; case FF_CMP_ZERO: for(i=0; i<7; i++){ cmp[i]= zero_cmp; @@ -302,11 +310,14 @@ static inline int get_penalty_factor(MpegEncContext *s, int type){ default: case FF_CMP_SAD: return s->qscale; - case FF_CMP_SSE: -// return s->qscale*8; case FF_CMP_DCT: case FF_CMP_SATD: + case FF_CMP_SSE: return s->qscale*8; + case FF_CMP_BIT: + return 1; + case FF_CMP_RD: + return (s->qscale*s->qscale*105 + 64)>>7; } } -- cgit v1.1