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 setting: 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 Change-Id: I902f62def225ea01c145d7e5a93497398b8f5edf
This commit is contained in:
parent
b4aa5c9408
commit
5c29ee726e
@ -1722,7 +1722,7 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
|||||||
vp9_build_inter_predictors_sby(xd, mi_row, mi_col, bsize);
|
vp9_build_inter_predictors_sby(xd, mi_row, mi_col, bsize);
|
||||||
|
|
||||||
// For large partition blocks, extra testing is done.
|
// For large partition blocks, extra testing is done.
|
||||||
if (cpi->oxcf.rc_mode == VPX_CBR && bsize > BLOCK_32X32 &&
|
if (cpi->oxcf.rc_mode == VPX_CBR && bsize >= BLOCK_32X32 &&
|
||||||
!cyclic_refresh_segment_id_boosted(xd->mi[0]->segment_id) &&
|
!cyclic_refresh_segment_id_boosted(xd->mi[0]->segment_id) &&
|
||||||
cm->base_qindex) {
|
cm->base_qindex) {
|
||||||
model_rd_for_sb_y_large(cpi, bsize, x, xd, &this_rdc.rate,
|
model_rd_for_sb_y_large(cpi, bsize, x, xd, &this_rdc.rate,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user