comparison motion_est.c @ 4100:bfab45292f1b libavcodec

CANDIDATE_MB_TYPE_INTER heuristic doesnt work at really low quality where the distortion becomes less relevant then the overhead of intra blocks
author michael
date Sat, 28 Oct 2006 20:00:05 +0000
parents 34fdffe98bd0
children 8a67fda4f0b5
comparison
equal deleted inserted replaced
4099:5e5c34470242 4100:bfab45292f1b
1297 else 1297 else
1298 c->scene_change_score+= s->qscale * s->avctx->scenechange_factor; 1298 c->scene_change_score+= s->qscale * s->avctx->scenechange_factor;
1299 1299
1300 if (vard*2 + 200*256 > varc) 1300 if (vard*2 + 200*256 > varc)
1301 mb_type|= CANDIDATE_MB_TYPE_INTRA; 1301 mb_type|= CANDIDATE_MB_TYPE_INTRA;
1302 if (varc*2 + 200*256 > vard){ 1302 if (varc*2 + 200*256 > vard || s->qscale > 24){
1303 // if (varc*2 + 200*256 + 50*(s->lambda2>>FF_LAMBDA_SHIFT) > vard){
1303 mb_type|= CANDIDATE_MB_TYPE_INTER; 1304 mb_type|= CANDIDATE_MB_TYPE_INTER;
1304 c->sub_motion_search(s, &mx, &my, dmin, 0, 0, 0, 16); 1305 c->sub_motion_search(s, &mx, &my, dmin, 0, 0, 0, 16);
1305 if(s->flags&CODEC_FLAG_MV0) 1306 if(s->flags&CODEC_FLAG_MV0)
1306 if(mx || my) 1307 if(mx || my)
1307 mb_type |= CANDIDATE_MB_TYPE_SKIPPED; //FIXME check difference 1308 mb_type |= CANDIDATE_MB_TYPE_SKIPPED; //FIXME check difference