Commit b9c7d04e authored by Dmitry Kovalev's avatar Dmitry Kovalev
Browse files

Finally removing all old block size constants.

Change-Id: I3aae21e88b876d53ecc955260479980ffe04ad8d
parent 9f988a2e
...@@ -22,20 +22,20 @@ ...@@ -22,20 +22,20 @@
#define MI_MASK (MI_BLOCK_SIZE - 1) #define MI_MASK (MI_BLOCK_SIZE - 1)
typedef enum BLOCK_SIZE_TYPE { typedef enum BLOCK_SIZE_TYPE {
BLOCK_SIZE_AB4X4, BLOCK_4X4 = BLOCK_SIZE_AB4X4, BLOCK_4X4,
BLOCK_SIZE_SB4X8, BLOCK_4X8 = BLOCK_SIZE_SB4X8, BLOCK_4X8,
BLOCK_SIZE_SB8X4, BLOCK_8X4 = BLOCK_SIZE_SB8X4, BLOCK_8X4,
BLOCK_SIZE_SB8X8, BLOCK_8X8 = BLOCK_SIZE_SB8X8, BLOCK_8X8,
BLOCK_SIZE_SB8X16, BLOCK_8X16 = BLOCK_SIZE_SB8X16, BLOCK_8X16,
BLOCK_SIZE_SB16X8, BLOCK_16X8 = BLOCK_SIZE_SB16X8, BLOCK_16X8,
BLOCK_SIZE_MB16X16, BLOCK_16X16 = BLOCK_SIZE_MB16X16, BLOCK_16X16,
BLOCK_SIZE_SB16X32, BLOCK_16X32 = BLOCK_SIZE_SB16X32, BLOCK_16X32,
BLOCK_SIZE_SB32X16, BLOCK_32X16 = BLOCK_SIZE_SB32X16, BLOCK_32X16,
BLOCK_SIZE_SB32X32, BLOCK_32X32 = BLOCK_SIZE_SB32X32, BLOCK_32X32,
BLOCK_SIZE_SB32X64, BLOCK_32X64 = BLOCK_SIZE_SB32X64, BLOCK_32X64,
BLOCK_SIZE_SB64X32, BLOCK_64X32 = BLOCK_SIZE_SB64X32, BLOCK_64X32,
BLOCK_SIZE_SB64X64, BLOCK_64X64 = BLOCK_SIZE_SB64X64, BLOCK_64X64,
BLOCK_SIZE_TYPES, BLOCK_MAX_SB_SEGMENTS = BLOCK_SIZE_TYPES BLOCK_SIZE_TYPES
} BLOCK_SIZE_TYPE; } BLOCK_SIZE_TYPE;
typedef enum PARTITION_TYPE { typedef enum PARTITION_TYPE {
......
...@@ -52,8 +52,8 @@ static MB_PREDICTION_MODE left_block_mode(const MODE_INFO *cur_mb, int b) { ...@@ -52,8 +52,8 @@ static MB_PREDICTION_MODE left_block_mode(const MODE_INFO *cur_mb, int b) {
if (is_inter_block(&cur_mb->mbmi)) { if (is_inter_block(&cur_mb->mbmi)) {
return DC_PRED; return DC_PRED;
} else if (cur_mb->mbmi.sb_type < BLOCK_SIZE_SB8X8) { } else if (cur_mb->mbmi.sb_type < BLOCK_8X8) {
return ((cur_mb->bmi + 1 + b)->as_mode); return (cur_mb->bmi + 1 + b)->as_mode;
} else { } else {
return cur_mb->mbmi.mode; return cur_mb->mbmi.mode;
} }
...@@ -70,8 +70,8 @@ static MB_PREDICTION_MODE above_block_mode(const MODE_INFO *cur_mb, ...@@ -70,8 +70,8 @@ static MB_PREDICTION_MODE above_block_mode(const MODE_INFO *cur_mb,
if (is_inter_block(&cur_mb->mbmi)) { if (is_inter_block(&cur_mb->mbmi)) {
return DC_PRED; return DC_PRED;
} else if (cur_mb->mbmi.sb_type < BLOCK_SIZE_SB8X8) { } else if (cur_mb->mbmi.sb_type < BLOCK_8X8) {
return ((cur_mb->bmi + 2 + b)->as_mode); return (cur_mb->bmi + 2 + b)->as_mode;
} else { } else {
return cur_mb->mbmi.mode; return cur_mb->mbmi.mode;
} }
......
...@@ -121,7 +121,7 @@ static void clamp_mv_ref(const MACROBLOCKD *xd, int_mv *mv) { ...@@ -121,7 +121,7 @@ static void clamp_mv_ref(const MACROBLOCKD *xd, int_mv *mv) {
static INLINE int_mv get_sub_block_mv(const MODE_INFO *candidate, static INLINE int_mv get_sub_block_mv(const MODE_INFO *candidate,
int check_sub_blocks, int which_mv, int check_sub_blocks, int which_mv,
int search_col, int block_idx) { int search_col, int block_idx) {
return (check_sub_blocks && candidate->mbmi.sb_type < BLOCK_SIZE_SB8X8 return (check_sub_blocks && candidate->mbmi.sb_type < BLOCK_8X8
? candidate->bmi[idx_n_column_to_subblock[block_idx][search_col == 0]] ? candidate->bmi[idx_n_column_to_subblock[block_idx][search_col == 0]]
.as_mv[which_mv] .as_mv[which_mv]
: candidate->mbmi.mv[which_mv]); : candidate->mbmi.mv[which_mv]);
......
...@@ -250,7 +250,7 @@ static int check_bsize_coverage(VP9_COMMON *cm, int mi_row, int mi_col, ...@@ -250,7 +250,7 @@ static int check_bsize_coverage(VP9_COMMON *cm, int mi_row, int mi_col,
// frame width/height are multiples of 8, hence 8x8 block should always // frame width/height are multiples of 8, hence 8x8 block should always
// pass the above check // pass the above check
assert(bsize > BLOCK_SIZE_SB8X8); assert(bsize > BLOCK_8X8);
// return the node index in the prob tree for binary coding // return the node index in the prob tree for binary coding
// only allow horizontal/split partition types // only allow horizontal/split partition types
......
...@@ -285,8 +285,8 @@ static void build_inter_predictors(int plane, int block, ...@@ -285,8 +285,8 @@ static void build_inter_predictors(int plane, int block,
assert(x < (4 << bwl)); assert(x < (4 << bwl));
assert(y < (4 << bhl)); assert(y < (4 << bhl));
assert(mi->mbmi.sb_type < BLOCK_SIZE_SB8X8 || 4 << pred_w == (4 << bwl)); assert(mi->mbmi.sb_type < BLOCK_8X8 || 4 << pred_w == (4 << bwl));
assert(mi->mbmi.sb_type < BLOCK_SIZE_SB8X8 || 4 << pred_h == (4 << bhl)); assert(mi->mbmi.sb_type < BLOCK_8X8 || 4 << pred_h == (4 << bhl));
for (which_mv = 0; which_mv < 1 + use_second_ref; ++which_mv) { for (which_mv = 0; which_mv < 1 + use_second_ref; ++which_mv) {
// source // source
...@@ -303,7 +303,7 @@ static void build_inter_predictors(int plane, int block, ...@@ -303,7 +303,7 @@ static void build_inter_predictors(int plane, int block,
// same MV (the average of the 4 luma MVs) but we could do something // same MV (the average of the 4 luma MVs) but we could do something
// smarter for non-4:2:0. Just punt for now, pending the changes to get // smarter for non-4:2:0. Just punt for now, pending the changes to get
// rid of SPLITMV mode entirely. // rid of SPLITMV mode entirely.
const MV mv = mi->mbmi.sb_type < BLOCK_SIZE_SB8X8 const MV mv = mi->mbmi.sb_type < BLOCK_8X8
? (plane == 0 ? mi->bmi[block].as_mv[which_mv].as_mv ? (plane == 0 ? mi->bmi[block].as_mv[which_mv].as_mv
: mi_mv_pred_q4(mi, which_mv)) : mi_mv_pred_q4(mi, which_mv))
: mi->mbmi.mv[which_mv].as_mv; : mi->mbmi.mv[which_mv].as_mv;
......
...@@ -164,7 +164,7 @@ static void read_intra_frame_mode_info(VP9D_COMP *pbi, MODE_INFO *m, ...@@ -164,7 +164,7 @@ static void read_intra_frame_mode_info(VP9D_COMP *pbi, MODE_INFO *m,
mbmi->ref_frame[0] = INTRA_FRAME; mbmi->ref_frame[0] = INTRA_FRAME;
mbmi->ref_frame[1] = NONE; mbmi->ref_frame[1] = NONE;
if (bsize >= BLOCK_SIZE_SB8X8) { if (bsize >= BLOCK_8X8) {
const MB_PREDICTION_MODE A = above_block_mode(m, 0, mis); const MB_PREDICTION_MODE A = above_block_mode(m, 0, mis);
const MB_PREDICTION_MODE L = xd->left_available ? const MB_PREDICTION_MODE L = xd->left_available ?
left_block_mode(m, 0) : DC_PRED; left_block_mode(m, 0) : DC_PRED;
...@@ -386,7 +386,7 @@ static void read_intra_block_mode_info(VP9D_COMP *pbi, MODE_INFO *mi, ...@@ -386,7 +386,7 @@ static void read_intra_block_mode_info(VP9D_COMP *pbi, MODE_INFO *mi,
mbmi->ref_frame[0] = INTRA_FRAME; mbmi->ref_frame[0] = INTRA_FRAME;
mbmi->ref_frame[1] = NONE; mbmi->ref_frame[1] = NONE;
if (bsize >= BLOCK_SIZE_SB8X8) { if (bsize >= BLOCK_8X8) {
const int size_group = size_group_lookup[bsize]; const int size_group = size_group_lookup[bsize];
mbmi->mode = read_intra_mode(r, cm->fc.y_mode_prob[size_group]); mbmi->mode = read_intra_mode(r, cm->fc.y_mode_prob[size_group]);
cm->counts.y_mode[size_group][mbmi->mode]++; cm->counts.y_mode[size_group][mbmi->mode]++;
...@@ -459,13 +459,13 @@ static void read_inter_block_mode_info(VP9D_COMP *pbi, MODE_INFO *mi, ...@@ -459,13 +459,13 @@ static void read_inter_block_mode_info(VP9D_COMP *pbi, MODE_INFO *mi,
if (vp9_segfeature_active(&xd->seg, mbmi->segment_id, SEG_LVL_SKIP)) if (vp9_segfeature_active(&xd->seg, mbmi->segment_id, SEG_LVL_SKIP))
mbmi->mode = ZEROMV; mbmi->mode = ZEROMV;
else if (bsize >= BLOCK_SIZE_SB8X8) else if (bsize >= BLOCK_8X8)
mbmi->mode = read_inter_mode(cm, r, inter_mode_ctx); mbmi->mode = read_inter_mode(cm, r, inter_mode_ctx);
mbmi->uv_mode = DC_PRED; mbmi->uv_mode = DC_PRED;
// nearest, nearby // nearest, nearby
if (bsize < BLOCK_SIZE_SB8X8 || mbmi->mode != ZEROMV) { if (bsize < BLOCK_8X8 || mbmi->mode != ZEROMV) {
vp9_find_best_ref_mvs(xd, mbmi->ref_mvs[ref0], &nearest, &nearby); vp9_find_best_ref_mvs(xd, mbmi->ref_mvs[ref0], &nearest, &nearby);
best_mv.as_int = mbmi->ref_mvs[ref0][0].as_int; best_mv.as_int = mbmi->ref_mvs[ref0][0].as_int;
} }
...@@ -479,14 +479,14 @@ static void read_inter_block_mode_info(VP9D_COMP *pbi, MODE_INFO *mi, ...@@ -479,14 +479,14 @@ static void read_inter_block_mode_info(VP9D_COMP *pbi, MODE_INFO *mi,
ref1, mbmi->ref_mvs[ref1], cm->ref_frame_sign_bias, ref1, mbmi->ref_mvs[ref1], cm->ref_frame_sign_bias,
mi_row, mi_col); mi_row, mi_col);
if (bsize < BLOCK_SIZE_SB8X8 || mbmi->mode != ZEROMV) { if (bsize < BLOCK_8X8 || mbmi->mode != ZEROMV) {
vp9_find_best_ref_mvs(xd, mbmi->ref_mvs[ref1], vp9_find_best_ref_mvs(xd, mbmi->ref_mvs[ref1],
&nearest_second, &nearby_second); &nearest_second, &nearby_second);
best_mv_second.as_int = mbmi->ref_mvs[ref1][0].as_int; best_mv_second.as_int = mbmi->ref_mvs[ref1][0].as_int;
} }
} }
if (bsize < BLOCK_SIZE_SB8X8) { if (bsize < BLOCK_8X8) {
const int num_4x4_w = num_4x4_blocks_wide_lookup[bsize]; // 1 or 2 const int num_4x4_w = num_4x4_blocks_wide_lookup[bsize]; // 1 or 2
const int num_4x4_h = num_4x4_blocks_high_lookup[bsize]; // 1 or 2 const int num_4x4_h = num_4x4_blocks_high_lookup[bsize]; // 1 or 2
int idx, idy; int idx, idy;
......
...@@ -434,7 +434,7 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc) { ...@@ -434,7 +434,7 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc) {
vp9_write(bc, rf != INTRA_FRAME, vp9_write(bc, rf != INTRA_FRAME,
vp9_get_pred_prob_intra_inter(pc, xd)); vp9_get_pred_prob_intra_inter(pc, xd));
if (bsize >= BLOCK_SIZE_SB8X8 && pc->tx_mode == TX_MODE_SELECT && if (bsize >= BLOCK_8X8 && pc->tx_mode == TX_MODE_SELECT &&
!(rf != INTRA_FRAME && !(rf != INTRA_FRAME &&
(skip_coeff || vp9_segfeature_active(seg, segment_id, SEG_LVL_SKIP)))) { (skip_coeff || vp9_segfeature_active(seg, segment_id, SEG_LVL_SKIP)))) {
write_selected_tx_size(cpi, mi->txfm_size, bsize, bc); write_selected_tx_size(cpi, mi->txfm_size, bsize, bc);
...@@ -445,7 +445,7 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc) { ...@@ -445,7 +445,7 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc) {
active_section = 6; active_section = 6;
#endif #endif
if (bsize >= BLOCK_SIZE_SB8X8) { if (bsize >= BLOCK_8X8) {
write_intra_mode(bc, mode, pc->fc.y_mode_prob[size_group_lookup[bsize]]); write_intra_mode(bc, mode, pc->fc.y_mode_prob[size_group_lookup[bsize]]);
} else { } else {
int idx, idy; int idx, idy;
...@@ -470,7 +470,7 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc) { ...@@ -470,7 +470,7 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc) {
// If segment skip is not enabled code the mode. // If segment skip is not enabled code the mode.
if (!vp9_segfeature_active(seg, segment_id, SEG_LVL_SKIP)) { if (!vp9_segfeature_active(seg, segment_id, SEG_LVL_SKIP)) {
if (bsize >= BLOCK_SIZE_SB8X8) { if (bsize >= BLOCK_8X8) {
write_sb_mv_ref(bc, mode, mv_ref_p); write_sb_mv_ref(bc, mode, mv_ref_p);
++pc->counts.inter_mode[mi->mb_mode_context[rf]] ++pc->counts.inter_mode[mi->mb_mode_context[rf]]
[inter_mode_offset(mode)]; [inter_mode_offset(mode)];
...@@ -486,7 +486,7 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc) { ...@@ -486,7 +486,7 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc) {
assert(mi->interp_filter == cpi->common.mcomp_filter_type); assert(mi->interp_filter == cpi->common.mcomp_filter_type);
} }
if (bsize < BLOCK_SIZE_SB8X8) { if (bsize < BLOCK_8X8) {
int j; int j;
MB_PREDICTION_MODE blockmode; MB_PREDICTION_MODE blockmode;
int_mv blockmv; int_mv blockmv;
...@@ -544,10 +544,10 @@ static void write_mb_modes_kf(const VP9_COMP *cpi, MODE_INFO *m, ...@@ -544,10 +544,10 @@ static void write_mb_modes_kf(const VP9_COMP *cpi, MODE_INFO *m,
write_skip_coeff(cpi, segment_id, m, bc); write_skip_coeff(cpi, segment_id, m, bc);
if (m->mbmi.sb_type >= BLOCK_SIZE_SB8X8 && c->tx_mode == TX_MODE_SELECT) if (m->mbmi.sb_type >= BLOCK_8X8 && c->tx_mode == TX_MODE_SELECT)
write_selected_tx_size(cpi, m->mbmi.txfm_size, m->mbmi.sb_type, bc); write_selected_tx_size(cpi, m->mbmi.txfm_size, m->mbmi.sb_type, bc);
if (m->mbmi.sb_type >= BLOCK_SIZE_SB8X8) { if (m->mbmi.sb_type >= BLOCK_8X8) {
const MB_PREDICTION_MODE A = above_block_mode(m, 0, mis); const MB_PREDICTION_MODE A = above_block_mode(m, 0, mis);
const MB_PREDICTION_MODE L = xd->left_available ? const MB_PREDICTION_MODE L = xd->left_available ?
left_block_mode(m, 0) : DC_PRED; left_block_mode(m, 0) : DC_PRED;
...@@ -580,7 +580,7 @@ static void write_modes_b(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc, ...@@ -580,7 +580,7 @@ static void write_modes_b(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc,
VP9_COMMON *const cm = &cpi->common; VP9_COMMON *const cm = &cpi->common;
MACROBLOCKD *const xd = &cpi->mb.e_mbd; MACROBLOCKD *const xd = &cpi->mb.e_mbd;
if (m->mbmi.sb_type < BLOCK_SIZE_SB8X8) if (m->mbmi.sb_type < BLOCK_8X8)
if (xd->ab_index > 0) if (xd->ab_index > 0)
return; return;
xd->mode_info_context = m; xd->mode_info_context = m;
...@@ -621,11 +621,11 @@ static void write_modes_sb(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc, ...@@ -621,11 +621,11 @@ static void write_modes_sb(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc,
partition = partition_lookup[bsl][m->mbmi.sb_type]; partition = partition_lookup[bsl][m->mbmi.sb_type];
if (bsize < BLOCK_SIZE_SB8X8) if (bsize < BLOCK_8X8)
if (xd->ab_index > 0) if (xd->ab_index > 0)
return; return;
if (bsize >= BLOCK_SIZE_SB8X8) { if (bsize >= BLOCK_8X8) {
int pl; int pl;
const int idx = check_bsize_coverage(cm, mi_row, mi_col, bsize); const int idx = check_bsize_coverage(cm, mi_row, mi_col, bsize);
set_partition_seg_context(cm, xd, mi_row, mi_col); set_partition_seg_context(cm, xd, mi_row, mi_col);
...@@ -672,8 +672,8 @@ static void write_modes_sb(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc, ...@@ -672,8 +672,8 @@ static void write_modes_sb(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc,
} }
// update partition context // update partition context
if (bsize >= BLOCK_SIZE_SB8X8 && if (bsize >= BLOCK_8X8 &&
(bsize == BLOCK_SIZE_SB8X8 || partition != PARTITION_SPLIT)) { (bsize == BLOCK_8X8 || partition != PARTITION_SPLIT)) {
set_partition_seg_context(cm, xd, mi_row, mi_col); set_partition_seg_context(cm, xd, mi_row, mi_col);
update_partition_context(xd, subsize, bsize); update_partition_context(xd, subsize, bsize);
} }
......
...@@ -412,7 +412,7 @@ static void update_state(VP9_COMP *cpi, PICK_MODE_CONTEXT *ctx, ...@@ -412,7 +412,7 @@ static void update_state(VP9_COMP *cpi, PICK_MODE_CONTEXT *ctx,
// Note how often each mode chosen as best // Note how often each mode chosen as best
cpi->mode_chosen_counts[mb_mode_index]++; cpi->mode_chosen_counts[mb_mode_index]++;
if (is_inter_block(mbmi) if (is_inter_block(mbmi)
&& (mbmi->sb_type < BLOCK_SIZE_SB8X8 || mbmi->mode == NEWMV)) { && (mbmi->sb_type < BLOCK_8X8 || mbmi->mode == NEWMV)) {
int_mv best_mv, best_second_mv; int_mv best_mv, best_second_mv;
const MV_REFERENCE_FRAME rf1 = mbmi->ref_frame[0]; const MV_REFERENCE_FRAME rf1 = mbmi->ref_frame[0];
const MV_REFERENCE_FRAME rf2 = mbmi->ref_frame[1]; const MV_REFERENCE_FRAME rf2 = mbmi->ref_frame[1];
...@@ -427,7 +427,7 @@ static void update_state(VP9_COMP *cpi, PICK_MODE_CONTEXT *ctx, ...@@ -427,7 +427,7 @@ static void update_state(VP9_COMP *cpi, PICK_MODE_CONTEXT *ctx,
vp9_update_nmv_count(cpi, x, &best_mv, &best_second_mv); vp9_update_nmv_count(cpi, x, &best_mv, &best_second_mv);
} }
if (bsize > BLOCK_SIZE_SB8X8 && mbmi->mode == NEWMV) { if (bsize > BLOCK_8X8 && mbmi->mode == NEWMV) {
int i, j; int i, j;
for (j = 0; j < mi_height; ++j) for (j = 0; j < mi_height; ++j)
for (i = 0; i < mi_width; ++i) for (i = 0; i < mi_width; ++i)
...@@ -572,7 +572,7 @@ static void pick_sb_modes(VP9_COMP *cpi, int mi_row, int mi_col, ...@@ -572,7 +572,7 @@ static void pick_sb_modes(VP9_COMP *cpi, int mi_row, int mi_col,
x->rd_search = 1; x->rd_search = 1;
if (bsize < BLOCK_SIZE_SB8X8) { if (bsize < BLOCK_8X8) {
// When ab_index = 0 all sub-blocks are handled, so for ab_index != 0 // When ab_index = 0 all sub-blocks are handled, so for ab_index != 0
// there is nothing to be done. // there is nothing to be done.
if (xd->ab_index != 0) if (xd->ab_index != 0)
...@@ -769,7 +769,7 @@ static void encode_b(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row, int mi_col, ...@@ -769,7 +769,7 @@ static void encode_b(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row, int mi_col,
if (sub_index != -1) if (sub_index != -1)
*(get_sb_index(xd, bsize)) = sub_index; *(get_sb_index(xd, bsize)) = sub_index;
if (bsize < BLOCK_SIZE_SB8X8) { if (bsize < BLOCK_8X8) {
// When ab_index = 0 all sub-blocks are handled, so for ab_index != 0 // When ab_index = 0 all sub-blocks are handled, so for ab_index != 0
// there is nothing to be done. // there is nothing to be done.
if (xd->ab_index > 0) if (xd->ab_index > 0)
...@@ -792,7 +792,7 @@ static void encode_sb(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row, int mi_col, ...@@ -792,7 +792,7 @@ static void encode_sb(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row, int mi_col,
VP9_COMMON * const cm = &cpi->common; VP9_COMMON * const cm = &cpi->common;
MACROBLOCK * const x = &cpi->mb; MACROBLOCK * const x = &cpi->mb;
MACROBLOCKD * const xd = &x->e_mbd; MACROBLOCKD * const xd = &x->e_mbd;
BLOCK_SIZE_TYPE c1 = BLOCK_SIZE_SB8X8; BLOCK_SIZE_TYPE c1 = BLOCK_8X8;
const int bsl = b_width_log2(bsize), bs = (1 << bsl) / 4; const int bsl = b_width_log2(bsize), bs = (1 << bsl) / 4;
int UNINITIALIZED_IS_SAFE(pl); int UNINITIALIZED_IS_SAFE(pl);
PARTITION_TYPE partition; PARTITION_TYPE partition;
...@@ -803,7 +803,7 @@ static void encode_sb(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row, int mi_col, ...@@ -803,7 +803,7 @@ static void encode_sb(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row, int mi_col,
return; return;
c1 = BLOCK_4X4; c1 = BLOCK_4X4;
if (bsize >= BLOCK_SIZE_SB8X8) { if (bsize >= BLOCK_8X8) {
set_partition_seg_context(cm, xd, mi_row, mi_col); set_partition_seg_context(cm, xd, mi_row, mi_col);
pl = partition_plane_context(xd, bsize); pl = partition_plane_context(xd, bsize);
c1 = *(get_sb_partitioning(x, bsize)); c1 = *(get_sb_partitioning(x, bsize));
...@@ -812,7 +812,7 @@ static void encode_sb(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row, int mi_col, ...@@ -812,7 +812,7 @@ static void encode_sb(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row, int mi_col,
switch (partition) { switch (partition) {
case PARTITION_NONE: case PARTITION_NONE:
if (output_enabled && bsize >= BLOCK_SIZE_SB8X8) if (output_enabled && bsize >= BLOCK_8X8)
cpi->partition_count[pl][PARTITION_NONE]++; cpi->partition_count[pl][PARTITION_NONE]++;
encode_b(cpi, tp, mi_row, mi_col, output_enabled, c1, -1); encode_b(cpi, tp, mi_row, mi_col, output_enabled, c1, -1);
break; break;
...@@ -847,7 +847,7 @@ static void encode_sb(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row, int mi_col, ...@@ -847,7 +847,7 @@ static void encode_sb(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row, int mi_col,
break; break;
} }
if (partition != PARTITION_SPLIT || bsize == BLOCK_SIZE_SB8X8) { if (partition != PARTITION_SPLIT || bsize == BLOCK_8X8) {
set_partition_seg_context(cm, xd, mi_row, mi_col); set_partition_seg_context(cm, xd, mi_row, mi_col);
update_partition_context(xd, c1, bsize); update_partition_context(xd, c1, bsize);
} }
...@@ -1093,7 +1093,7 @@ static void choose_partitioning(VP9_COMP *cpi, MODE_INFO *m, int mi_row, ...@@ -1093,7 +1093,7 @@ static void choose_partitioning(VP9_COMP *cpi, MODE_INFO *m, int mi_row,
int pixels_wide = 64, pixels_high = 64; int pixels_wide = 64, pixels_high = 64;
vp9_zero(vt); vp9_zero(vt);
set_offsets(cpi, mi_row, mi_col, BLOCK_SIZE_SB64X64); set_offsets(cpi, mi_row, mi_col, BLOCK_64X64);
if (xd->mb_to_right_edge < 0) if (xd->mb_to_right_edge < 0)
pixels_wide += (xd->mb_to_right_edge >> 3); pixels_wide += (xd->mb_to_right_edge >> 3);
...@@ -1121,12 +1121,12 @@ static void choose_partitioning(VP9_COMP *cpi, MODE_INFO *m, int mi_row, ...@@ -1121,12 +1121,12 @@ static void choose_partitioning(VP9_COMP *cpi, MODE_INFO *m, int mi_row,
setup_pre_planes(xd, 1, second_ref_fb, mi_row, mi_col, setup_pre_planes(xd, 1, second_ref_fb, mi_row, mi_col,
&xd->scale_factor[1]); &xd->scale_factor[1]);
xd->mode_info_context->mbmi.ref_frame[0] = LAST_FRAME; xd->mode_info_context->mbmi.ref_frame[0] = LAST_FRAME;
xd->mode_info_context->mbmi.sb_type = BLOCK_SIZE_SB64X64; xd->mode_info_context->mbmi.sb_type = BLOCK_64X64;
vp9_find_best_ref_mvs(xd, m->mbmi.ref_mvs[m->mbmi.ref_frame[0]], vp9_find_best_ref_mvs(xd, m->mbmi.ref_mvs[m->mbmi.ref_frame[0]],
&nearest_mv, &near_mv); &nearest_mv, &near_mv);
xd->mode_info_context->mbmi.mv[0] = nearest_mv; xd->mode_info_context->mbmi.mv[0] = nearest_mv;
vp9_build_inter_predictors_sby(xd, mi_row, mi_col, BLOCK_SIZE_SB64X64); vp9_build_inter_predictors_sby(xd, mi_row, mi_col, BLOCK_64X64);
d = xd->plane[0].dst.buf; d = xd->plane[0].dst.buf;
dp = xd->plane[0].dst.stride; dp = xd->plane[0].dst.stride;
} }
...@@ -1228,7 +1228,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp, ...@@ -1228,7 +1228,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp,
subsize = get_subsize(bsize, partition); subsize = get_subsize(bsize, partition);
if (bsize < BLOCK_SIZE_SB8X8) { if (bsize < BLOCK_8X8) {
// When ab_index = 0 all sub-blocks are handled, so for ab_index != 0 // When ab_index = 0 all sub-blocks are handled, so for ab_index != 0
// there is nothing to be done. // there is nothing to be done.
if (xd->ab_index != 0) { if (xd->ab_index != 0) {
...@@ -1247,7 +1247,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp, ...@@ -1247,7 +1247,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp,
if (cpi->sf.adjust_partitioning_from_last_frame) { if (cpi->sf.adjust_partitioning_from_last_frame) {
// Check if any of the sub blocks are further split. // Check if any of the sub blocks are further split.
if (partition == PARTITION_SPLIT && subsize > BLOCK_SIZE_SB8X8) { if (partition == PARTITION_SPLIT && subsize > BLOCK_8X8) {
sub_subsize = get_subsize(subsize, PARTITION_SPLIT); sub_subsize = get_subsize(subsize, PARTITION_SPLIT);
splits_below = 1; splits_below = 1;
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
...@@ -1287,7 +1287,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp, ...@@ -1287,7 +1287,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp,
pick_sb_modes(cpi, mi_row, mi_col, &last_part_rate, &last_part_dist, pick_sb_modes(cpi, mi_row, mi_col, &last_part_rate, &last_part_dist,
subsize, get_block_context(x, subsize), INT64_MAX); subsize, get_block_context(x, subsize), INT64_MAX);
if (last_part_rate != INT_MAX && if (last_part_rate != INT_MAX &&
bsize >= BLOCK_SIZE_SB8X8 && mi_row + (mh >> 1) < cm->mi_rows) { bsize >= BLOCK_8X8 && mi_row + (mh >> 1) < cm->mi_rows) {
int rt = 0; int rt = 0;
int64_t dt = 0; int64_t dt = 0;
update_state(cpi, get_block_context(x, subsize), subsize, 0); update_state(cpi, get_block_context(x, subsize), subsize, 0);
...@@ -1310,7 +1310,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp, ...@@ -1310,7 +1310,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp,
pick_sb_modes(cpi, mi_row, mi_col, &last_part_rate, &last_part_dist, pick_sb_modes(cpi, mi_row, mi_col, &last_part_rate, &last_part_dist,
subsize, get_block_context(x, subsize), INT64_MAX); subsize, get_block_context(x, subsize), INT64_MAX);
if (last_part_rate != INT_MAX && if (last_part_rate != INT_MAX &&
bsize >= BLOCK_SIZE_SB8X8 && mi_col + (ms >> 1) < cm->mi_cols) { bsize >= BLOCK_8X8 && mi_col + (ms >> 1) < cm->mi_cols) {
int rt = 0; int rt = 0;
int64_t dt = 0; int64_t dt = 0;
update_state(cpi, get_block_context(x, subsize), subsize, 0); update_state(cpi, get_block_context(x, subsize), subsize, 0);
...@@ -1363,7 +1363,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp, ...@@ -1363,7 +1363,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp,
last_part_rate += x->partition_cost[pl][partition]; last_part_rate += x->partition_cost[pl][partition];
if (cpi->sf.adjust_partitioning_from_last_frame if (cpi->sf.adjust_partitioning_from_last_frame
&& partition != PARTITION_SPLIT && bsize > BLOCK_SIZE_SB8X8 && partition != PARTITION_SPLIT && bsize > BLOCK_8X8
&& (mi_row + ms < cm->mi_rows || mi_row + (ms >> 1) == cm->mi_rows) && (mi_row + ms < cm->mi_rows || mi_row + (ms >> 1) == cm->mi_rows)
&& (mi_col + ms < cm->mi_cols || mi_col + (ms >> 1) == cm->mi_cols)) { && (mi_col + ms < cm->mi_cols || mi_col + (ms >> 1) == cm->mi_cols)) {
BLOCK_SIZE_TYPE split_subsize = get_subsize(bsize, PARTITION_SPLIT); BLOCK_SIZE_TYPE split_subsize = get_subsize(bsize, PARTITION_SPLIT);
...@@ -1426,7 +1426,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp, ...@@ -1426,7 +1426,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp,
if (RDCOST(x->rdmult, x->rddiv, last_part_rate, last_part_dist) if (RDCOST(x->rdmult, x->rddiv, last_part_rate, last_part_dist)
< RDCOST(x->rdmult, x->rddiv, chosen_rate, chosen_dist)) { < RDCOST(x->rdmult, x->rddiv, chosen_rate, chosen_dist)) {
m->mbmi.sb_type = bsize; m->mbmi.sb_type = bsize;
if (bsize >= BLOCK_SIZE_SB8X8) if (bsize >= BLOCK_8X8)
*(get_sb_partitioning(x, bsize)) = subsize; *(get_sb_partitioning(x, bsize)) = subsize;
chosen_rate = last_part_rate; chosen_rate = last_part_rate;
chosen_dist = last_part_dist; chosen_dist = last_part_dist;
...@@ -1434,7 +1434,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp, ...@@ -1434,7 +1434,7 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp,
// If none was better set the partitioning to that... // If none was better set the partitioning to that...
if (RDCOST(x->rdmult, x->rddiv, chosen_rate, chosen_dist) if (RDCOST(x->rdmult, x->rddiv, chosen_rate, chosen_dist)
> RDCOST(x->rdmult, x->rddiv, none_rate, none_dist)) { > RDCOST(x->rdmult, x->rddiv, none_rate, none_dist)) {
if (bsize >= BLOCK_SIZE_SB8X8) if (bsize >= BLOCK_8X8)
*(get_sb_partitioning(x, bsize)) = bsize; *(get_sb_partitioning(x, bsize)) = bsize;
chosen_rate = none_rate; chosen_rate = none_rate;
chosen_dist = none_dist; chosen_dist = none_dist;
...@@ -1444,11 +1444,11 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp, ...@@ -1444,11 +1444,11 @@ static void rd_use_partition(VP9_COMP *cpi, MODE_INFO *m, TOKENEXTRA **tp,
// We must have chosen a partitioning and encoding or we'll fail later on. // We must have chosen a partitioning and encoding or we'll fail later on.
// No other opportunities for success. // No other opportunities for success.
if ( bsize == BLOCK_SIZE_SB64X64) if ( bsize == BLOCK_64X64)
assert(chosen_rate < INT_MAX && chosen_dist < INT_MAX); assert(chosen_rate < INT_MAX && chosen_dist < INT_MAX);
if (do_recon) if (do_recon)
encode_sb(cpi, tp, mi_row, mi_col, bsize == BLOCK_SIZE_SB64X64, bsize); encode_sb(cpi, tp, mi_row, mi_col, bsize == BLOCK_64X64, bsize);
*rate = chosen_rate; *rate = chosen_rate;
*dist = chosen_dist; *dist = chosen_dist;
...@@ -1526,7 +1526,7 @@ static void rd_pick_partition(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row, ...@@ -1526,7 +1526,7 @@ static void rd_pick_partition(VP9_COMP *cpi, TOKENEXTRA **tp, int mi_row,
(void) *tp_orig; (void) *tp_orig;