shithub: libvpx

Download patch

ref: 5a7bb4e20cfdf3f0b58227c819349d59c8b357bc
parent: d931eb556b414e6c4176cb5b94cc5c31519d7360
parent: 2e5bbdc8fc9510b34e1d9cf5a475910d992ef2c0
author: Paul Wilkins <paulwilkins@google.com>
date: Wed Dec 19 04:47:27 EST 2018

Merge "Improve rd_variance_adjustment() for low variance blocks."

--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -3019,7 +3019,7 @@
 
 #if CONFIG_VP9_HIGHBITDEPTH
   if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH) {
-    if (source_variance > 0) {
+    if (source_variance > 100) {
       rec_variance = vp9_high_get_sby_perpixel_variance(cpi, &xd->plane[0].dst,
                                                         bsize, xd->bd);
       src_variance = source_variance;
@@ -3030,7 +3030,7 @@
           vp9_high_get_sby_variance(cpi, &x->plane[0].src, bsize, xd->bd);
     }
   } else {
-    if (source_variance > 0) {
+    if (source_variance > 100) {
       rec_variance =
           vp9_get_sby_perpixel_variance(cpi, &xd->plane[0].dst, bsize);
       src_variance = source_variance;
@@ -3040,7 +3040,7 @@
     }
   }
 #else
-  if (source_variance > 0) {
+  if (source_variance > 100) {
     rec_variance = vp9_get_sby_perpixel_variance(cpi, &xd->plane[0].dst, bsize);
     src_variance = source_variance;
   } else {