diff options
author | Jingning Han <jingning@google.com> | 2013-12-12 17:31:04 -0800 |
---|---|---|
committer | Jingning Han <jingning@google.com> | 2013-12-12 17:54:34 -0800 |
commit | 3b5a90bd868a3469659e4cb78ec37032863cb92d (patch) | |
tree | 38b132eb86b2efbe0e1b106b03f184db5d0a7c03 /vp9/encoder/vp9_onyx_if.c | |
parent | 7edd5170b5e94c7f58e7e150cbe5446fc993a5de (diff) | |
download | libvpx-3b5a90bd868a3469659e4cb78ec37032863cb92d.tar libvpx-3b5a90bd868a3469659e4cb78ec37032863cb92d.tar.gz libvpx-3b5a90bd868a3469659e4cb78ec37032863cb92d.tar.bz2 libvpx-3b5a90bd868a3469659e4cb78ec37032863cb92d.zip |
Enable adaptive pred filter type for sub8x8
This commit enables an adaptive prediction filter type selection
for sub8x8 block sizes. In speed 1, it re-uses the filter type of
collocated 8x8 block if it is tested in the rate-distortion optimization
loop, for the sub8x8 blocks. Otherwise, it runs the normal test
over all the three filter types. In speed 2, it re-uses the 8x8
block's prediction filter type, if available. Otherwise, force it
to be EIGHTTAP.
Compression and speed performance wise:
speed 1
derf -0.266%
yt -0.138%
bus at 2000 kbps: 33766ms -> 30451ms (10% speed-up)
football at 600 kbps: 48173ms -> 43786ms (9% speed-up)
speed 2
derf -0.026%
yt +0.134%
bus at 2000 kbps: 18973ms -> 17698ms (6% speed-up)
football at 600 kbps: 26748ms -> 25096ms (6% speed-up)
Change-Id: I77e097533b969fd3472147225fa79fc98095d342
Diffstat (limited to 'vp9/encoder/vp9_onyx_if.c')
-rw-r--r-- | vp9/encoder/vp9_onyx_if.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c index 578fb421c..e010c0917 100644 --- a/vp9/encoder/vp9_onyx_if.c +++ b/vp9/encoder/vp9_onyx_if.c @@ -654,6 +654,7 @@ void vp9_set_speed_features(VP9_COMP *cpi) { sf->tx_size_search_method = USE_FULL_RD; sf->use_lp32x32fdct = 0; sf->adaptive_motion_search = 0; + sf->adaptive_pred_filter_type = 0; sf->use_avoid_tested_higherror = 0; sf->reference_masking = 0; sf->use_one_partition_size_always = 0; @@ -717,6 +718,7 @@ void vp9_set_speed_features(VP9_COMP *cpi) { sf->use_rd_breakout = 1; sf->adaptive_motion_search = 1; + sf->adaptive_pred_filter_type = 1; sf->auto_mv_step_size = 1; sf->adaptive_rd_thresh = 2; sf->recode_loop = 2; @@ -744,6 +746,7 @@ void vp9_set_speed_features(VP9_COMP *cpi) { sf->use_rd_breakout = 1; sf->adaptive_motion_search = 1; + sf->adaptive_pred_filter_type = 2; sf->auto_mv_step_size = 1; sf->disable_filter_search_var_thresh = 16; @@ -779,6 +782,7 @@ void vp9_set_speed_features(VP9_COMP *cpi) { sf->use_rd_breakout = 1; sf->adaptive_motion_search = 1; + sf->adaptive_pred_filter_type = 2; sf->auto_mv_step_size = 1; sf->disable_filter_search_var_thresh = 16; @@ -812,6 +816,7 @@ void vp9_set_speed_features(VP9_COMP *cpi) { sf->use_rd_breakout = 1; sf->adaptive_motion_search = 1; + sf->adaptive_pred_filter_type = 2; sf->auto_mv_step_size = 1; sf->disable_filter_search_var_thresh = 16; |