Mercurial > libavcodec.hg
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 |