summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorYaowu Xu <yaowu@google.com>2014-10-23 11:20:22 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-10-23 11:20:22 -0700
commit86777f2e1e886add8ddacfe1bd7079039a653ba4 (patch)
tree549b4cd22597fd018bdb42add05b607eef9ce427 /vp9
parent9363425daa8311f518184bf516e1f3c709addb8e (diff)
parent065809d28640c7f984cec1892e7938e0c4edbe05 (diff)
downloadlibvpx-86777f2e1e886add8ddacfe1bd7079039a653ba4.tar
libvpx-86777f2e1e886add8ddacfe1bd7079039a653ba4.tar.gz
libvpx-86777f2e1e886add8ddacfe1bd7079039a653ba4.tar.bz2
libvpx-86777f2e1e886add8ddacfe1bd7079039a653ba4.zip
Merge "Move filter_ref initialization"
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_pickmode.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c
index 1826885c7..08f8e84d4 100644
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -493,7 +493,7 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
const int8_t segment_id = mbmi->segment_id;
const int *const rd_threshes = cpi->rd.threshes[segment_id][bsize];
const int *const rd_thresh_freq_fact = cpi->rd.thresh_freq_fact[bsize];
- INTERP_FILTER filter_ref = cm->interp_filter;
+ INTERP_FILTER filter_ref;
const int bsl = mi_width_log2_lookup[bsize];
const int pred_filter_search = cm->interp_filter == SWITCHABLE ?
(((mi_row + mi_col) >> bsl) +
@@ -536,6 +536,13 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
x->skip_encode = cpi->sf.skip_encode_frame && x->q_index < QIDX_SKIP_THRESH;
x->skip = 0;
+ if (xd->up_available)
+ filter_ref = xd->mi[-xd->mi_stride].src_mi->mbmi.interp_filter;
+ else if (xd->left_available)
+ filter_ref = xd->mi[-1].src_mi->mbmi.interp_filter;
+ else
+ filter_ref = cm->interp_filter;
+
// initialize mode decisions
vp9_rd_cost_reset(&best_rdc);
vp9_rd_cost_reset(&this_rdc);
@@ -556,11 +563,6 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
frame_mv[NEWMV][ref_frame].as_int = INVALID_MV;
frame_mv[ZEROMV][ref_frame].as_int = 0;
- if (xd->up_available)
- filter_ref = xd->mi[-xd->mi_stride].src_mi->mbmi.interp_filter;
- else if (xd->left_available)
- filter_ref = xd->mi[-1].src_mi->mbmi.interp_filter;
-
if (cpi->ref_frame_flags & flag_list[ref_frame]) {
const YV12_BUFFER_CONFIG *yv12 = get_ref_frame_buffer(cpi, ref_frame);
int_mv *const candidates = mbmi->ref_mvs[ref_frame];