filter_intra: stats collection and cdf optimizer

Change-Id: Ic4c5cb2baa661733662cdf932a05dc6de1667b6b
diff --git a/av1/common/entropymode.h b/av1/common/entropymode.h
index 3452241..b1e4377 100644
--- a/av1/common/entropymode.h
+++ b/av1/common/entropymode.h
@@ -568,6 +568,7 @@
 #endif  // CONFIG_EXT_INTRA
 #if CONFIG_FILTER_INTRA
   unsigned int filter_intra[PLANE_TYPES][2];
+  unsigned int filter_intra_mode[PLANE_TYPES][10];
 #endif  // CONFIG_FILTER_INTRA
 #if CONFIG_LPF_SB
   unsigned int lpf_reuse[LPF_REUSE_CONTEXT][2];
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index 502957d..f5fc720 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -5966,6 +5966,8 @@
       const int use_filter_intra_mode =
           mbmi->filter_intra_mode_info.use_filter_intra_mode[0];
       ++counts->filter_intra[0][use_filter_intra_mode];
+      ++counts->filter_intra_mode[0][mbmi->filter_intra_mode_info
+                                         .filter_intra_mode[0]];
     }
     if (mbmi->uv_mode == UV_DC_PRED
 #if CONFIG_CB4X4
@@ -5977,6 +5979,8 @@
       const int use_filter_intra_mode =
           mbmi->filter_intra_mode_info.use_filter_intra_mode[1];
       ++counts->filter_intra[1][use_filter_intra_mode];
+      ++counts->filter_intra_mode[1][mbmi->filter_intra_mode_info
+                                         .filter_intra_mode[1]];
     }
 #endif  // CONFIG_FILTER_INTRA
 #if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP
diff --git a/tools/aom_entropy_optimizer.c b/tools/aom_entropy_optimizer.c
index de69667..2c0c71e 100644
--- a/tools/aom_entropy_optimizer.c
+++ b/tools/aom_entropy_optimizer.c
@@ -791,6 +791,11 @@
   optimize_cdf_table(
       &fc.filter_intra[0][0], probsfile, 2, cts_each_dim,
       "static const aom_cdf_prob default_filter_intra_cdf[2][CDF_SIZE(2)]");
+  cts_each_dim[0] = PLANE_TYPES;
+  cts_each_dim[1] = 10;
+  optimize_cdf_table(&fc.filter_intra_mode[0][0], probsfile, 2, cts_each_dim,
+                     "static const aom_cdf_prob "
+                     "default_filter_intra_mode_cdf[2][CDF_SIZE(10)]");
 #endif
 
 #if CONFIG_LV_MAP