summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Kovalev <dkovalev@google.com>2014-04-09 10:27:05 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-04-09 10:27:05 -0700
commit5ed83c32201ca5ba4992b2a7350ed02df0d8bf92 (patch)
tree039888b3d57a17a9c51efeff1ff96eae78348022
parent2e7d3277892d27a7598ea5b27251b0346e84ee19 (diff)
parent22a3e30790d141033778e430a47ba7d558237362 (diff)
downloadlibvpx-5ed83c32201ca5ba4992b2a7350ed02df0d8bf92.tar
libvpx-5ed83c32201ca5ba4992b2a7350ed02df0d8bf92.tar.gz
libvpx-5ed83c32201ca5ba4992b2a7350ed02df0d8bf92.tar.bz2
libvpx-5ed83c32201ca5ba4992b2a7350ed02df0d8bf92.zip
Merge "Converting set_prev_mi() to get_prev_mi()."
-rw-r--r--vp9/common/vp9_mvref_common.c2
-rw-r--r--vp9/common/vp9_onyxc_int.h14
-rw-r--r--vp9/decoder/vp9_decodeframe.c6
-rw-r--r--vp9/encoder/vp9_encodeframe.c2
4 files changed, 10 insertions, 14 deletions
diff --git a/vp9/common/vp9_mvref_common.c b/vp9/common/vp9_mvref_common.c
index 61682c42d..1aab36205 100644
--- a/vp9/common/vp9_mvref_common.c
+++ b/vp9/common/vp9_mvref_common.c
@@ -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) {
const int *ref_sign_bias = cm->ref_frame_sign_bias;
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]
: NULL;
const MB_MODE_INFO *const prev_mbmi = prev_mi ? &prev_mi->mbmi : NULL;
diff --git a/vp9/common/vp9_onyxc_int.h b/vp9/common/vp9_onyxc_int.h
index 77f563f2f..fe9cc9e6a 100644
--- a/vp9/common/vp9_onyxc_int.h
+++ b/vp9/common/vp9_onyxc_int.h
@@ -284,15 +284,15 @@ static INLINE void set_mi_row_col(MACROBLOCKD *xd, const TileInfo *const tile,
xd->left_available = (mi_col > tile->mi_col_start);
}
-static INLINE void set_prev_mi(VP9_COMMON *cm) {
- const int use_prev_in_find_mv_refs = cm->width == cm->last_width &&
- cm->height == cm->last_height &&
- !cm->intra_only &&
- cm->last_show_frame;
+static INLINE MODE_INFO *get_prev_mi(VP9_COMMON *cm) {
+ const int use_prev_mi = cm->coding_use_prev_mi &&
+ cm->width == cm->last_width &&
+ cm->height == cm->last_height &&
+ !cm->intra_only &&
+ cm->last_show_frame;
// Special case: set prev_mi to NULL when the previous mode info
// context cannot be used.
- cm->prev_mi = use_prev_in_find_mv_refs ?
- cm->prev_mip + cm->mi_stride + 1 : NULL;
+ return use_prev_mi ? &cm->prev_mip[cm->mi_stride + 1] : NULL;
}
static INLINE int frame_is_intra_only(const VP9_COMMON *const cm) {
diff --git a/vp9/decoder/vp9_decodeframe.c b/vp9/decoder/vp9_decodeframe.c
index a9af86d33..99bf8637e 100644
--- a/vp9/decoder/vp9_decodeframe.c
+++ b/vp9/decoder/vp9_decodeframe.c
@@ -1296,11 +1296,7 @@ int vp9_decode_frame(VP9Decoder *pbi,
}
init_macroblockd(cm, &pbi->mb);
-
- if (cm->coding_use_prev_mi)
- set_prev_mi(cm);
- else
- cm->prev_mi = NULL;
+ cm->prev_mi = get_prev_mi(cm);
setup_plane_dequants(cm, xd, cm->base_qindex);
vp9_setup_block_planes(xd, cm->subsampling_x, cm->subsampling_y);
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index a0605a413..d273eabfa 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -3267,7 +3267,7 @@ static void encode_frame_internal(VP9_COMP *cpi) {
if (cpi->oxcf.tuning == VP8_TUNE_SSIM)
build_activity_map(cpi);
- set_prev_mi(cm);
+ cm->prev_mi = get_prev_mi(cm);
if (sf->use_nonrd_pick_mode) {
// Initialize internal buffer pointers for rtc coding, where non-RD