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 {