]> granicus.if.org Git - libvpx/commitdiff
vp9: Fix an issue with setting variance thresholds.
authorMarco <marpan@google.com>
Mon, 27 Feb 2017 20:03:12 +0000 (12:03 -0800)
committerMarco <marpan@google.com>
Mon, 27 Feb 2017 20:09:51 +0000 (12:09 -0800)
From commit:
https://chromium-review.googlesource.com/c/441393/

On non-segment the set_vbp_thresholds() should be called
again to adjust thresholds based on content_state of superblock.
This was the intended behavior from 441393.

Small change in RTC metrics and speed.

Change-Id: I45e5fbdc4af74db76b3cb4f13074fcae0eb2219e

vp9/encoder/vp9_encodeframe.c

index 982dbd94340b3714dd9f5a132a2b4ceafe411044..76484bf66193b4d94a7b5f9e3fa425dee11831e9 100644 (file)
@@ -999,11 +999,10 @@ static int choose_partitioning(VP9_COMP *cpi, const TileInfo *const tile,
     }
   }
 
-  if (cpi->oxcf.aq_mode == CYCLIC_REFRESH_AQ && cm->seg.enabled) {
-    if (cyclic_refresh_segment_id_boosted(segment_id)) {
-      int q = vp9_get_qindex(&cm->seg, segment_id, cm->base_qindex);
-      set_vbp_thresholds(cpi, thresholds, q, content_state);
-    }
+  if (cpi->oxcf.aq_mode == CYCLIC_REFRESH_AQ && cm->seg.enabled &&
+      cyclic_refresh_segment_id_boosted(segment_id)) {
+    int q = vp9_get_qindex(&cm->seg, segment_id, cm->base_qindex);
+    set_vbp_thresholds(cpi, thresholds, q, content_state);
   } else {
     set_vbp_thresholds(cpi, thresholds, cm->base_qindex, content_state);
   }