ref: f0ab155e0d895f00d082e07e828647c1e91a600d
parent: f07602e403ae6fd4c87a4a561adc96555b75f030
parent: 3819f11b28b6634c4bb27f22a7cf2ded055bcb2e
author: Jingning Han <jingning@google.com>
date: Thu May 16 12:02:35 EDT 2013
Merge "Use b_width_log2_ in partition type parse" into experimental
--- a/vp9/encoder/vp9_bitstream.c
+++ b/vp9/encoder/vp9_bitstream.c
@@ -873,8 +873,8 @@
MACROBLOCKD *xd = &cpi->mb.e_mbd;
const int mis = cm->mode_info_stride;
int bwl, bhl;
- int bw, bh;
- int bsl = mi_width_log2(bsize), bs = (1 << bsl) / 2;
+ int bsl = b_width_log2(bsize);
+ int bs = (1 << bsl) / 4; // mode_info step for subsize
int n;
PARTITION_TYPE partition;
BLOCK_SIZE_TYPE subsize;
@@ -882,10 +882,8 @@
if (mi_row >= cm->mi_rows || mi_col >= cm->mi_cols)
return;
- bwl = mi_width_log2(m->mbmi.sb_type);
- bhl = mi_height_log2(m->mbmi.sb_type);
- bw = 1 << bwl;
- bh = 1 << bhl;
+ bwl = b_width_log2(m->mbmi.sb_type);
+ bhl = b_height_log2(m->mbmi.sb_type);
// parse the partition type
if ((bwl == bsl) && (bhl == bsl))
@@ -900,8 +898,6 @@
assert(0);
#if CONFIG_AB4X4
- if (bsize == BLOCK_SIZE_SB8X8 && m->mbmi.sb_type < BLOCK_SIZE_SB8X8)
- partition = PARTITION_SPLIT;
if (bsize < BLOCK_SIZE_SB8X8)
if (xd->ab_index != 0)
return;
@@ -929,13 +925,13 @@
break;
case PARTITION_HORZ:
write_modes_b(cpi, m, bc, tok, tok_end, mi_row, mi_col);
- if ((mi_row + bh) < cm->mi_rows)
- write_modes_b(cpi, m + bh * mis, bc, tok, tok_end, mi_row + bh, mi_col);
+ if ((mi_row + bs) < cm->mi_rows)
+ write_modes_b(cpi, m + bs * mis, bc, tok, tok_end, mi_row + bs, mi_col);
break;
case PARTITION_VERT:
write_modes_b(cpi, m, bc, tok, tok_end, mi_row, mi_col);
- if ((mi_col + bw) < cm->mi_cols)
- write_modes_b(cpi, m + bw, bc, tok, tok_end, mi_row, mi_col + bw);
+ if ((mi_col + bs) < cm->mi_cols)
+ write_modes_b(cpi, m + bs, bc, tok, tok_end, mi_row, mi_col + bs);
break;
case PARTITION_SPLIT:
for (n = 0; n < 4; n++) {
--
⑨