summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_findnearmv.h
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2013-09-09 13:37:01 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2013-09-09 13:37:01 -0700
commit54a03e20ddffd1fd9abf960daa74572cf173a5c8 (patch)
treef027a652b35c939f2713201890f5e73e6dbc829e /vp9/common/vp9_findnearmv.h
parentdae17734ece414091ba1184f7becd0aa6c0004f1 (diff)
downloadlibvpx-54a03e20ddffd1fd9abf960daa74572cf173a5c8.tar
libvpx-54a03e20ddffd1fd9abf960daa74572cf173a5c8.tar.gz
libvpx-54a03e20ddffd1fd9abf960daa74572cf173a5c8.tar.bz2
libvpx-54a03e20ddffd1fd9abf960daa74572cf173a5c8.zip
Revert "New mode_info_context storage"
This reverts commit dae17734ece414091ba1184f7becd0aa6c0004f1 Encode crashes, leaks and increases integer overflow errors. Change-Id: I595aa2649bb8d0b6552ff91652837a74c103fda2
Diffstat (limited to 'vp9/common/vp9_findnearmv.h')
-rw-r--r--vp9/common/vp9_findnearmv.h37
1 files changed, 14 insertions, 23 deletions
diff --git a/vp9/common/vp9_findnearmv.h b/vp9/common/vp9_findnearmv.h
index ad0d882b9..72572dfb1 100644
--- a/vp9/common/vp9_findnearmv.h
+++ b/vp9/common/vp9_findnearmv.h
@@ -43,50 +43,41 @@ void vp9_append_sub8x8_mvs_for_idx(VP9_COMMON *cm,
int block_idx, int ref_idx,
int mi_row, int mi_col);
-static MB_PREDICTION_MODE left_block_mode(const MODE_INFO *cur_mb,
- const MODE_INFO *left_mb, int b) {
+static MB_PREDICTION_MODE left_block_mode(const MODE_INFO *cur_mb, int b) {
// FIXME(rbultje, jingning): temporary hack because jenkins doesn't
// understand this condition. This will go away soon.
- const MODE_INFO *mi = cur_mb;
-
if (b == 0 || b == 2) {
/* On L edge, get from MB to left of us */
- mi = left_mb;
- if (!mi)
- return DC_PRED;
+ --cur_mb;
- if (mi->mbmi.ref_frame[0] != INTRA_FRAME) {
+ if (is_inter_block(&cur_mb->mbmi)) {
return DC_PRED;
- } else if (mi->mbmi.sb_type < BLOCK_8X8) {
- return ((mi->bmi + 1 + b)->as_mode);
+ } else if (cur_mb->mbmi.sb_type < BLOCK_8X8) {
+ return (cur_mb->bmi + 1 + b)->as_mode;
} else {
- return mi->mbmi.mode;
+ return cur_mb->mbmi.mode;
}
}
assert(b == 1 || b == 3);
- return (mi->bmi + b - 1)->as_mode;
+ return (cur_mb->bmi + b - 1)->as_mode;
}
static MB_PREDICTION_MODE above_block_mode(const MODE_INFO *cur_mb,
- const MODE_INFO *above_mb, int b) {
- const MODE_INFO *mi = cur_mb;
-
+ int b, int mi_stride) {
if (!(b >> 1)) {
/* On top edge, get from MB above us */
- mi = above_mb;
- if (!mi)
- return DC_PRED;
+ cur_mb -= mi_stride;
- if (mi->mbmi.ref_frame[0] != INTRA_FRAME) {
+ if (is_inter_block(&cur_mb->mbmi)) {
return DC_PRED;
- } else if (mi->mbmi.sb_type < BLOCK_8X8) {
- return ((mi->bmi + 2 + b)->as_mode);
+ } else if (cur_mb->mbmi.sb_type < BLOCK_8X8) {
+ return (cur_mb->bmi + 2 + b)->as_mode;
} else {
- return mi->mbmi.mode;
+ return cur_mb->mbmi.mode;
}
}
- return (mi->bmi + b - 2)->as_mode;
+ return (cur_mb->bmi + b - 2)->as_mode;
}
#endif // VP9_COMMON_VP9_FINDNEARMV_H_