| Index: source/libvpx/vp9/common/vp9_findnearmv.h
|
| ===================================================================
|
| --- source/libvpx/vp9/common/vp9_findnearmv.h (revision 219822)
|
| +++ source/libvpx/vp9/common/vp9_findnearmv.h (working copy)
|
| @@ -29,31 +29,19 @@
|
| int_mv *near);
|
|
|
| // TODO(jingning): this mv clamping function should be block size dependent.
|
| -static void clamp_mv(int_mv *mv,
|
| - int mb_to_left_edge,
|
| - int mb_to_right_edge,
|
| - int mb_to_top_edge,
|
| - int mb_to_bottom_edge) {
|
| - mv->as_mv.col = clamp(mv->as_mv.col, mb_to_left_edge, mb_to_right_edge);
|
| - mv->as_mv.row = clamp(mv->as_mv.row, mb_to_top_edge, mb_to_bottom_edge);
|
| +static void clamp_mv2(MV *mv, const MACROBLOCKD *xd) {
|
| + clamp_mv(mv, xd->mb_to_left_edge - LEFT_TOP_MARGIN,
|
| + xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN,
|
| + xd->mb_to_top_edge - LEFT_TOP_MARGIN,
|
| + xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN);
|
| }
|
|
|
| -static int clamp_mv2(int_mv *mv, const MACROBLOCKD *xd) {
|
| - int_mv tmp_mv;
|
| - tmp_mv.as_int = mv->as_int;
|
| - clamp_mv(mv,
|
| - xd->mb_to_left_edge - LEFT_TOP_MARGIN,
|
| - xd->mb_to_right_edge + RIGHT_BOTTOM_MARGIN,
|
| - xd->mb_to_top_edge - LEFT_TOP_MARGIN,
|
| - xd->mb_to_bottom_edge + RIGHT_BOTTOM_MARGIN);
|
| - return tmp_mv.as_int != mv->as_int;
|
| -}
|
| -
|
| void vp9_append_sub8x8_mvs_for_idx(VP9_COMMON *pc,
|
| MACROBLOCKD *xd,
|
| int_mv *dst_nearest,
|
| int_mv *dst_near,
|
| - int block_idx, int ref_idx);
|
| + int block_idx, int ref_idx,
|
| + int mi_row, int mi_col);
|
|
|
| static MB_PREDICTION_MODE left_block_mode(const MODE_INFO *cur_mb, int b) {
|
| // FIXME(rbultje, jingning): temporary hack because jenkins doesn't
|
| @@ -62,10 +50,10 @@
|
| /* On L edge, get from MB to left of us */
|
| --cur_mb;
|
|
|
| - if (cur_mb->mbmi.ref_frame[0] != INTRA_FRAME) {
|
| + if (is_inter_block(&cur_mb->mbmi)) {
|
| return DC_PRED;
|
| - } else if (cur_mb->mbmi.sb_type < BLOCK_SIZE_SB8X8) {
|
| - return ((cur_mb->bmi + 1 + b)->as_mode);
|
| + } else if (cur_mb->mbmi.sb_type < BLOCK_8X8) {
|
| + return (cur_mb->bmi + 1 + b)->as_mode;
|
| } else {
|
| return cur_mb->mbmi.mode;
|
| }
|
| @@ -80,10 +68,10 @@
|
| /* On top edge, get from MB above us */
|
| cur_mb -= mi_stride;
|
|
|
| - if (cur_mb->mbmi.ref_frame[0] != INTRA_FRAME) {
|
| + if (is_inter_block(&cur_mb->mbmi)) {
|
| return DC_PRED;
|
| - } else if (cur_mb->mbmi.sb_type < BLOCK_SIZE_SB8X8) {
|
| - return ((cur_mb->bmi + 2 + b)->as_mode);
|
| + } else if (cur_mb->mbmi.sb_type < BLOCK_8X8) {
|
| + return (cur_mb->bmi + 2 + b)->as_mode;
|
| } else {
|
| return cur_mb->mbmi.mode;
|
| }
|
|
|