shithub: libvpx

Download patch

ref: 2e93fcf89343c4d9a38e9fcd06760fe7a32013c9
parent: 5adb43b8bea52f308c2a8c113cffcf840672dfda
parent: ed7786869aaa5b191450c674ddbf410aa5803c5b
author: Scott LaVarnway <slavarnway@google.com>
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,