shithub: libvpx

Download patch

ref: 3d6b8a667f67b6c0f0689cb45a48b8510a64e0ce
parent: d5c0e366d7d86dc19d079ad608caacaef5fa9535
author: Alex Converse <[email protected]>
date: Thu Sep 3 10:53:40 EDT 2015

Prevent CR in screen mode from refreshing flat inter blocks forever.

Take the minimum last_codec_q_map on inter skip.

Change-Id: Ibb308526dd19793bb359f51ebd7b48d8692903fd

--- a/vp9/encoder/vp9_aq_cyclicrefresh.c
+++ b/vp9/encoder/vp9_aq_cyclicrefresh.c
@@ -235,6 +235,12 @@
       if (!is_inter_block(mbmi) || !skip)
         cr->last_coded_q_map[map_offset] = clamp(
             cm->base_qindex + cr->qindex_delta[mbmi->segment_id], 0, MAXQ);
+      else if (is_inter_block(mbmi) && skip) {
+        cr->last_coded_q_map[map_offset] = VPXMIN(
+            clamp(cm->base_qindex + cr->qindex_delta[mbmi->segment_id],
+                  0, MAXQ),
+            cr->last_coded_q_map[map_offset]);
+      }
     }
 }