Index: source/libvpx/vp8/encoder/encodeframe.c |
=================================================================== |
--- source/libvpx/vp8/encoder/encodeframe.c (revision 290053) |
+++ source/libvpx/vp8/encoder/encodeframe.c (working copy) |
@@ -522,6 +522,19 @@ |
} |
#endif |
+ // Keep track of how many (consecutive) times a block is coded |
+ // as ZEROMV_LASTREF, for base layer frames. |
+ // Reset to 0 if its coded as anything else. |
+ if (cpi->current_layer == 0) { |
+ if (xd->mode_info_context->mbmi.mode == ZEROMV && |
+ xd->mode_info_context->mbmi.ref_frame == LAST_FRAME) { |
+ // Increment, check for wrap-around. |
+ if (cpi->consec_zero_last[map_index+mb_col] < 255) |
+ cpi->consec_zero_last[map_index+mb_col] += 1; |
+ } else { |
+ cpi->consec_zero_last[map_index+mb_col] = 0; |
+ } |
+ } |
/* Special case code for cyclic refresh |
* If cyclic update enabled then copy xd->mbmi.segment_id; (which |