]> granicus.if.org Git - libvpx/commitdiff
Fixed this_mode used before set in vp8_pick_inter_mode
authorAdrian Grange <agrange@google.com>
Mon, 31 Oct 2011 19:42:00 +0000 (12:42 -0700)
committerAdrian Grange <agrange@google.com>
Mon, 31 Oct 2011 19:42:00 +0000 (12:42 -0700)
The variable this_mode was being used before it had been
initialized.

Moved the line that sets-up this_mode toward the top of the
enclosing loop, prior to its first use. The bug would result in
tests in the loop lagging the mode that was expected to be
tested.

Change-Id: If4e51600449ce6b4285f112da17a44c24b4a19fb

vp8/encoder/pickinter.c

index 8c6f7dda06376c89be9f60cc5cb8ebd72d316b3f..404a5bf6735c67841901154899f3c6b5a46ade84 100644 (file)
@@ -519,6 +519,8 @@ void vp8_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset,
         if (skip_mode[x->e_mbd.mode_info_context->mbmi.ref_frame])
             continue;
 
+        this_mode = vp8_mode_order[mode_index];
+
 #if CONFIG_SEGFEATURES
         // Experimental use of Segment features.
         if ( xd->segmentation_enabled && !cm->refresh_alt_ref_frame )
@@ -575,8 +577,6 @@ void vp8_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset,
         rate2 = 0;
         distortion2 = 0;
 
-        this_mode = vp8_mode_order[mode_index];
-
         // Experimental debug code.
         //all_rds[mode_index] = -1;