summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_pickmode.c
diff options
context:
space:
mode:
authorjackychen <jackychen@google.com>2016-06-24 09:39:27 -0700
committerjackychen <jackychen@google.com>2016-06-24 12:09:13 -0700
commit7991241a50f9cf271dcb1063b9fbee0f025eb263 (patch)
tree3d6f7914c372550e9a4f57eacb1516a3af6f9cc0 /vp9/encoder/vp9_pickmode.c
parent7ed1d54ab4b75037e90c46135cfe01b7dc47fa4d (diff)
downloadlibvpx-7991241a50f9cf271dcb1063b9fbee0f025eb263.tar
libvpx-7991241a50f9cf271dcb1063b9fbee0f025eb263.tar.gz
libvpx-7991241a50f9cf271dcb1063b9fbee0f025eb263.tar.bz2
libvpx-7991241a50f9cf271dcb1063b9fbee0f025eb263.zip
vp9: Change the scheme for modeling rd for bsize 32x32.
For real-time CBR mode, use model_rd_for_sb_y_large instead of model_rd_for_sb_y for 32x32 block. In the former model, transform might be skipped more aggressively in some condtions, which speeds up encoding time with only a little PSNR/SSIM drop on rtc test set. No obvious visual quality regression. PSNR effect on different speed settings: speed 8 rtc: 0.129% overall PSNR drop, 0.137% SSIM drop speed 7 rtc: 0.135% overall PSNR drop, 0.062% SSIM drop speed 5 rtc_derf: 0.105% overall PSNR drop, 0.095% SSIM drop Speed up: gips_motion_WHD, 1mbps: 3.29% faster on speed 7, 2.56% faster on speed8 gips_stat_WHD, 1mbps: 2.17% faster on speed 7, 1.62% faster on speed8 BUG=webm:1250 Change-Id: I818babce5b8549b4b1a7c3978df8591bffde7173
Diffstat (limited to 'vp9/encoder/vp9_pickmode.c')
-rw-r--r--vp9/encoder/vp9_pickmode.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c
index 6fcc2a70f..fa0fea0c1 100644
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -1727,9 +1727,9 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
vp9_build_inter_predictors_sby(xd, mi_row, mi_col, bsize);
// For large partition blocks, extra testing is done.
- if (cpi->oxcf.rc_mode == VPX_CBR && bsize > BLOCK_32X32 &&
- !cyclic_refresh_segment_id_boosted(xd->mi[0]->segment_id) &&
- cm->base_qindex) {
+ if (cpi->oxcf.rc_mode == VPX_CBR && bsize >= BLOCK_32X32 &&
+ !cyclic_refresh_segment_id_boosted(xd->mi[0]->segment_id) &&
+ cm->base_qindex) {
model_rd_for_sb_y_large(cpi, bsize, x, xd, &this_rdc.rate,
&this_rdc.dist, &var_y, &sse_y, mi_row, mi_col,
&this_early_term);