diff options
author | Marco <marpan@google.com> | 2015-12-14 12:43:32 -0800 |
---|---|---|
committer | Marco <marpan@google.com> | 2015-12-14 12:54:10 -0800 |
commit | 6f17954f853788b02e97bbb8bf8fcb4f8c69c4a8 (patch) | |
tree | e257662bc7e7f6fb0fab0e352cd5a573ace7f817 /vp9/encoder | |
parent | e19b7df8d33c795e0daf4432315325ec445d21bd (diff) | |
download | libvpx-6f17954f853788b02e97bbb8bf8fcb4f8c69c4a8.tar libvpx-6f17954f853788b02e97bbb8bf8fcb4f8c69c4a8.tar.gz libvpx-6f17954f853788b02e97bbb8bf8fcb4f8c69c4a8.tar.bz2 libvpx-6f17954f853788b02e97bbb8bf8fcb4f8c69c4a8.zip |
Non-rd variance partition: Adjust logic for 32->16 force split.
Lower the threshold for splitting 32x32->16x16 based on average variance,
and add lower bound condition for this split to occur. This prevents
unneccassry splitting for areas with very low variance.
Change-Id: Ibeb33b3d993632c2019f296eb87ef3b7e3568189
Diffstat (limited to 'vp9/encoder')
-rw-r--r-- | vp9/encoder/vp9_encodeframe.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 1606b16a2..85fce1ce4 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -923,7 +923,8 @@ static int choose_partitioning(VP9_COMP *cpi, get_variance(&vt.split[i].part_variances.none); if (vt.split[i].part_variances.none.variance > thresholds[1] || (!is_key_frame && - vt.split[i].part_variances.none.variance > (3 * avg_16x16[i]) >> 2)) { + vt.split[i].part_variances.none.variance > (thresholds[1] >> 1) && + vt.split[i].part_variances.none.variance > (avg_16x16[i] >> 1))) { force_split[i + 1] = 1; force_split[0] = 1; } |