Add a new intra prediction mode "smooth".

This is added as part of ALT_INTRA experiment.

This uses interpolation between top row and estimated bottom row; as
well as left column and estimated right column to generate the
predicted block.The interpolation is done using a predefined weight
array.

Based on experiments, the currently chosen weight array was created
to represent a quadratic curve, but can be tuned further if needed.

Improvement from baseline on Derf set:
ALL Keyframes: 1.279%

Improvement from existing ALT_INTRA:
ALL Keyframes: 1.146%

Change-Id: I12637fa1b91bd836f1c59b27d6caee2004acbdd4
diff --git a/av1/encoder/rd.h b/av1/encoder/rd.h
index c9d21a8..35093e2d 100644
--- a/av1/encoder/rd.h
+++ b/av1/encoder/rd.h
@@ -45,24 +45,6 @@
 #define INVALID_MV 0x80008000
 
 #if CONFIG_EXT_REFS
-
-#if CONFIG_EXT_INTER
-#define MAX_MODES 144
-#else  // CONFIG_EXT_INTER
-#define MAX_MODES 66
-#endif  // CONFIG_EXT_INTER
-
-#else  // CONFIG_EXT_REFS
-
-#if CONFIG_EXT_INTER
-#define MAX_MODES 57
-#else  // CONFIG_EXT_INTER
-#define MAX_MODES 30
-#endif  // CONFIG_EXT_INTER
-
-#endif  // CONFIG_EXT_REFS
-
-#if CONFIG_EXT_REFS
 #define MAX_REFS 15
 #else
 #define MAX_REFS 6
@@ -157,6 +139,10 @@
 
   THR_TM,
 
+#if CONFIG_ALT_INTRA
+  THR_SMOOTH,
+#endif  // CONFIG_ALT_INTRA
+
 #if CONFIG_EXT_INTER
 
   THR_COMP_NEAR_NEARESTLA,
@@ -327,6 +313,7 @@
   THR_COMP_INTERINTRA_NEARA,
   THR_COMP_INTERINTRA_NEWA,
 #endif  // CONFIG_EXT_INTER
+  MAX_MODES
 } THR_MODES;
 
 typedef enum {