| Index: source/libvpx/vp9/encoder/vp9_mbgraph.c
|
| ===================================================================
|
| --- source/libvpx/vp9/encoder/vp9_mbgraph.c (revision 219822)
|
| +++ source/libvpx/vp9/encoder/vp9_mbgraph.c (working copy)
|
| @@ -40,14 +40,15 @@
|
| (cpi->speed < 8 ? (cpi->speed > 5 ? 1 : 0) : 2);
|
| step_param = MIN(step_param, (cpi->sf.max_step_search_steps - 2));
|
|
|
| - vp9_clamp_mv_min_max(x, ref_mv);
|
| + vp9_clamp_mv_min_max(x, &ref_mv->as_mv);
|
|
|
| ref_full.as_mv.col = ref_mv->as_mv.col >> 3;
|
| ref_full.as_mv.row = ref_mv->as_mv.row >> 3;
|
|
|
| /*cpi->sf.search_method == HEX*/
|
| - best_err = vp9_hex_search(x, &ref_full, dst_mv, step_param, x->errorperbit,
|
| - &v_fn_ptr, NULL, NULL, NULL, NULL, ref_mv);
|
| + best_err = vp9_hex_search(x, &ref_full, step_param, x->errorperbit,
|
| + 0, &v_fn_ptr,
|
| + 0, ref_mv, dst_mv);
|
|
|
| // Try sub-pixel MC
|
| // if (bestsme > error_thresh && bestsme < INT_MAX)
|
| @@ -58,12 +59,12 @@
|
| x,
|
| dst_mv, ref_mv,
|
| x->errorperbit, &v_fn_ptr,
|
| - NULL, NULL,
|
| + 0, cpi->sf.subpel_iters_per_step, NULL, NULL,
|
| & distortion, &sse);
|
| }
|
|
|
| vp9_set_mbmode_and_mvs(x, NEWMV, dst_mv);
|
| - vp9_build_inter_predictors_sby(xd, mb_row, mb_col, BLOCK_SIZE_MB16X16);
|
| + vp9_build_inter_predictors_sby(xd, mb_row, mb_col, BLOCK_16X16);
|
| best_err = vp9_sad16x16(x->plane[0].src.buf, x->plane[0].src.stride,
|
| xd->plane[0].dst.buf, xd->plane[0].dst.stride,
|
| INT_MAX);
|
| @@ -77,9 +78,7 @@
|
| return best_err;
|
| }
|
|
|
| -static int do_16x16_motion_search(VP9_COMP *cpi,
|
| - int_mv *ref_mv, int_mv *dst_mv,
|
| - int buf_mb_y_offset, int mb_y_offset,
|
| +static int do_16x16_motion_search(VP9_COMP *cpi, int_mv *ref_mv, int_mv *dst_mv,
|
| int mb_row, int mb_col) {
|
| MACROBLOCK *const x = &cpi->mb;
|
| MACROBLOCKD *const xd = &x->e_mbd;
|
| @@ -118,9 +117,7 @@
|
| return err;
|
| }
|
|
|
| -static int do_16x16_zerozero_search(VP9_COMP *cpi,
|
| - int_mv *dst_mv,
|
| - int buf_mb_y_offset, int mb_y_offset) {
|
| +static int do_16x16_zerozero_search(VP9_COMP *cpi, int_mv *dst_mv) {
|
| MACROBLOCK *const x = &cpi->mb;
|
| MACROBLOCKD *const xd = &x->e_mbd;
|
| unsigned int err;
|
| @@ -210,7 +207,6 @@
|
| g_motion_error = do_16x16_motion_search(cpi,
|
| prev_golden_ref_mv,
|
| &stats->ref[GOLDEN_FRAME].m.mv,
|
| - mb_y_offset, gld_y_offset,
|
| mb_row, mb_col);
|
| stats->ref[GOLDEN_FRAME].err = g_motion_error;
|
| } else {
|
| @@ -224,8 +220,7 @@
|
| xd->plane[0].pre[0].buf = alt_ref->y_buffer + mb_y_offset;
|
| xd->plane[0].pre[0].stride = alt_ref->y_stride;
|
| a_motion_error = do_16x16_zerozero_search(cpi,
|
| - &stats->ref[ALTREF_FRAME].m.mv,
|
| - mb_y_offset, arf_y_offset);
|
| + &stats->ref[ALTREF_FRAME].m.mv);
|
|
|
| stats->ref[ALTREF_FRAME].err = a_motion_error;
|
| } else {
|
| @@ -246,11 +241,8 @@
|
| int mb_col, mb_row, offset = 0;
|
| int mb_y_offset = 0, arf_y_offset = 0, gld_y_offset = 0;
|
| int_mv arf_top_mv, gld_top_mv;
|
| - MODE_INFO mi_local;
|
| + MODE_INFO mi_local = { { 0 } };
|
|
|
| - // Make sure the mi context starts in a consistent state.
|
| - memset(&mi_local, 0, sizeof(mi_local));
|
| -
|
| // Set up limit values for motion vectors to prevent them extending outside the UMV borders
|
| arf_top_mv.as_int = 0;
|
| gld_top_mv.as_int = 0;
|
| @@ -262,7 +254,7 @@
|
| xd->plane[0].pre[0].stride = buf->y_stride;
|
| xd->plane[1].dst.stride = buf->uv_stride;
|
| xd->mode_info_context = &mi_local;
|
| - mi_local.mbmi.sb_type = BLOCK_SIZE_MB16X16;
|
| + mi_local.mbmi.sb_type = BLOCK_16X16;
|
| mi_local.mbmi.ref_frame[0] = LAST_FRAME;
|
| mi_local.mbmi.ref_frame[1] = NONE;
|
|
|
| @@ -315,7 +307,7 @@
|
| static void separate_arf_mbs(VP9_COMP *cpi) {
|
| VP9_COMMON *const cm = &cpi->common;
|
| int mb_col, mb_row, offset, i;
|
| - int ncnt[4];
|
| + int ncnt[4] = { 0 };
|
| int n_frames = cpi->mbgraph_n_frames;
|
|
|
| int *arf_not_zz;
|
| @@ -351,7 +343,6 @@
|
| }
|
| }
|
|
|
| - vpx_memset(ncnt, 0, sizeof(ncnt));
|
| for (offset = 0, mb_row = 0; mb_row < cm->mb_rows;
|
| offset += cm->mb_cols, mb_row++) {
|
| for (mb_col = 0; mb_col < cm->mb_cols; mb_col++) {
|
|
|