summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_speed_features.c
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2014-07-01 16:10:44 -0700
committerJingning Han <jingning@google.com>2014-07-01 17:00:07 -0700
commit9ac2f6632044ad2ec268ed4921c31391f30ecd0c (patch)
tree9eba14581dabcbdbf14534ace311009b8860f1c0 /vp9/encoder/vp9_speed_features.c
parent6643b8868da0efc6ec8217cb16c8b3c9bb8ef62f (diff)
downloadlibvpx-9ac2f6632044ad2ec268ed4921c31391f30ecd0c.tar
libvpx-9ac2f6632044ad2ec268ed4921c31391f30ecd0c.tar.gz
libvpx-9ac2f6632044ad2ec268ed4921c31391f30ecd0c.tar.bz2
libvpx-9ac2f6632044ad2ec268ed4921c31391f30ecd0c.zip
Re-design quantization process
This commit re-designs the quantization process for transform coefficient blocks of size 4x4 to 16x16. It improves compression performance for speed 7 by 3.85%. The SSSE3 version for the new quantization process is included. The average runtime of the 8x8 block quantization is reduced from 285 cycles -> 255 cycles, i.e., over 10% faster. Change-Id: I61278aa02efc70599b962d3314671db5b0446a50
Diffstat (limited to 'vp9/encoder/vp9_speed_features.c')
-rw-r--r--vp9/encoder/vp9_speed_features.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c
index 88a750276..be68bebf5 100644
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -279,6 +279,7 @@ static void set_rt_speed_feature(VP9_COMP *cpi, SPEED_FEATURES *sf,
sf->reuse_inter_pred_sby = 1;
}
if (speed >= 7) {
+ sf->use_quant_fp = cm->frame_type == KEY_FRAME ? 0 : 1;
sf->lpf_pick = LPF_PICK_MINIMAL_LPF;
sf->encode_breakout_thresh = (MIN(cm->width, cm->height) >= 720) ?
800 : 300;
@@ -314,6 +315,7 @@ void vp9_set_speed_features(VP9_COMP *cpi) {
sf->use_lp32x32fdct = 0;
sf->adaptive_motion_search = 0;
sf->adaptive_pred_interp_filter = 0;
+ sf->use_quant_fp = 0;
sf->reference_masking = 0;
sf->partition_search_type = SEARCH_PARTITION;
sf->less_rectangular_check = 0;