summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_encoder.c
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2019-03-05 17:06:20 -0800
committerJingning Han <jingning@google.com>2019-03-13 10:41:34 -0700
commit776daa071efc43772f9279ae17a2132fdaf3cb67 (patch)
treee9d866d3c25257ffd95ae86920e3f50698f29d8a /vp9/encoder/vp9_encoder.c
parentb8794de05bc91a9e27425f5d5564347f06c686af (diff)
downloadlibvpx-776daa071efc43772f9279ae17a2132fdaf3cb67.tar
libvpx-776daa071efc43772f9279ae17a2132fdaf3cb67.tar.gz
libvpx-776daa071efc43772f9279ae17a2132fdaf3cb67.tar.bz2
libvpx-776daa071efc43772f9279ae17a2132fdaf3cb67.zip
Adaptive multiplier based on the Wiener variance
Adapt the Lagrangian multiplier based on the Wiener variance at 64x64 block level. Change-Id: Ica195ed6f706daf6eee156d4b1a55bda65a92f7b
Diffstat (limited to 'vp9/encoder/vp9_encoder.c')
-rw-r--r--vp9/encoder/vp9_encoder.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c
index 868ec3a87..36dea81cd 100644
--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -4741,6 +4741,7 @@ static void set_mb_wiener_variance(VP9_COMP *cpi) {
if (cpi->sf.enable_wiener_variance == 0) return;
#if CONFIG_VP9_HIGHBITDEPTH
+ xd->cur_buf = cpi->Source;
if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH)
zero_pred = CONVERT_TO_BYTEPTR(zero_pred16);
else
@@ -4778,7 +4779,7 @@ static void set_mb_wiener_variance(VP9_COMP *cpi) {
for (idx = 0; idx < UINT16_MAX; ++idx) cpi->stack_rank_buffer[idx] = 0;
- for (idx = 0; idx < coeff_count; ++idx)
+ for (idx = 1; idx < coeff_count; ++idx)
++cpi->stack_rank_buffer[abs(coeff[idx])];
for (idx = 0; idx < UINT16_MAX; ++idx) {