ref: 2e93fcf89343c4d9a38e9fcd06760fe7a32013c9
parent: 5adb43b8bea52f308c2a8c113cffcf840672dfda
parent: ed7786869aaa5b191450c674ddbf410aa5803c5b
author: Scott LaVarnway <[email protected]>
date: Mon Jul 11 18:31:05 EDT 2016
Merge "vp9_rd_pick_intra_mode_sb(): set interp_filter to"
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -2773,6 +2773,12 @@
if (cpi->sf.adaptive_motion_search)
store_pred_mv(x, ctx);
+ // If the interp_filter is marked as SWITCHABLE_FILTERS, it was for an
+ // intra block and used for context purposes.
+ if (ctx->mic.interp_filter == SWITCHABLE_FILTERS) {
+ ctx->mic.interp_filter = EIGHTTAP;
+ }
+
// PARTITION_SPLIT
// TODO(jingning): use the motion vectors given by the above search as
// the starting point of motion search in the following partition type check.
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -2917,6 +2917,9 @@
ctx->skip = 0;
xd->mi[0]->ref_frame[0] = INTRA_FRAME;
xd->mi[0]->ref_frame[1] = NONE;
+ // Initialize interp_filter here so we do not have to check for inter block
+ // modes in get_pred_context_switchable_interp()
+ xd->mi[0]->interp_filter = SWITCHABLE_FILTERS;
if (bsize >= BLOCK_8X8) {
if (rd_pick_intra_sby_mode(cpi, x, &rate_y, &rate_y_tokenonly,