From: Marco Date: Mon, 27 Feb 2017 20:03:12 +0000 (-0800) Subject: vp9: Fix an issue with setting variance thresholds. X-Git-Tag: v1.7.0~670 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=defe094e9e5e081028b0d4fcbf61f5a49ff1c34e;p=libvpx 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 --- diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 982dbd943..76484bf66 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -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); }