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