summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2014-09-16 09:49:17 -0700
committerJingning Han <jingning@google.com>2014-09-16 09:56:10 -0700
commit56fa3ab886c47ccab74e7457dc57d43537dcaf75 (patch)
tree602ec4de42503eea19ce2f745ebef5a69eac2900 /vp9
parent252822e81c1d6f7edb359f4358fe9cec2fbb14a8 (diff)
downloadlibvpx-56fa3ab886c47ccab74e7457dc57d43537dcaf75.tar
libvpx-56fa3ab886c47ccab74e7457dc57d43537dcaf75.tar.gz
libvpx-56fa3ab886c47ccab74e7457dc57d43537dcaf75.tar.bz2
libvpx-56fa3ab886c47ccab74e7457dc57d43537dcaf75.zip
Use non-zero mode threshold for NEARESTMV modes
This commit makes the encoder to use non-zero mode threshold for NEARESTMV modes. The runtime for test clips of speed 3 is reduced by about 1%. pedestrian 1080p 2000 kbps, 143239 ms -> 141989 ms bus CIF 1000 kbps, 7835 ms -> 7749 ms The compression performance change is about -0.02% for both derf and stdhd. Change-Id: Ib71808922c41ae2997100cb7c561f68dcebfa08e
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_rd.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_rd.c b/vp9/encoder/vp9_rd.c
index b45e07db5..1dd44b4aa 100644
--- a/vp9/encoder/vp9_rd.c
+++ b/vp9/encoder/vp9_rd.c
@@ -457,9 +457,15 @@ void vp9_set_rd_speed_thresholds(VP9_COMP *cpi) {
for (i = 0; i < MAX_MODES; ++i)
rd->thresh_mult[i] = cpi->oxcf.mode == BEST ? -500 : 0;
- rd->thresh_mult[THR_NEARESTMV] = 0;
- rd->thresh_mult[THR_NEARESTG] = 0;
- rd->thresh_mult[THR_NEARESTA] = 0;
+ if (sf->adaptive_rd_thresh) {
+ rd->thresh_mult[THR_NEARESTMV] = 300;
+ rd->thresh_mult[THR_NEARESTG] = 300;
+ rd->thresh_mult[THR_NEARESTA] = 300;
+ } else {
+ rd->thresh_mult[THR_NEARESTMV] = 0;
+ rd->thresh_mult[THR_NEARESTG] = 0;
+ rd->thresh_mult[THR_NEARESTA] = 0;
+ }
rd->thresh_mult[THR_DC] += 1000;