summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_pickmode.c
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2016-06-16 16:07:06 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2016-06-16 16:07:06 +0000
commit8870756ac6821349bbf755c00f020f5f7a5e5224 (patch)
treed08c11a372d3540fd4de83e4493820e9dcd77fd7 /vp9/encoder/vp9_pickmode.c
parentbbe5ddfdfbded0867a8e8d445a453fd0596f9dae (diff)
parent8e070558b062e1978b6b8a3430b3a155d58a6444 (diff)
downloadlibvpx-8870756ac6821349bbf755c00f020f5f7a5e5224.tar
libvpx-8870756ac6821349bbf755c00f020f5f7a5e5224.tar.gz
libvpx-8870756ac6821349bbf755c00f020f5f7a5e5224.tar.bz2
libvpx-8870756ac6821349bbf755c00f020f5f7a5e5224.zip
Merge "vp9: Adjustments to nonrd-pickmode for vbr"
Diffstat (limited to 'vp9/encoder/vp9_pickmode.c')
-rw-r--r--vp9/encoder/vp9_pickmode.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c
index 53ef7a046..130fc2b03 100644
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -1665,8 +1665,9 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
if ((this_mode == NEWMV || filter_ref == SWITCHABLE) && pred_filter_search
&& (ref_frame == LAST_FRAME ||
- (ref_frame == GOLDEN_FRAME && cpi->use_svc))
- && (((mi->mv[0].as_mv.row | mi->mv[0].as_mv.col) & 0x07) != 0)) {
+ (ref_frame == GOLDEN_FRAME &&
+ (cpi->use_svc || cpi->oxcf.rc_mode == VPX_VBR))) &&
+ (((mi->mv[0].as_mv.row | mi->mv[0].as_mv.col) & 0x07) != 0)) {
int pf_rate[3];
int64_t pf_dist[3];
unsigned int pf_var[3];
@@ -1721,7 +1722,7 @@ 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 (bsize > BLOCK_32X32 &&
+ 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,