summaryrefslogtreecommitdiff
path: root/vp9/common
diff options
context:
space:
mode:
authorDmitry Kovalev <dkovalev@google.com>2014-03-12 12:19:43 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-03-12 12:19:43 -0700
commitfec0d4bc7dfa070c64558e93fefe2eb5251a7c03 (patch)
tree3cf2cb8253280e1bb34c2c6718fbd35eb5c45e7e /vp9/common
parent2a93c8212323f47c6d83caefa7fba9ba57ef286e (diff)
parentff935ff7817ea8188f2a153571767b6f3afc0a36 (diff)
downloadlibvpx-fec0d4bc7dfa070c64558e93fefe2eb5251a7c03.tar
libvpx-fec0d4bc7dfa070c64558e93fefe2eb5251a7c03.tar.gz
libvpx-fec0d4bc7dfa070c64558e93fefe2eb5251a7c03.tar.bz2
libvpx-fec0d4bc7dfa070c64558e93fefe2eb5251a7c03.zip
Merge "Removing last_mi from MACROBLOCKD struct."
Diffstat (limited to 'vp9/common')
-rw-r--r--vp9/common/vp9_blockd.h1
-rw-r--r--vp9/common/vp9_mvref_common.c14
-rw-r--r--vp9/common/vp9_mvref_common.h6
3 files changed, 9 insertions, 12 deletions
diff --git a/vp9/common/vp9_blockd.h b/vp9/common/vp9_blockd.h
index 84403ae15..b7fadcd3b 100644
--- a/vp9/common/vp9_blockd.h
+++ b/vp9/common/vp9_blockd.h
@@ -204,7 +204,6 @@ typedef struct RefBuffer {
typedef struct macroblockd {
struct macroblockd_plane plane[MAX_MB_PLANE];
- MODE_INFO *last_mi;
int mode_info_stride;
// A NULL indicates that the 8x8 is not part of the image
diff --git a/vp9/common/vp9_mvref_common.c b/vp9/common/vp9_mvref_common.c
index d179f4289..9f2c2dfac 100644
--- a/vp9/common/vp9_mvref_common.c
+++ b/vp9/common/vp9_mvref_common.c
@@ -188,12 +188,13 @@ static INLINE int is_inside(const TileInfo *const tile,
// to try and find candidate reference vectors.
static void find_mv_refs_idx(const VP9_COMMON *cm, const MACROBLOCKD *xd,
const TileInfo *const tile,
- MODE_INFO *mi, const MODE_INFO *prev_mi,
- MV_REFERENCE_FRAME ref_frame,
+ MODE_INFO *mi, MV_REFERENCE_FRAME ref_frame,
int_mv *mv_ref_list,
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 ?
+ xd->prev_mi_8x8[0] : NULL;
const POSITION *const mv_ref_search = mv_ref_blocks[mi->mbmi.sb_type];
const MB_MODE_INFO *const prev_mbmi = cm->coding_use_prev_mi && prev_mi ?
&prev_mi->mbmi : NULL;
@@ -282,11 +283,10 @@ static void find_mv_refs_idx(const VP9_COMMON *cm, const MACROBLOCKD *xd,
void vp9_find_mv_refs(const VP9_COMMON *cm, const MACROBLOCKD *xd,
const TileInfo *const tile,
- MODE_INFO *mi, const MODE_INFO *prev_mi,
- MV_REFERENCE_FRAME ref_frame,
+ MODE_INFO *mi, MV_REFERENCE_FRAME ref_frame,
int_mv *mv_ref_list,
int mi_row, int mi_col) {
- find_mv_refs_idx(cm, xd, tile, mi, prev_mi, ref_frame, mv_ref_list, -1,
+ find_mv_refs_idx(cm, xd, tile, mi, ref_frame, mv_ref_list, -1,
mi_row, mi_col);
}
@@ -324,8 +324,8 @@ void vp9_append_sub8x8_mvs_for_idx(VP9_COMMON *cm, MACROBLOCKD *xd,
assert(MAX_MV_REF_CANDIDATES == 2);
- find_mv_refs_idx(cm, xd, tile, mi, xd->last_mi, mi->mbmi.ref_frame[ref],
- mv_list, block, mi_row, mi_col);
+ find_mv_refs_idx(cm, xd, tile, mi, mi->mbmi.ref_frame[ref], mv_list, block,
+ mi_row, mi_col);
near->as_int = 0;
switch (block) {
diff --git a/vp9/common/vp9_mvref_common.h b/vp9/common/vp9_mvref_common.h
index 04cb000ef..903ac02bb 100644
--- a/vp9/common/vp9_mvref_common.h
+++ b/vp9/common/vp9_mvref_common.h
@@ -31,10 +31,8 @@ static INLINE void clamp_mv2(MV *mv, const MACROBLOCKD *xd) {
void vp9_find_mv_refs(const VP9_COMMON *cm, const MACROBLOCKD *xd,
const TileInfo *const tile,
- MODE_INFO *mi, const MODE_INFO *prev_mi,
- MV_REFERENCE_FRAME ref_frame,
- int_mv *mv_ref_list,
- int mi_row, int mi_col);
+ MODE_INFO *mi, MV_REFERENCE_FRAME ref_frame,
+ int_mv *mv_ref_list, int mi_row, int mi_col);
// check a list of motion vectors by sad score using a number rows of pixels
// above and a number cols of pixels in the left to select the one with best