diff --git a/vp8/decoder/decodemv.c b/vp8/decoder/decodemv.c index 9de6ec0c7..56036787f 100644 --- a/vp8/decoder/decodemv.c +++ b/vp8/decoder/decodemv.c @@ -762,6 +762,8 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi, int mv_contz; int blockmode; + second_leftmv.as_int = 0; + second_abovemv.as_int = 0; k = vp8_mbsplit_offset[s][j]; leftmv.as_int = left_block_mv(mi, k); diff --git a/vp8/encoder/firstpass.c b/vp8/encoder/firstpass.c index 1e5d4ef5c..fdc85a95d 100644 --- a/vp8/encoder/firstpass.c +++ b/vp8/encoder/firstpass.c @@ -1965,6 +1965,8 @@ void vp8_second_pass(VP8_COMP *cpi) { vp8_clear_system_state(); + vpx_memset(&this_frame, 0, sizeof(FIRSTPASS_STATS)); + if (EOF == input_stats(cpi, &this_frame)) return; diff --git a/vp8/encoder/rdopt.c b/vp8/encoder/rdopt.c index 3653cc18e..e9e5550a2 100644 --- a/vp8/encoder/rdopt.c +++ b/vp8/encoder/rdopt.c @@ -1643,6 +1643,7 @@ static int labels2mode(MACROBLOCK *x, int const *labelings, int which_label, if (m == ABOVE4X4) { // replace above with left if same int_mv left_mv, left_second_mv; + left_second_mv.as_int = 0; left_mv.as_int = col ? d[-1].bmi.as_mv.first.as_int : left_block_mv(mic, i); if (mbmi->second_ref_frame) @@ -2717,6 +2718,7 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int unsigned int ref_costs[MAX_REF_FRAMES]; int_mv seg_mvs[BLOCK_MAX_SEGMENTS - 1][16 /* n_blocks */][MAX_REF_FRAMES - 1]; + vpx_memset(mode8x8, 0, sizeof(mode8x8)); vpx_memset(&frame_mv, 0, sizeof(frame_mv)); vpx_memset(&best_mbmode, 0, sizeof(best_mbmode)); vpx_memset(&best_bmodes, 0, sizeof(best_bmodes));