Clean ups and bug-fixes for filter_intra

Clean up: clean up unused entropy related arrays
Bug-fixes: resolve compiling errors when it is enabled with
entropy_stats and ext_skip

Change-Id: I2893e1b5c09e847fb4677f6e62709464208b76f8
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c
index 8187497..4c664d2 100644
--- a/av1/common/entropymode.c
+++ b/av1/common/entropymode.c
@@ -1485,9 +1485,8 @@
 #endif  // CONFIG_JNT_COMP
 
 #if CONFIG_FILTER_INTRA
-static const aom_cdf_prob default_filter_intra_mode_cdf[2][CDF_SIZE(
-    FILTER_INTRA_MODES)] = { { AOM_CDF5(14259, 17304, 20463, 29377) },
-                             { AOM_CDF5(32768, 32768, 32768, 32768) } };
+static const aom_cdf_prob default_filter_intra_mode_cdf[CDF_SIZE(
+    FILTER_INTRA_MODES)] = { AOM_CDF5(14259, 17304, 20463, 29377) };
 
 static const aom_cdf_prob default_filter_intra_cdfs[TX_SIZES_ALL][CDF_SIZE(2)] =
     {
diff --git a/av1/common/entropymode.h b/av1/common/entropymode.h
index 2e24061..7665883 100644
--- a/av1/common/entropymode.h
+++ b/av1/common/entropymode.h
@@ -195,7 +195,7 @@
   struct segmentation_probs seg;
 #if CONFIG_FILTER_INTRA
   aom_cdf_prob filter_intra_cdfs[TX_SIZES_ALL][CDF_SIZE(2)];
-  aom_cdf_prob filter_intra_mode_cdf[PLANE_TYPES][CDF_SIZE(FILTER_INTRA_MODES)];
+  aom_cdf_prob filter_intra_mode_cdf[CDF_SIZE(FILTER_INTRA_MODES)];
 #endif  // CONFIG_FILTER_INTRA
 #if CONFIG_LOOP_RESTORATION
   aom_cdf_prob switchable_restore_cdf[CDF_SIZE(RESTORE_SWITCHABLE_TYPES)];
@@ -346,10 +346,8 @@
 #endif  // CONFIG_ENTROPY_STATS
   struct seg_counts seg;
 #if CONFIG_FILTER_INTRA
-  unsigned int filter_intra_mode[PLANE_TYPES][FILTER_INTRA_MODES];
+  unsigned int filter_intra_mode[FILTER_INTRA_MODES];
   unsigned int filter_intra_tx[TX_SIZES_ALL][2];
-  unsigned int filter_intra_mode_ctx[KF_MODE_CONTEXTS][KF_MODE_CONTEXTS]
-                                    [FILTER_INTRA_MODES];
 #endif  // CONFIG_FILTER_INTRA
 } FRAME_COUNTS;
 
diff --git a/av1/common/reconintra.c b/av1/common/reconintra.c
index ed62bb4..796fced 100644
--- a/av1/common/reconintra.c
+++ b/av1/common/reconintra.c
@@ -1270,6 +1270,10 @@
 
   assert(bw <= 32 && bh <= 32);
 
+  // The initialization is just for silencing Jenkins static analysis warnings
+  for (r = 0; r < bh + 1; ++r)
+    memset(buffer[r], 0, (bw + 1) * sizeof(buffer[0][0]));
+
   for (r = 0; r < bh; ++r) buffer[r + 1][0] = (int)left[r];
 
   for (c = 0; c < bw + 1; ++c) buffer[0][c] = (int)above[c - 1];
@@ -1370,6 +1374,10 @@
 
   assert(bw <= 32 && bh <= 32);
 
+  // The initialization is just for silencing Jenkins static analysis warnings
+  for (r = 0; r < bh + 1; ++r)
+    memset(buffer[r], 0, (bw + 1) * sizeof(buffer[0][0]));
+
   for (r = 0; r < bh; ++r) buffer[r + 1][0] = (int)left[r];
 
   for (c = 0; c < bw + 1; ++c) buffer[0][c] = (int)above[c - 1];
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index b8707a8..3121e9c 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -875,9 +875,8 @@
     filter_intra_mode_info->use_filter_intra = aom_read_symbol(
         r, xd->tile_ctx->filter_intra_cdfs[mbmi->tx_size], 2, ACCT_STR);
     if (filter_intra_mode_info->use_filter_intra) {
-      filter_intra_mode_info->filter_intra_mode =
-          aom_read_symbol(r, xd->tile_ctx->filter_intra_mode_cdf[0],
-                          FILTER_INTRA_MODES, ACCT_STR);
+      filter_intra_mode_info->filter_intra_mode = aom_read_symbol(
+          r, xd->tile_ctx->filter_intra_mode_cdf, FILTER_INTRA_MODES, ACCT_STR);
     }
   }
 }
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 4bae6af..880cedb 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -818,7 +818,7 @@
     if (mbmi->filter_intra_mode_info.use_filter_intra) {
       const FILTER_INTRA_MODE mode =
           mbmi->filter_intra_mode_info.filter_intra_mode;
-      aom_write_symbol(w, mode, xd->tile_ctx->filter_intra_mode_cdf[0],
+      aom_write_symbol(w, mode, xd->tile_ctx->filter_intra_mode_cdf,
                        FILTER_INTRA_MODES);
     }
   }
diff --git a/av1/encoder/block.h b/av1/encoder/block.h
index 5126eb9..f02b9e0 100644
--- a/av1/encoder/block.h
+++ b/av1/encoder/block.h
@@ -297,7 +297,7 @@
   int y_mode_costs[INTRA_MODES][INTRA_MODES][INTRA_MODES];
 #if CONFIG_FILTER_INTRA
   int filter_intra_cost[TX_SIZES_ALL][2];
-  int filter_intra_mode_cost[PLANE_TYPES][FILTER_INTRA_MODES];
+  int filter_intra_mode_cost[FILTER_INTRA_MODES];
 #endif
   int switchable_interp_costs[SWITCHABLE_FILTER_CONTEXTS][SWITCHABLE_FILTERS];
 #if CONFIG_EXT_PARTITION_TYPES
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index 208f99e..635a992 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -4156,24 +4156,15 @@
     const int use_filter_intra_mode =
         mbmi->filter_intra_mode_info.use_filter_intra;
 #if CONFIG_ENTROPY_STATS
-    if (use_filter_intra_mode) {
-      const PREDICTION_MODE above = av1_above_block_mode(above_mi);
-      const PREDICTION_MODE left = av1_left_block_mode(left_mi);
-#if CONFIG_KF_CTX
-      int above_ctx = intra_mode_context[above];
-      int left_ctx = intra_mode_context[left];
-#endif
-      ++counts->filter_intra_mode[0][mbmi->filter_intra_mode_info
-                                         .filter_intra_mode[0]];
-      ++counts->filter_intra_mode_ctx[above_ctx][left_ctx]
-                                     [mbmi->filter_intra_mode_info
-                                          .filter_intra_mode[0]];
-    }
     ++counts->filter_intra_tx[mbmi->tx_size][use_filter_intra_mode];
+    if (use_filter_intra_mode) {
+      ++counts
+            ->filter_intra_mode[mbmi->filter_intra_mode_info.filter_intra_mode];
+    }
 #endif  // CONFIG_ENTROPY_STATS
     if (allow_update_cdf) {
       if (use_filter_intra_mode)
-        update_cdf(fc->filter_intra_mode_cdf[0],
+        update_cdf(fc->filter_intra_mode_cdf,
                    mbmi->filter_intra_mode_info.filter_intra_mode,
                    FILTER_INTRA_MODES);
       update_cdf(fc->filter_intra_cdfs[mbmi->tx_size], use_filter_intra_mode,
diff --git a/av1/encoder/rd.c b/av1/encoder/rd.c
index e88794e..710df4f 100644
--- a/av1/encoder/rd.c
+++ b/av1/encoder/rd.c
@@ -119,8 +119,8 @@
                              NULL);
 
 #if CONFIG_FILTER_INTRA
-  av1_cost_tokens_from_cdf(x->filter_intra_mode_cost[0],
-                           fc->filter_intra_mode_cdf[0], NULL);
+  av1_cost_tokens_from_cdf(x->filter_intra_mode_cost, fc->filter_intra_mode_cdf,
+                           NULL);
   for (i = 0; i < TX_SIZES_ALL; ++i)
     av1_cost_tokens_from_cdf(x->filter_intra_cost[i], fc->filter_intra_cdfs[i],
                              NULL);
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index fa8c6b9..2f63807 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -2759,7 +2759,7 @@
     if (mbmi->filter_intra_mode_info.use_filter_intra) {
       const int mode = mbmi->filter_intra_mode_info.filter_intra_mode;
       mode_cost += x->filter_intra_cost[mbmi->tx_size][1] +
-                   x->filter_intra_mode_cost[0][mode];
+                   x->filter_intra_mode_cost[mode];
     } else {
       mode_cost += x->filter_intra_cost[mbmi->tx_size][0];
     }
@@ -3071,7 +3071,7 @@
     if (tokenonly_rd_stats.rate == INT_MAX) continue;
     this_rate = tokenonly_rd_stats.rate +
                 x->filter_intra_cost[mbmi->tx_size][1] +
-                x->filter_intra_mode_cost[0][mode] + mode_cost;
+                x->filter_intra_mode_cost[mode] + mode_cost;
     this_rd = RDCOST(x->rdmult, this_rate, tokenonly_rd_stats.dist);
 
     if (this_rd < *best_rd) {
@@ -9169,8 +9169,7 @@
     }
 
 #if CONFIG_FILTER_INTRA
-    mbmi->filter_intra_mode_info.use_filter_intra_mode[0] = 0;
-    mbmi->filter_intra_mode_info.use_filter_intra_mode[1] = 0;
+    mbmi->filter_intra_mode_info.use_filter_intra = 0;
 #endif  // CONFIG_FILTER_INTRA
     mbmi->interintra_mode = (INTERINTRA_MODE)(II_DC_PRED - 1);
 #if CONFIG_JNT_COMP
@@ -9848,10 +9847,9 @@
           super_block_yrd(cpi, x, &rd_stats_y_fi, bsize, best_rd);
           if (rd_stats_y_fi.rate == INT_MAX) continue;
 
-          this_rate_tmp = rd_stats_y_fi.rate +
-                          x->filter_intra_cost[mbmi->tx_size][1] +
-                          x->filter_intra_mode_cost[0][fi_mode] +
-                          intra_mode_cost[mbmi->mode];
+          this_rate_tmp =
+              rd_stats_y_fi.rate + x->filter_intra_cost[mbmi->tx_size][1] +
+              x->filter_intra_mode_cost[fi_mode] + intra_mode_cost[mbmi->mode];
           this_rd_tmp = RDCOST(x->rdmult, this_rate_tmp, rd_stats_y_fi.dist);
 
           if (this_rd_tmp < best_rd_tmp) {
@@ -9953,8 +9951,8 @@
             x->filter_intra_cost[mbmi->tx_size]
                                 [mbmi->filter_intra_mode_info.use_filter_intra];
         if (mbmi->filter_intra_mode_info.use_filter_intra) {
-          rate2 += x->filter_intra_mode_cost[0][mbmi->filter_intra_mode_info
-                                                    .filter_intra_mode];
+          rate2 += x->filter_intra_mode_cost[mbmi->filter_intra_mode_info
+                                                 .filter_intra_mode];
         }
       }
 #endif  // CONFIG_FILTER_INTRA
@@ -10714,8 +10712,7 @@
 
       best_mbmode.interintra_mode = (INTERINTRA_MODE)(II_DC_PRED - 1);
 #if CONFIG_FILTER_INTRA
-      best_mbmode.filter_intra_mode_info.use_filter_intra_mode[0] = 0;
-      best_mbmode.filter_intra_mode_info.use_filter_intra_mode[1] = 0;
+      best_mbmode.filter_intra_mode_info.use_filter_intra = 0;
 #endif  // CONFIG_FILTER_INTRA
 
       set_default_interp_filters(&best_mbmode, cm->interp_filter);