Intra Prediction for 8x32 and 32x8

Change-Id: I5c232b6948b236136aed609532d4cdf4a7016e4d
diff --git a/aom_dsp/intrapred.c b/aom_dsp/intrapred.c
index 790cd22..6433011 100644
--- a/aom_dsp/intrapred.c
+++ b/aom_dsp/intrapred.c
@@ -951,6 +951,8 @@
   intra_pred_sized(type, 64, 32) \
   intra_pred_sized(type, 4, 16) \
   intra_pred_sized(type, 16, 4) \
+  intra_pred_sized(type, 8, 32) \
+  intra_pred_sized(type, 32, 8) \
   intra_pred_highbd_sized(type, 4, 8) \
   intra_pred_highbd_sized(type, 8, 4) \
   intra_pred_highbd_sized(type, 8, 16) \
@@ -960,7 +962,9 @@
   intra_pred_highbd_sized(type, 32, 64) \
   intra_pred_highbd_sized(type, 64, 32) \
   intra_pred_highbd_sized(type, 4, 16) \
-  intra_pred_highbd_sized(type, 16, 4)
+  intra_pred_highbd_sized(type, 16, 4) \
+  intra_pred_highbd_sized(type, 8, 32) \
+  intra_pred_highbd_sized(type, 32, 8)
 #define intra_pred_above_4x4(type) \
   intra_pred_sized(type, 8, 8) \
   intra_pred_sized(type, 16, 16) \
@@ -987,6 +991,8 @@
   intra_pred_sized(type, 32, 16) \
   intra_pred_sized(type, 4, 16) \
   intra_pred_sized(type, 16, 4) \
+  intra_pred_sized(type, 8, 32) \
+  intra_pred_sized(type, 32, 8) \
   intra_pred_highbd_sized(type, 4, 8) \
   intra_pred_highbd_sized(type, 8, 4) \
   intra_pred_highbd_sized(type, 8, 16) \
@@ -994,7 +1000,9 @@
   intra_pred_highbd_sized(type, 16, 32) \
   intra_pred_highbd_sized(type, 32, 16) \
   intra_pred_highbd_sized(type, 4, 16) \
-  intra_pred_highbd_sized(type, 16, 4)
+  intra_pred_highbd_sized(type, 16, 4) \
+  intra_pred_highbd_sized(type, 8, 32) \
+  intra_pred_highbd_sized(type, 32, 8)
 #define intra_pred_above_4x4(type) \
   intra_pred_sized(type, 8, 8) \
   intra_pred_sized(type, 16, 16) \
@@ -1024,7 +1032,9 @@
   intra_pred_sized(type, 32, 64) \
   intra_pred_sized(type, 64, 32) \
   intra_pred_sized(type, 4, 16) \
-  intra_pred_sized(type, 16, 4)
+  intra_pred_sized(type, 16, 4) \
+  intra_pred_sized(type, 8, 32) \
+  intra_pred_sized(type, 32, 8)
 #define intra_pred_above_4x4(type) \
   intra_pred_sized(type, 8, 8) \
   intra_pred_sized(type, 16, 16) \
@@ -1044,7 +1054,9 @@
   intra_pred_sized(type, 16, 32) \
   intra_pred_sized(type, 32, 16) \
   intra_pred_sized(type, 4, 16) \
-  intra_pred_sized(type, 16, 4)
+  intra_pred_sized(type, 16, 4) \
+  intra_pred_sized(type, 8, 32) \
+  intra_pred_sized(type, 32, 8)
 #define intra_pred_above_4x4(type) \
   intra_pred_sized(type, 8, 8) \
   intra_pred_sized(type, 16, 16) \
diff --git a/av1/common/common_data.h b/av1/common/common_data.h
index 1e6c83c..1a9fecb 100644
--- a/av1/common/common_data.h
+++ b/av1/common/common_data.h
@@ -680,12 +680,14 @@
 #if CONFIG_EXT_PARTITION_TYPES && CONFIG_RECT_TX_EXT_INTRA
   // 4x16,   16x4,
   TX_4X16,   TX_16X4,
+  // 8x32,   32x8
+  TX_8X32,   TX_32X8,
 #else
   // 4x16,   16x4,
   TX_4X8,    TX_8X4,
-#endif  // CONFIG_EXT_PARTITION_TYPES && CONFIG_RECT_TX_EXT_INTRA
   // 8x32,   32x8
   TX_8X16,   TX_16X8,
+#endif  // CONFIG_EXT_PARTITION_TYPES && CONFIG_RECT_TX_EXT_INTRA
   // 16x64,  64x16
   TX_16X32,  TX_32X16,
 #if CONFIG_EXT_PARTITION
diff --git a/av1/common/reconintra.c b/av1/common/reconintra.c
index 4b48ac2..17d1c5f 100644
--- a/av1/common/reconintra.c
+++ b/av1/common/reconintra.c
@@ -673,7 +673,9 @@
   p[TX_32X64] = aom_##type##_predictor_32x64; \
   p[TX_64X32] = aom_##type##_predictor_64x32; \
   p[TX_4X16] = aom_##type##_predictor_4x16;   \
-  p[TX_16X4] = aom_##type##_predictor_16x4;
+  p[TX_16X4] = aom_##type##_predictor_16x4;   \
+  p[TX_8X32] = aom_##type##_predictor_8x32;   \
+  p[TX_32X8] = aom_##type##_predictor_32x8;
 #else
 #define INIT_RECTANGULAR(p, type)             \
   p[TX_4X8] = aom_##type##_predictor_4x8;     \
@@ -683,7 +685,9 @@
   p[TX_16X32] = aom_##type##_predictor_16x32; \
   p[TX_32X16] = aom_##type##_predictor_32x16; \
   p[TX_4X16] = aom_##type##_predictor_4x16;   \
-  p[TX_16X4] = aom_##type##_predictor_16x4;
+  p[TX_16X4] = aom_##type##_predictor_16x4;   \
+  p[TX_8X32] = aom_##type##_predictor_8x32;   \
+  p[TX_32X8] = aom_##type##_predictor_32x8;
 #endif  // CONFIG_TX64X64
 
 #if CONFIG_TX64X64