diff options
author | Marco <marpan@google.com> | 2016-02-24 16:16:44 -0800 |
---|---|---|
committer | Marco <marpan@google.com> | 2016-03-11 09:22:36 -0800 |
commit | caa8de547f5860bfbb83626811d631dbf6d2b5d1 (patch) | |
tree | dc9df9139897eb8f09692b4cea4f65c503bb9c0e /vp9/encoder/vp9_pickmode.c | |
parent | c3d6da666ec2564611d1fac0759a8a453726ec9a (diff) | |
download | libvpx-caa8de547f5860bfbb83626811d631dbf6d2b5d1.tar libvpx-caa8de547f5860bfbb83626811d631dbf6d2b5d1.tar.gz libvpx-caa8de547f5860bfbb83626811d631dbf6d2b5d1.tar.bz2 libvpx-caa8de547f5860bfbb83626811d631dbf6d2b5d1.zip |
vp9 non-rd pickmode. Some adjustments for vbr mode.
Some adjustments to inter-mode selection for vbr mode.
Condition some of the bias to low/zero motion on cbr mode, and
don't use int_pro_motion_estimation for golden ref
(treat it same as last ref).
Change only affect 1 pass vbr mode, speed >=5 (non-rd pickmode).
Encoding time increase within ~5%.
Avg PSNR/SSIM on RTC set increase by ~2%, all clips up,
ranging from 0.5 to 4%.
Change-Id: I0048d0104a8816773d91a2b1484d601169d9bad7
Diffstat (limited to 'vp9/encoder/vp9_pickmode.c')
-rw-r--r-- | vp9/encoder/vp9_pickmode.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c index e53917f6c..f29a5d84a 100644 --- a/vp9/encoder/vp9_pickmode.c +++ b/vp9/encoder/vp9_pickmode.c @@ -1363,7 +1363,9 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, continue; if (this_mode == NEWMV) { - if (ref_frame > LAST_FRAME && !cpi->use_svc) { + if (ref_frame > LAST_FRAME && + !cpi->use_svc && + cpi->oxcf.rc_mode == VPX_CBR) { int tmp_sad; int dis, cost_list[5]; @@ -1598,7 +1600,8 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, this_rdc.rate += ref_frame_cost[ref_frame]; this_rdc.rdcost = RDCOST(x->rdmult, x->rddiv, this_rdc.rate, this_rdc.dist); - if (cpi->oxcf.speed >= 5 && + if (cpi->oxcf.rc_mode == VPX_CBR && + cpi->oxcf.speed >= 5 && cpi->oxcf.content != VP9E_CONTENT_SCREEN && !x->sb_is_skin) { // Bias against non-zero (above some threshold) motion for large blocks. |