Commit 727333ee authored by michael's avatar michael

Detect equal 4x4 blocks in spatial direct MBs.

19 cycles slower MV generation
575 cycles faster MC


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@21689 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent bbe18d3e
...@@ -345,7 +345,8 @@ single_col: ...@@ -345,7 +345,8 @@ single_col:
if(ref[1] == 0) if(ref[1] == 0)
fill_rectangle(&h->mv_cache[1][scan8[i8*4]], 2, 2, 8, 0, 4); fill_rectangle(&h->mv_cache[1][scan8[i8*4]], 2, 2, 8, 0, 4);
} }
}else }else{
int m=0;
for(i4=0; i4<4; i4++){ for(i4=0; i4<4; i4++){
const int16_t *mv_col = l1mv[x8*2 + (i4&1) + (y8*2 + (i4>>1))*b4_stride]; const int16_t *mv_col = l1mv[x8*2 + (i4&1) + (y8*2 + (i4>>1))*b4_stride];
if(FFABS(mv_col[0]) <= 1 && FFABS(mv_col[1]) <= 1){ if(FFABS(mv_col[0]) <= 1 && FFABS(mv_col[1]) <= 1){
...@@ -353,7 +354,11 @@ single_col: ...@@ -353,7 +354,11 @@ single_col:
*(uint32_t*)h->mv_cache[0][scan8[i8*4+i4]] = 0; *(uint32_t*)h->mv_cache[0][scan8[i8*4+i4]] = 0;
if(ref[1] == 0) if(ref[1] == 0)
*(uint32_t*)h->mv_cache[1][scan8[i8*4+i4]] = 0; *(uint32_t*)h->mv_cache[1][scan8[i8*4+i4]] = 0;
m++;
}
} }
if(!(m&3))
h->sub_mb_type[i8]+= MB_TYPE_16x16 - MB_TYPE_8x8;
} }
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment