diff options
author | James Zern <jzern@google.com> | 2013-09-09 13:37:01 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2013-09-09 13:37:01 -0700 |
commit | 54a03e20ddffd1fd9abf960daa74572cf173a5c8 (patch) | |
tree | f027a652b35c939f2713201890f5e73e6dbc829e /vp9/common/vp9_findnearmv.h | |
parent | dae17734ece414091ba1184f7becd0aa6c0004f1 (diff) | |
download | libvpx-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.h | 37 |
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_ |