Mercurial > libavcodec.hg
diff motion_est.c @ 4326:9af83350d4fd libavcodec
test DIRECT{0,0} too if flag mv0 is used
slight PSNR/bitrate increase
author | michael |
---|---|
date | Fri, 22 Dec 2006 23:30:57 +0000 |
parents | 8e11023556c3 |
children | a96d905dcbaa |
line wrap: on
line diff
--- a/motion_est.c Fri Dec 22 10:10:13 2006 +0000 +++ b/motion_est.c Fri Dec 22 23:30:57 2006 +0000 @@ -1978,6 +1978,8 @@ } //FIXME something smarter if(dmin>256*256*16) type&= ~CANDIDATE_MB_TYPE_DIRECT; //dont try direct mode if its invalid for this MB + if(s->codec_id == CODEC_ID_MPEG4 && type&CANDIDATE_MB_TYPE_DIRECT && s->flags&CODEC_FLAG_MV0 && *(uint32_t*)s->b_direct_mv_table[xy]) + type |= CANDIDATE_MB_TYPE_DIRECT0; #if 0 if(s->out_format == FMT_MPEG1) type |= CANDIDATE_MB_TYPE_INTRA;