ref: defe094e9e5e081028b0d4fcbf61f5a49ff1c34e
parent: ddfe906be230f420f75f1160db5cd8f8aa093b32
author: Marco <[email protected]>
date: Mon Feb 27 07:03:12 EST 2017
vp9: Fix an issue with setting variance thresholds. 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
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -999,11 +999,10 @@
}
}
- 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);
}