summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_rdopt.h
diff options
context:
space:
mode:
authorDeb Mukherjee <debargha@google.com>2013-10-10 17:24:55 -0700
committerDeb Mukherjee <debargha@google.com>2013-10-11 10:43:02 -0700
commitd9655e42b84a405a291ad142df748cc7e0364916 (patch)
tree244d352758bee6e70846ab81b20206bd6a5fe453 /vp9/encoder/vp9_rdopt.h
parent2b055dfe3f244bacaf4c40aede81f83f03a94349 (diff)
downloadlibvpx-d9655e42b84a405a291ad142df748cc7e0364916.tar
libvpx-d9655e42b84a405a291ad142df748cc7e0364916.tar.gz
libvpx-d9655e42b84a405a291ad142df748cc7e0364916.tar.bz2
libvpx-d9655e42b84a405a291ad142df748cc7e0364916.zip
Change in rddiv parameter to make it a power of 2
Converts the constant rddiv parameter to 128 (from 100) and implements RDCOST with bit-shift rather than multiplication. Other parameters are also adjusted to roughly keep the same balance between Rate and Distortion. There is a slight speed-up of about 0.5-1% (at speed 0) as testted on football_cif. There is a slight change in performance due to small change in the parameters. derfraw300: +0.033% stdhdraw250; +0.102% Change-Id: I70ac69f58fa71c83108f68fe41796cd19d1fc760
Diffstat (limited to 'vp9/encoder/vp9_rdopt.h')
-rw-r--r--vp9/encoder/vp9_rdopt.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_rdopt.h b/vp9/encoder/vp9_rdopt.h
index c86ea2723..aa4068d76 100644
--- a/vp9/encoder/vp9_rdopt.h
+++ b/vp9/encoder/vp9_rdopt.h
@@ -12,8 +12,10 @@
#ifndef VP9_ENCODER_VP9_RDOPT_H_
#define VP9_ENCODER_VP9_RDOPT_H_
+#define RDDIV_BITS 7
+
#define RDCOST(RM, DM, R, D) \
- (((128 + ((int64_t)R) * (RM)) >> 8) + ((int64_t)DM) * (D))
+ (((128 + ((int64_t)R) * (RM)) >> 8) + (D << DM))
#define QIDX_SKIP_THRESH 115
void vp9_initialize_rd_consts(VP9_COMP *cpi, int qindex);