Refactor mbmi_ext structure
This commit removes mbmi_ext_base pointer from MACROBLOCK struct. Its use case can be fully covered by cpi->mbmi_ext_base pointer. Change-Id: I155351609336cf5b6145ed13c21b105052727f30
This commit is contained in:
parent
3c8e04e939
commit
c3bf837572
@ -386,8 +386,7 @@ static void write_modes_b(VP10_COMP *cpi, const TileInfo *const tile,
|
||||
xd->mi = cm->mi_grid_visible + (mi_row * cm->mi_stride + mi_col);
|
||||
m = xd->mi[0];
|
||||
|
||||
cpi->td.mb.mbmi_ext = cpi->td.mb.mbmi_ext_base +
|
||||
(mi_row * cm->mi_cols + mi_col);
|
||||
cpi->td.mb.mbmi_ext = cpi->mbmi_ext_base + (mi_row * cm->mi_cols + mi_col);
|
||||
|
||||
set_mi_row_col(xd, tile,
|
||||
mi_row, num_8x8_blocks_high_lookup[m->mbmi.sb_type],
|
||||
|
@ -58,7 +58,6 @@ struct macroblock {
|
||||
|
||||
MACROBLOCKD e_mbd;
|
||||
MB_MODE_INFO_EXT *mbmi_ext;
|
||||
MB_MODE_INFO_EXT *mbmi_ext_base;
|
||||
int skip_block;
|
||||
int select_tx_size;
|
||||
int skip_recode;
|
||||
|
@ -170,15 +170,16 @@ static BLOCK_SIZE get_rd_var_based_fixed_partition(VP10_COMP *cpi,
|
||||
|
||||
// Lighter version of set_offsets that only sets the mode info
|
||||
// pointers.
|
||||
static INLINE void set_mode_info_offsets(VP10_COMMON *const cm,
|
||||
static INLINE void set_mode_info_offsets(VP10_COMP *const cpi,
|
||||
MACROBLOCK *const x,
|
||||
MACROBLOCKD *const xd,
|
||||
int mi_row,
|
||||
int mi_col) {
|
||||
VP10_COMMON *const cm = &cpi->common;
|
||||
const int idx_str = xd->mi_stride * mi_row + mi_col;
|
||||
xd->mi = cm->mi_grid_visible + idx_str;
|
||||
xd->mi[0] = cm->mi + idx_str;
|
||||
x->mbmi_ext = x->mbmi_ext_base + (mi_row * cm->mi_cols + mi_col);
|
||||
x->mbmi_ext = cpi->mbmi_ext_base + (mi_row * cm->mi_cols + mi_col);
|
||||
}
|
||||
|
||||
static void set_offsets(VP10_COMP *cpi, const TileInfo *const tile,
|
||||
@ -193,7 +194,7 @@ static void set_offsets(VP10_COMP *cpi, const TileInfo *const tile,
|
||||
|
||||
set_skip_context(xd, mi_row, mi_col);
|
||||
|
||||
set_mode_info_offsets(cm, x, xd, mi_row, mi_col);
|
||||
set_mode_info_offsets(cpi, x, xd, mi_row, mi_col);
|
||||
|
||||
mbmi = &xd->mi[0]->mbmi;
|
||||
|
||||
@ -244,7 +245,7 @@ static void set_block_size(VP10_COMP * const cpi,
|
||||
int mi_row, int mi_col,
|
||||
BLOCK_SIZE bsize) {
|
||||
if (cpi->common.mi_cols > mi_col && cpi->common.mi_rows > mi_row) {
|
||||
set_mode_info_offsets(&cpi->common, x, xd, mi_row, mi_col);
|
||||
set_mode_info_offsets(cpi, x, xd, mi_row, mi_col);
|
||||
xd->mi[0]->mbmi.sb_type = bsize;
|
||||
}
|
||||
}
|
||||
|
@ -710,7 +710,6 @@ static void update_frame_size(VP10_COMP *cpi) {
|
||||
vp10_set_mb_mi(cm, cm->width, cm->height);
|
||||
vp10_init_context_buffers(cm);
|
||||
vp10_init_macroblockd(cm, xd, NULL);
|
||||
cpi->td.mb.mbmi_ext_base = cpi->mbmi_ext_base;
|
||||
memset(cpi->mbmi_ext_base, 0,
|
||||
cm->mi_rows * cm->mi_cols * sizeof(*cpi->mbmi_ext_base));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user