summaryrefslogtreecommitdiffstats
path: root/libavcodec/motion_est.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2003-01-15 18:05:23 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-01-15 18:05:23 +0000
commit3a87ac948f0cd95218e62d5a98b8b8d5e4c11366 (patch)
treedd38bc234a7063a95908cad07144019af0c2d670 /libavcodec/motion_est.c
parentaaa1e4cd48968131fa02d470f61a7aef7ddc7eea (diff)
downloadffmpeg-streaming-3a87ac948f0cd95218e62d5a98b8b8d5e4c11366.zip
ffmpeg-streaming-3a87ac948f0cd95218e62d5a98b8b8d5e4c11366.tar.gz
more compare functions (rd & bit)
Originally committed as revision 1461 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/motion_est.c')
-rw-r--r--libavcodec/motion_est.c15
1 files changed, 13 insertions, 2 deletions
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;
}
}
OpenPOWER on IntegriCloud