]> granicus.if.org Git - libvpx/commitdiff
Prevent CR in screen mode from refreshing flat inter blocks forever.
authorAlex Converse <aconverse@google.com>
Thu, 3 Sep 2015 21:53:40 +0000 (14:53 -0700)
committerAlex Converse <aconverse@google.com>
Thu, 10 Sep 2015 22:03:13 +0000 (15:03 -0700)
Take the minimum last_codec_q_map on inter skip.

Change-Id: Ibb308526dd19793bb359f51ebd7b48d8692903fd

vp9/encoder/vp9_aq_cyclicrefresh.c

index a96cf5c5b3eb8dbe7d09e05cc0c43a92c9ca1abb..ebef1a202172123407872536bbd6e4ae69aafe58 100644 (file)
@@ -235,6 +235,12 @@ void vp9_cyclic_refresh_update_segment(VP9_COMP *const cpi,
       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]);
+      }
     }
 }