Commit 22a3e307 authored by Dmitry Kovalev's avatar Dmitry Kovalev
Browse files

Converting set_prev_mi() to get_prev_mi().

Change-Id: Iad4002d7aecaae0e25d88e286bacde7e6cd7264f
parent 01aae92d
...@@ -195,7 +195,7 @@ static void find_mv_refs_idx(const VP9_COMMON *cm, const MACROBLOCKD *xd, ...@@ -195,7 +195,7 @@ static void find_mv_refs_idx(const VP9_COMMON *cm, const MACROBLOCKD *xd,
int block, int mi_row, int mi_col) { int block, int mi_row, int mi_col) {
const int *ref_sign_bias = cm->ref_frame_sign_bias; const int *ref_sign_bias = cm->ref_frame_sign_bias;
int i, refmv_count = 0; int i, refmv_count = 0;
const MODE_INFO *prev_mi = cm->coding_use_prev_mi && cm->prev_mi const MODE_INFO *prev_mi = cm->prev_mi
? cm->prev_mi_grid_visible[mi_row * xd->mi_stride + mi_col] ? cm->prev_mi_grid_visible[mi_row * xd->mi_stride + mi_col]
: NULL; : NULL;
const MB_MODE_INFO *const prev_mbmi = prev_mi ? &prev_mi->mbmi : NULL; const MB_MODE_INFO *const prev_mbmi = prev_mi ? &prev_mi->mbmi : NULL;
......
...@@ -281,15 +281,15 @@ static INLINE void set_mi_row_col(MACROBLOCKD *xd, const TileInfo *const tile, ...@@ -281,15 +281,15 @@ static INLINE void set_mi_row_col(MACROBLOCKD *xd, const TileInfo *const tile,
xd->left_available = (mi_col > tile->mi_col_start); xd->left_available = (mi_col > tile->mi_col_start);
} }
static INLINE void set_prev_mi(VP9_COMMON *cm) { static INLINE MODE_INFO *get_prev_mi(VP9_COMMON *cm) {
const int use_prev_in_find_mv_refs = cm->width == cm->last_width && const int use_prev_mi = cm->coding_use_prev_mi &&
cm->height == cm->last_height && cm->width == cm->last_width &&
!cm->intra_only && cm->height == cm->last_height &&
cm->last_show_frame; !cm->intra_only &&
cm->last_show_frame;
// Special case: set prev_mi to NULL when the previous mode info // Special case: set prev_mi to NULL when the previous mode info
// context cannot be used. // context cannot be used.
cm->prev_mi = use_prev_in_find_mv_refs ? return use_prev_mi ? &cm->prev_mip[cm->mi_stride + 1] : NULL;
cm->prev_mip + cm->mi_stride + 1 : NULL;
} }
static INLINE int frame_is_intra_only(const VP9_COMMON *const cm) { static INLINE int frame_is_intra_only(const VP9_COMMON *const cm) {
......
...@@ -1288,11 +1288,7 @@ int vp9_decode_frame(VP9D_COMP *pbi, ...@@ -1288,11 +1288,7 @@ int vp9_decode_frame(VP9D_COMP *pbi,
} }
init_macroblockd(cm, &pbi->mb); init_macroblockd(cm, &pbi->mb);
cm->prev_mi = get_prev_mi(cm);
if (cm->coding_use_prev_mi)
set_prev_mi(cm);
else
cm->prev_mi = NULL;
setup_plane_dequants(cm, xd, cm->base_qindex); setup_plane_dequants(cm, xd, cm->base_qindex);
vp9_setup_block_planes(xd, cm->subsampling_x, cm->subsampling_y); vp9_setup_block_planes(xd, cm->subsampling_x, cm->subsampling_y);
......
...@@ -3084,7 +3084,7 @@ static void encode_frame_internal(VP9_COMP *cpi) { ...@@ -3084,7 +3084,7 @@ static void encode_frame_internal(VP9_COMP *cpi) {
vp9_zero(cpi->rd_tx_select_diff); vp9_zero(cpi->rd_tx_select_diff);
vp9_zero(cpi->rd_tx_select_threshes); vp9_zero(cpi->rd_tx_select_threshes);
set_prev_mi(cm); cm->prev_mi = get_prev_mi(cm);
if (cpi->sf.use_nonrd_pick_mode) { if (cpi->sf.use_nonrd_pick_mode) {
// Initialize internal buffer pointers for rtc coding, where non-RD // Initialize internal buffer pointers for rtc coding, where non-RD
......
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