diff --git a/aom_dsp/aom_dsp_rtcd_defs.pl b/aom_dsp/aom_dsp_rtcd_defs.pl
index 5a487ab..3067d43 100755
--- a/aom_dsp/aom_dsp_rtcd_defs.pl
+++ b/aom_dsp/aom_dsp_rtcd_defs.pl
@@ -67,10 +67,7 @@
   }
 }
 
-@pred_names = qw/dc dc_top dc_left dc_128 v h d207e d63e d45e d117 d135 d153 paeth smooth/;
-if (aom_config("CONFIG_SMOOTH_HV") eq "yes") {
-  push @pred_names, qw/smooth_v smooth_h/;
-}
+@pred_names = qw/dc dc_top dc_left dc_128 v h d207e d63e d45e d117 d135 d153 paeth smooth smooth_v smooth_h/;
 
 #
 # Intra prediction
diff --git a/aom_dsp/intrapred.c b/aom_dsp/intrapred.c
index 6d2ac37..5459503 100644
--- a/aom_dsp/intrapred.c
+++ b/aom_dsp/intrapred.c
@@ -250,7 +250,6 @@
   }
 }
 
-#if CONFIG_SMOOTH_HV
 static INLINE void smooth_v_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
                                       int bh, const uint8_t *above,
                                       const uint8_t *left) {
@@ -308,7 +307,6 @@
     dst += stride;
   }
 }
-#endif  // CONFIG_SMOOTH_HV
 
 static INLINE void dc_128_predictor(uint8_t *dst, ptrdiff_t stride, int bw,
                                     int bh, const uint8_t *above,
@@ -791,7 +789,6 @@
   }
 }
 
-#if CONFIG_SMOOTH_HV
 static INLINE void highbd_smooth_v_predictor(uint16_t *dst, ptrdiff_t stride,
                                              int bw, int bh,
                                              const uint16_t *above,
@@ -851,7 +848,6 @@
     dst += stride;
   }
 }
-#endif  // CONFIG_SMOOTH_HV
 
 static INLINE void highbd_dc_128_predictor(uint16_t *dst, ptrdiff_t stride,
                                            int bw, int bh,
@@ -1059,10 +1055,8 @@
 intra_pred_allsizes(v)
 intra_pred_allsizes(h)
 intra_pred_allsizes(smooth)
-#if CONFIG_SMOOTH_HV
 intra_pred_allsizes(smooth_v)
 intra_pred_allsizes(smooth_h)
-#endif  // CONFIG_SMOOTH_HV
 intra_pred_allsizes(paeth)
 intra_pred_allsizes(dc_128)
 intra_pred_allsizes(dc_left)
diff --git a/av1/common/av1_loopfilter.c b/av1/common/av1_loopfilter.c
index 3e8ce50..82ce873 100644
--- a/av1/common/av1_loopfilter.c
+++ b/av1/common/av1_loopfilter.c
@@ -314,12 +314,8 @@
 static const uint16_t above_border_uv = 0x000f;
 
 static const int mode_lf_lut[] = {
-  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  // INTRA_MODES
-  0,
-#if CONFIG_SMOOTH_HV
-  0, 0,
-#endif         // CONFIG_SMOOTH_HV
-  1, 1, 0, 1,  // INTER_MODES (GLOBALMV == 0)
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  // INTRA_MODES
+  1, 1, 0, 1,                             // INTER_MODES (GLOBALMV == 0)
 #if CONFIG_COMPOUND_SINGLEREF
   // 1, 1, 1, 1, 1,       // INTER_SINGLEREF_COMP_MODES
   // NOTE(zoeliu): Remove SR_NEAREST_NEWMV
diff --git a/av1/common/blockd.h b/av1/common/blockd.h
index 1644057..013172f 100644
--- a/av1/common/blockd.h
+++ b/av1/common/blockd.h
@@ -102,10 +102,8 @@
     MB_MODE_COUNT,  // D207_PRED
     MB_MODE_COUNT,  // D63_PRED
     MB_MODE_COUNT,  // SMOOTH_PRED
-#if CONFIG_SMOOTH_HV
     MB_MODE_COUNT,  // SMOOTH_V_PRED
     MB_MODE_COUNT,  // SMOOTH_H_PRED
-#endif              // CONFIG_SMOOTH_HV
     MB_MODE_COUNT,  // PAETH_PRED
     MB_MODE_COUNT,  // NEARESTMV
     MB_MODE_COUNT,  // NEARMV
@@ -148,10 +146,8 @@
     MB_MODE_COUNT,  // D207_PRED
     MB_MODE_COUNT,  // D63_PRED
     MB_MODE_COUNT,  // SMOOTH_PRED
-#if CONFIG_SMOOTH_HV
     MB_MODE_COUNT,  // SMOOTH_V_PRED
     MB_MODE_COUNT,  // SMOOTH_H_PRED
-#endif              // CONFIG_SMOOTH_HV
     MB_MODE_COUNT,  // PAETH_PRED
     MB_MODE_COUNT,  // NEARESTMV
     MB_MODE_COUNT,  // NEARMV
@@ -422,20 +418,18 @@
 #if CONFIG_CFL
 static INLINE PREDICTION_MODE get_uv_mode(UV_PREDICTION_MODE mode) {
   static const PREDICTION_MODE uv2y[UV_INTRA_MODES] = {
-    DC_PRED,      // UV_DC_PRED
-    V_PRED,       // UV_V_PRED
-    H_PRED,       // UV_H_PRED
-    D45_PRED,     // UV_D45_PRED
-    D135_PRED,    // UV_D135_PRED
-    D117_PRED,    // UV_D117_PRED
-    D153_PRED,    // UV_D153_PRED
-    D207_PRED,    // UV_D207_PRED
-    D63_PRED,     // UV_D63_PRED
-    SMOOTH_PRED,  // UV_SMOOTH_PRED
-#if CONFIG_SMOOTH_HV
+    DC_PRED,        // UV_DC_PRED
+    V_PRED,         // UV_V_PRED
+    H_PRED,         // UV_H_PRED
+    D45_PRED,       // UV_D45_PRED
+    D135_PRED,      // UV_D135_PRED
+    D117_PRED,      // UV_D117_PRED
+    D153_PRED,      // UV_D153_PRED
+    D207_PRED,      // UV_D207_PRED
+    D63_PRED,       // UV_D63_PRED
+    SMOOTH_PRED,    // UV_SMOOTH_PRED
     SMOOTH_V_PRED,  // UV_SMOOTH_V_PRED
     SMOOTH_H_PRED,  // UV_SMOOTH_H_PRED
-#endif              // CONFIG_SMOOTH_HV
     PAETH_PRED,     // UV_PAETH_PRED
     DC_PRED,        // CFL_PRED
   };
@@ -785,10 +779,8 @@
   DCT_ADST,   // D207
   ADST_DCT,   // D63
   ADST_ADST,  // SMOOTH
-#if CONFIG_SMOOTH_HV
   ADST_DCT,   // SMOOTH_V
   DCT_ADST,   // SMOOTH_H
-#endif        // CONFIG_SMOOTH_HV
   ADST_ADST,  // PAETH
 };
 
@@ -1069,10 +1061,7 @@
 #if CONFIG_EXT_INTRA
 extern const int16_t dr_intra_derivative[90];
 static const uint8_t mode_to_angle_map[] = {
-  0, 90, 180, 45, 135, 113, 157, 203, 67, 0, 0,
-#if CONFIG_SMOOTH_HV
-  0, 0,
-#endif  // CONFIG_SMOOTH_HV
+  0, 90, 180, 45, 135, 113, 157, 203, 67, 0, 0, 0, 0,
 };
 #endif  // CONFIG_EXT_INTRA
 
diff --git a/av1/common/common_data.h b/av1/common/common_data.h
index 4b2f34f..525547c 100644
--- a/av1/common/common_data.h
+++ b/av1/common/common_data.h
@@ -1793,11 +1793,7 @@
 
 #if CONFIG_KF_CTX
 static const int intra_mode_context[INTRA_MODES] = {
-  0, 1, 2, 3, 4, 4, 4, 4, 3, 0,
-#if CONFIG_SMOOTH_HV
-  1, 2,
-#endif
-  0,
+  0, 1, 2, 3, 4, 4, 4, 4, 3, 0, 1, 2, 0,
 };
 #endif
 
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c
index 548d7d2..92bc02e 100644
--- a/av1/common/entropymode.c
+++ b/av1/common/entropymode.c
@@ -1768,7 +1768,6 @@
 #endif
     };
 
-#if CONFIG_SMOOTH_HV
 static const aom_cdf_prob
     default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
       { AOM_CDF13(7168, 10680, 13913, 16928, 20294, 22790, 24706, 26275, 28139,
@@ -1874,45 +1873,6 @@
     };
 #endif
 #endif  // CONFIG_CFL
-#else   // !CONFIG_SMOOTH_HV
-static const aom_cdf_prob
-    default_if_y_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTRA_MODES)] = {
-      { AOM_CDF11(11264, 14965, 19742, 21904, 24115, 25678, 27210, 28705, 29782,
-                  31424) },
-      { AOM_CDF11(9600, 13747, 18569, 20091, 21925, 23082, 24404, 26285, 27574,
-                  30415) },
-      { AOM_CDF11(9344, 14319, 19567, 20476, 21791, 22529, 23393, 24881, 26012,
-                  30572) },
-      { AOM_CDF11(12288, 15866, 21186, 21722, 22209, 22564, 22966, 24025, 24716,
-                  30608) },
-    };
-
-static const aom_cdf_prob
-    default_uv_mode_cdf[INTRA_MODES][CDF_SIZE(UV_INTRA_MODES)] = {
-      { AOM_CDF11(25472, 27697, 30693, 30916, 31125, 31406, 31679, 32085, 32334,
-                  32682) },
-      { AOM_CDF11(2176, 28142, 29335, 29504, 29762, 30642, 30741, 30902, 31683,
-                  32529) },
-      { AOM_CDF11(3328, 3901, 30984, 31068, 31241, 31389, 31697, 32379, 32483,
-                  32653) },
-      { AOM_CDF11(23424, 25805, 27721, 29432, 29659, 30032, 30282, 31192, 32259,
-                  32658) },
-      { AOM_CDF11(22784, 24177, 26209, 26476, 28679, 29698, 30786, 31257, 31596,
-                  32690) },
-      { AOM_CDF11(19712, 22988, 24275, 24520, 25823, 31469, 31880, 32189, 32614,
-                  32615) },
-      { AOM_CDF11(21376, 22085, 27643, 27799, 28596, 28890, 31767, 32255, 32405,
-                  32723) },
-      { AOM_CDF11(19712, 20623, 28408, 28766, 29070, 29355, 29759, 32034, 32306,
-                  32666) },
-      { AOM_CDF11(19584, 23437, 25295, 26200, 26612, 27372, 27704, 28319, 31664,
-                  32562) },
-      { AOM_CDF11(20864, 23989, 26168, 26591, 27345, 27348, 27809, 28575, 29132,
-                  32628) },
-      { AOM_CDF11(23680, 27582, 30197, 30312, 30464, 30995, 31208, 31574, 31985,
-                  32519) },
-    };
-#endif  // CONFIG_SMOOTH_HV
 
 #if CONFIG_EXT_PARTITION_TYPES
 static const aom_cdf_prob default_partition_cdf[PARTITION_CONTEXTS][CDF_SIZE(
@@ -1978,10 +1938,8 @@
               { 0 },
               { 0 },
               { 0 },
-#if CONFIG_SMOOTH_HV
               { 0 },
               { 0 },
-#endif  // CONFIG_SMOOTH_HV
               { 0 },
           },
           {
@@ -1995,10 +1953,8 @@
               { 0 },
               { 0 },
               { 0 },
-#if CONFIG_SMOOTH_HV
               { 0 },
               { 0 },
-#endif  // CONFIG_SMOOTH_HV
               { 0 },
           },
           {
@@ -2012,10 +1968,8 @@
               { 0 },
               { 0 },
               { 0 },
-#if CONFIG_SMOOTH_HV
               { 0 },
               { 0 },
-#endif  // CONFIG_SMOOTH_HV
               { 0 },
           },
           {
@@ -2029,10 +1983,8 @@
               { 0 },
               { 0 },
               { 0 },
-#if CONFIG_SMOOTH_HV
               { 0 },
               { 0 },
-#endif  // CONFIG_SMOOTH_HV
               { 0 },
           },
       },
@@ -2048,10 +2000,8 @@
               { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) },
               { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) },
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
-#if CONFIG_SMOOTH_HV
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
-#endif  // CONFIG_SMOOTH_HV
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
           },
           {
@@ -2065,10 +2015,8 @@
               { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) },
               { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) },
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
-#if CONFIG_SMOOTH_HV
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
-#endif  // CONFIG_SMOOTH_HV
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
           },
           {
@@ -2082,10 +2030,8 @@
               { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) },
               { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) },
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
-#if CONFIG_SMOOTH_HV
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
-#endif  // CONFIG_SMOOTH_HV
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
           },
           {
@@ -2099,10 +2045,8 @@
               { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) },
               { AOM_CDF7(1280, 4109, 5900, 7691, 15528, 27380) },
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
-#if CONFIG_SMOOTH_HV
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
-#endif  // CONFIG_SMOOTH_HV
               { AOM_CDF7(1280, 5216, 6938, 8660, 10167, 15817) },
           },
       },
@@ -2118,10 +2062,8 @@
               { AOM_CDF5(1280, 4109, 13065, 26611) },
               { AOM_CDF5(1280, 4109, 13065, 26611) },
               { AOM_CDF5(1280, 5216, 6938, 13396) },
-#if CONFIG_SMOOTH_HV
               { AOM_CDF5(1280, 5216, 6938, 13396) },
               { AOM_CDF5(1280, 5216, 6938, 13396) },
-#endif  // CONFIG_SMOOTH_HV
               { AOM_CDF5(1280, 5216, 6938, 13396) },
           },
           {
@@ -2135,10 +2077,8 @@
               { AOM_CDF5(1280, 4109, 13065, 26611) },
               { AOM_CDF5(1280, 4109, 13065, 26611) },
               { AOM_CDF5(1280, 5216, 6938, 13396) },
-#if CONFIG_SMOOTH_HV
               { AOM_CDF5(1280, 5216, 6938, 13396) },
               { AOM_CDF5(1280, 5216, 6938, 13396) },
-#endif  // CONFIG_SMOOTH_HV
               { AOM_CDF5(1280, 5216, 6938, 13396) },
           },
           {
@@ -2152,10 +2092,8 @@
               { AOM_CDF5(1280, 4109, 13065, 26611) },
               { AOM_CDF5(1280, 4109, 13065, 26611) },
               { AOM_CDF5(1280, 5216, 6938, 13396) },
-#if CONFIG_SMOOTH_HV
               { AOM_CDF5(1280, 5216, 6938, 13396) },
               { AOM_CDF5(1280, 5216, 6938, 13396) },
-#endif  // CONFIG_SMOOTH_HV
               { AOM_CDF5(1280, 5216, 6938, 13396) },
           },
           {
@@ -2169,10 +2107,8 @@
               { AOM_CDF5(1280, 4109, 13065, 26611) },
               { AOM_CDF5(1280, 4109, 13065, 26611) },
               { AOM_CDF5(1280, 5216, 6938, 13396) },
-#if CONFIG_SMOOTH_HV
               { AOM_CDF5(1280, 5216, 6938, 13396) },
               { AOM_CDF5(1280, 5216, 6938, 13396) },
-#endif  // CONFIG_SMOOTH_HV
               { AOM_CDF5(1280, 5216, 6938, 13396) },
           },
       },
@@ -2189,10 +2125,8 @@
               { AOM_CDF2(1280) },
               { AOM_CDF2(1280) },
               { AOM_CDF2(1280) },
-#if CONFIG_SMOOTH_HV
               { AOM_CDF2(1280) },
               { AOM_CDF2(1280) },
-#endif  // CONFIG_SMOOTH_HV
               { AOM_CDF2(1280) },
           },
           {
@@ -2206,10 +2140,8 @@
               { AOM_CDF2(1280) },
               { AOM_CDF2(1280) },
               { AOM_CDF2(1280) },
-#if CONFIG_SMOOTH_HV
               { AOM_CDF2(1280) },
               { AOM_CDF2(1280) },
-#endif  // CONFIG_SMOOTH_HV
               { AOM_CDF2(1280) },
           },
           {
@@ -2223,10 +2155,8 @@
               { AOM_CDF2(1280) },
               { AOM_CDF2(1280) },
               { AOM_CDF2(1280) },
-#if CONFIG_SMOOTH_HV
               { AOM_CDF2(1280) },
               { AOM_CDF2(1280) },
-#endif  // CONFIG_SMOOTH_HV
               { AOM_CDF2(1280) },
           },
           {
@@ -2240,10 +2170,8 @@
               { AOM_CDF2(1280) },
               { AOM_CDF2(1280) },
               { AOM_CDF2(1280) },
-#if CONFIG_SMOOTH_HV
               { AOM_CDF2(1280) },
               { AOM_CDF2(1280) },
-#endif  // CONFIG_SMOOTH_HV
               { AOM_CDF2(1280) },
           },
       }
@@ -2376,7 +2304,6 @@
 #else
 const aom_cdf_prob
     default_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES][CDF_SIZE(INTRA_MODES)] = {
-#if CONFIG_SMOOTH_HV
 #if CONFIG_FILTER_INTRA
       { { AOM_CDF13(14683, 16164, 18655, 19530, 20058, 20712, 21844, 23569,
                     24762, 29323, 30502, 32305) },
@@ -3082,272 +3009,6 @@
                       20405, 23541, 25258, 26726) },
       },
 #endif
-#else
-      {
-          { AOM_CDF11(15488, 18706, 22561, 23619, 24954, 25782, 26710, 27861,
-                      28656, 30743) },
-          { AOM_CDF11(11648, 18744, 20846, 22100, 23332, 24337, 25093, 26104,
-                      27097, 29633) },
-          { AOM_CDF11(8448, 10732, 22507, 23254, 24382, 24876, 25827, 27488,
-                      28040, 30108) },
-          { AOM_CDF11(13568, 16981, 19885, 22014, 23543, 24658, 25641, 27378,
-                      28625, 31043) },
-          { AOM_CDF11(9600, 12225, 14408, 16033, 19544, 22318, 23960, 25617,
-                      26522, 30596) },
-          { AOM_CDF11(12160, 15078, 16990, 18964, 22725, 25793, 27133, 28447,
-                      30831, 30836) },
-          { AOM_CDF11(9088, 11274, 15818, 16940, 21178, 22338, 26171, 27754,
-                      28503, 31473) },
-          { AOM_CDF11(10880, 13846, 18649, 20252, 22157, 22992, 24396, 27581,
-                      28501, 31400) },
-          { AOM_CDF11(11008, 13462, 15747, 18378, 20085, 21663, 22766, 24635,
-                      27476, 30643) },
-          { AOM_CDF11(10112, 13147, 16135, 17577, 19681, 19689, 20856, 22374,
-                      24454, 30555) },
-          { AOM_CDF11(8704, 12176, 17582, 18905, 19994, 20669, 21635, 23564,
-                      24741, 27222) },
-      },
-      {
-          { AOM_CDF11(8448, 18738, 21694, 22413, 23358, 24675, 25193, 26119,
-                      27310, 30773) },
-          { AOM_CDF11(6656, 22027, 23242, 23986, 24529, 25363, 25646, 26087,
-                      27130, 30218) },
-          { AOM_CDF11(7168, 13862, 21137, 22124, 23036, 23803, 24458, 26390,
-                      27342, 30968) },
-          { AOM_CDF11(9600, 17409, 19830, 21521, 22580, 23726, 24377, 25679,
-                      27269, 30867) },
-          { AOM_CDF11(6912, 15832, 17559, 18777, 20425, 22719, 23447, 24952,
-                      26527, 30950) },
-          { AOM_CDF11(7808, 18730, 20143, 21445, 23347, 26267, 27229, 28315,
-                      30911, 30915) },
-          { AOM_CDF11(6784, 14299, 17264, 18505, 20765, 22440, 24331, 26038,
-                      27481, 31448) },
-          { AOM_CDF11(8832, 15726, 19455, 20668, 21607, 22655, 23384, 26356,
-                      27697, 31459) },
-          { AOM_CDF11(8192, 17385, 18866, 20120, 21273, 22853, 23470, 24881,
-                      27216, 31040) },
-          { AOM_CDF11(6656, 16341, 18497, 19439, 20706, 20711, 21234, 22307,
-                      23950, 30728) },
-          { AOM_CDF11(6400, 17625, 20326, 21821, 22568, 23415, 23854, 24896,
-                      26171, 29575) },
-      },
-      {
-          { AOM_CDF11(12032, 14259, 22597, 23443, 24581, 25079, 26399, 27862,
-                      28509, 30419) },
-          { AOM_CDF11(9216, 14883, 20941, 21958, 23597, 24328, 25208, 26590,
-                      27377, 29364) },
-          { AOM_CDF11(6784, 8088, 24407, 25006, 25777, 25950, 26882, 28811,
-                      29159, 30636) },
-          { AOM_CDF11(11904, 14425, 18729, 20730, 21998, 22686, 23856, 26580,
-                      27613, 29834) },
-          { AOM_CDF11(10752, 12784, 16305, 17624, 20320, 22450, 24380, 26773,
-                      27837, 30016) },
-          { AOM_CDF11(10496, 14090, 18314, 20621, 23539, 25261, 26953, 28692,
-                      30064, 30071) },
-          { AOM_CDF11(8448, 10229, 16542, 17725, 21504, 22332, 26006, 27895,
-                      28487, 31248) },
-          { AOM_CDF11(9728, 11162, 19379, 20981, 22356, 22926, 24318, 28364,
-                      29020, 31328) },
-          { AOM_CDF11(9216, 10861, 14850, 16471, 18611, 19674, 21009, 23454,
-                      26078, 29272) },
-          { AOM_CDF11(7808, 10132, 17327, 18472, 20126, 20132, 21599, 23338,
-                      24514, 29843) },
-          { AOM_CDF11(6784, 9210, 19309, 20715, 21833, 22262, 23353, 24942,
-                      25800, 28200) },
-      },
-      {
-          { AOM_CDF11(12288, 15040, 18401, 21071, 22800, 23945, 25274, 26939,
-                      28554, 31328) },
-          { AOM_CDF11(9344, 17170, 19325, 22119, 23284, 24378, 24911, 26095,
-                      27781, 31121) },
-          { AOM_CDF11(9344, 11650, 19788, 21928, 22916, 23571, 24362, 26633,
-                      27946, 31212) },
-          { AOM_CDF11(12928, 14428, 17080, 20882, 22104, 23149, 23715, 27167,
-                      28932, 31218) },
-          { AOM_CDF11(9088, 11962, 13849, 16880, 19818, 21895, 23000, 25923,
-                      27961, 31380) },
-          { AOM_CDF11(10240, 13336, 15505, 18844, 21646, 24723, 25832, 27802,
-                      31088, 31096) },
-          { AOM_CDF11(8704, 10683, 14446, 17035, 20211, 21577, 24370, 26477,
-                      28223, 31734) },
-          { AOM_CDF11(12928, 17358, 19982, 22123, 23335, 23948, 24890, 28884,
-                      30197, 32148) },
-          { AOM_CDF11(10496, 12429, 16401, 20493, 21471, 22433, 23162, 24686,
-                      29027, 31115) },
-          { AOM_CDF11(8448, 12157, 14796, 17676, 19754, 19762, 20641, 23274,
-                      25569, 31058) },
-          { AOM_CDF11(7296, 11083, 15313, 20550, 21783, 22727, 23461, 25072,
-                      27195, 30380) },
-      },
-      {
-          { AOM_CDF11(10880, 13214, 15829, 16866, 20613, 22316, 24539, 27077,
-                      28116, 31485) },
-          { AOM_CDF11(9984, 13868, 16397, 17486, 20011, 22071, 23357, 24990,
-                      26336, 30276) },
-          { AOM_CDF11(7168, 8637, 17963, 18813, 21065, 22052, 23502, 25702,
-                      26745, 30668) },
-          { AOM_CDF11(8960, 10682, 12496, 18240, 20500, 21585, 23387, 25795,
-                      27119, 31001) },
-          { AOM_CDF11(9856, 12056, 13722, 15196, 19276, 21891, 23643, 25538,
-                      26854, 31515) },
-          { AOM_CDF11(9984, 12963, 14960, 16734, 21279, 25616, 27638, 28950,
-                      31161, 31166) },
-          { AOM_CDF11(7168, 8604, 12044, 13632, 18931, 20553, 23452, 25800,
-                      27754, 31668) },
-          { AOM_CDF11(11520, 13372, 16642, 18137, 20232, 21510, 23052, 26792,
-                      27974, 31274) },
-          { AOM_CDF11(10240, 12483, 14364, 16168, 18668, 20707, 22158, 24410,
-                      26370, 30744) },
-          { AOM_CDF11(8064, 10798, 13829, 15128, 19136, 19152, 21057, 22583,
-                      24513, 30645) },
-          { AOM_CDF11(8448, 11025, 16073, 17603, 20094, 21468, 22971, 24628,
-                      26015, 29728) },
-      },
-      {
-          { AOM_CDF11(10368, 15372, 18442, 19576, 22674, 27128, 28232, 29624,
-                      31363, 31368) },
-          { AOM_CDF11(9472, 16687, 18957, 20272, 22852, 27082, 27839, 28995,
-                      30943, 30948) },
-          { AOM_CDF11(8064, 12334, 19197, 20956, 24804, 26553, 27556, 29877,
-                      31311, 31320) },
-          { AOM_CDF11(8960, 14083, 16058, 19129, 21136, 23635, 24870, 27577,
-                      31176, 31187) },
-          { AOM_CDF11(9984, 14208, 15589, 17640, 22080, 26660, 27947, 29400,
-                      31605, 31611) },
-          { AOM_CDF11(9216, 15167, 16263, 17767, 21531, 26689, 27607, 28880,
-                      31291, 31296) },
-          { AOM_CDF11(8448, 12756, 15781, 17279, 21198, 24057, 26171, 29200,
-                      31901, 31913) },
-          { AOM_CDF11(9984, 15074, 18244, 19878, 22246, 24436, 25560, 28991,
-                      31687, 31700) },
-          { AOM_CDF11(10496, 15128, 17012, 18989, 21294, 25011, 25999, 27784,
-                      30934, 30941) },
-          { AOM_CDF11(2944, 5875, 8846, 11817, 14806, 17795, 20769, 23761,
-                      26747, 29739) },
-          { AOM_CDF11(7424, 12915, 17544, 19392, 23074, 25635, 26431, 28241,
-                      30088, 30095) },
-      },
-      {
-          { AOM_CDF11(11648, 13565, 18996, 19908, 21897, 22852, 26656, 28172,
-                      28995, 31283) },
-          { AOM_CDF11(10240, 14255, 18109, 19716, 21521, 22859, 24613, 26161,
-                      27279, 30392) },
-          { AOM_CDF11(6784, 7848, 18820, 19447, 22335, 22733, 25112, 28427,
-                      29013, 31550) },
-          { AOM_CDF11(11904, 13581, 17695, 19311, 21698, 22562, 24391, 26559,
-                      27779, 30567) },
-          { AOM_CDF11(10624, 12334, 14643, 16255, 20783, 22767, 24929, 26876,
-                      27998, 31470) },
-          { AOM_CDF11(12032, 14415, 16715, 18712, 21557, 25332, 27840, 29663,
-                      31708, 31715) },
-          { AOM_CDF11(9728, 10683, 13955, 14786, 18481, 19492, 26749, 28483,
-                      29116, 31958) },
-          { AOM_CDF11(8960, 10032, 15755, 16949, 19144, 19744, 22082, 27608,
-                      28411, 31838) },
-          { AOM_CDF11(14592, 15937, 18518, 19566, 21817, 23102, 24436, 26651,
-                      28100, 30993) },
-          { AOM_CDF11(8960, 10791, 14718, 16094, 18560, 18570, 22120, 24188,
-                      25677, 31280) },
-          { AOM_CDF11(11136, 13058, 19006, 20135, 21463, 22159, 24042, 26348,
-                      27367, 30064) },
-      },
-      {
-          { AOM_CDF11(12544, 15384, 20327, 21555, 23456, 24144, 25421, 27884,
-                      28875, 31188) },
-          { AOM_CDF11(10368, 15009, 17631, 18970, 20691, 21850, 22749, 25280,
-                      26570, 29530) },
-          { AOM_CDF11(9088, 10956, 21554, 22698, 23666, 24052, 25122, 27792,
-                      28612, 30825) },
-          { AOM_CDF11(11520, 12888, 16374, 19132, 21186, 21843, 22902, 26440,
-                      27928, 29946) },
-          { AOM_CDF11(9984, 12199, 14625, 17321, 20195, 21574, 23010, 25688,
-                      27600, 30988) },
-          { AOM_CDF11(10112, 13705, 16847, 19242, 22011, 24064, 26481, 29125,
-                      30545, 30555) },
-          { AOM_CDF11(9344, 10994, 15018, 16915, 20471, 21334, 24577, 27472,
-                      28592, 31578) },
-          { AOM_CDF11(12928, 14540, 18022, 19481, 21028, 21825, 22728, 28191,
-                      29154, 31683) },
-          { AOM_CDF11(10368, 12160, 14900, 17161, 19379, 20521, 21747, 24534,
-                      26677, 30318) },
-          { AOM_CDF11(8960, 11488, 16197, 18030, 20010, 20018, 21347, 23948,
-                      25016, 30536) },
-          { AOM_CDF11(7808, 10310, 15420, 18961, 20114, 20772, 21721, 24599,
-                      26237, 29160) },
-      },
-      {
-          { AOM_CDF11(9856, 13764, 16995, 19540, 20802, 22302, 23113, 24519,
-                      27717, 31604) },
-          { AOM_CDF11(8704, 15725, 17309, 20296, 21257, 22573, 23165, 23893,
-                      27755, 31170) },
-          { AOM_CDF11(7936, 11343, 19355, 21223, 22121, 22978, 23703, 26079,
-                      27978, 31507) },
-          { AOM_CDF11(11264, 14823, 17314, 20715, 21999, 22982, 23728, 25229,
-                      28593, 31508) },
-          { AOM_CDF11(8704, 11788, 13666, 16523, 18630, 20579, 21574, 23335,
-                      26298, 31264) },
-          { AOM_CDF11(9088, 14031, 15766, 18533, 21457, 24078, 24973, 26102,
-                      31284, 31288) },
-          { AOM_CDF11(7040, 9648, 12140, 14601, 16742, 18070, 21154, 23582,
-                      27647, 31763) },
-          { AOM_CDF11(10240, 13466, 16837, 19351, 20636, 21620, 22474, 25815,
-                      28364, 31976) },
-          { AOM_CDF11(11008, 13682, 15127, 18779, 19841, 20792, 21954, 23365,
-                      29100, 31748) },
-          { AOM_CDF11(7168, 12260, 15037, 17152, 18730, 18736, 19436, 20484,
-                      24465, 30868) },
-          { AOM_CDF11(6784, 12469, 15422, 19291, 20301, 21344, 21894, 23415,
-                      27696, 31042) },
-      },
-      {
-          { AOM_CDF11(10112, 13929, 17880, 18857, 20955, 20963, 21974, 23273,
-                      24734, 31352) },
-          { AOM_CDF11(8064, 15826, 17929, 19017, 21016, 21024, 21687, 22701,
-                      24242, 30645) },
-          { AOM_CDF11(6528, 9196, 20118, 21101, 22227, 22231, 22997, 25070,
-                      25919, 30923) },
-          { AOM_CDF11(9600, 13218, 15898, 17780, 19991, 20000, 21196, 23912,
-                      26044, 31139) },
-          { AOM_CDF11(8960, 12037, 14178, 15681, 20126, 20143, 21435, 23083,
-                      24675, 31466) },
-          { AOM_CDF11(2944, 5875, 8846, 11817, 14806, 17795, 20769, 23761,
-                      26747, 29739) },
-          { AOM_CDF11(9472, 12334, 15469, 16848, 19972, 19984, 22292, 24384,
-                      25891, 31676) },
-          { AOM_CDF11(8448, 11176, 15497, 16676, 18528, 18535, 19595, 24334,
-                      25725, 31723) },
-          { AOM_CDF11(8704, 12141, 14313, 15828, 18358, 18368, 19469, 21089,
-                      24027, 30700) },
-          { AOM_CDF11(7680, 11689, 14556, 15548, 17878, 17887, 18873, 20512,
-                      22152, 31004) },
-          { AOM_CDF11(6656, 11476, 16600, 18052, 19683, 19689, 20509, 22077,
-                      23496, 29504) },
-      },
-      {
-          { AOM_CDF11(9728, 14651, 19394, 20550, 21680, 22479, 23516, 24952,
-                      26183, 28538) },
-          { AOM_CDF11(8832, 18693, 20913, 21933, 22956, 23831, 24341, 25317,
-                      26434, 29028) },
-          { AOM_CDF11(5888, 8413, 20542, 21609, 22437, 22864, 23663, 26329,
-                      26900, 29828) },
-          { AOM_CDF11(9984, 13134, 16328, 18267, 19814, 21461, 22393, 24944,
-                      26320, 29653) },
-          { AOM_CDF11(8448, 12425, 15474, 17031, 19216, 20889, 23077, 25108,
-                      26548, 30108) },
-          { AOM_CDF11(9856, 15675, 19169, 20837, 22638, 24556, 25438, 27114,
-                      29449, 29456) },
-          { AOM_CDF11(6784, 10294, 14542, 15724, 19109, 19972, 24084, 26329,
-                      27637, 30433) },
-          { AOM_CDF11(8320, 10873, 17095, 18466, 19674, 20129, 21230, 27562,
-                      28568, 30858) },
-          { AOM_CDF11(9088, 13196, 15898, 17566, 19210, 20354, 21186, 23647,
-                      26235, 30548) },
-          { AOM_CDF11(6912, 11512, 16390, 17479, 19065, 19071, 19740, 21715,
-                      23208, 29132) },
-          { AOM_CDF11(6656, 11485, 16060, 17734, 19099, 19814, 21018, 23053,
-                      24333, 27260) },
-      },
-#endif  // CONFIG_SMOOTH_HV
     };
 #endif  // CONFIG_KF_CTX
 
diff --git a/av1/common/enums.h b/av1/common/enums.h
index 8da1854..e883103 100644
--- a/av1/common/enums.h
+++ b/av1/common/enums.h
@@ -481,20 +481,18 @@
 // Note: All directional predictors must be between V_PRED and D63_PRED (both
 // inclusive).
 typedef enum ATTRIBUTE_PACKED {
-  DC_PRED,      // Average of above and left pixels
-  V_PRED,       // Vertical
-  H_PRED,       // Horizontal
-  D45_PRED,     // Directional 45  deg = round(arctan(1/1) * 180/pi)
-  D135_PRED,    // Directional 135 deg = 180 - 45
-  D117_PRED,    // Directional 117 deg = 180 - 63
-  D153_PRED,    // Directional 153 deg = 180 - 27
-  D207_PRED,    // Directional 207 deg = 180 + 27
-  D63_PRED,     // Directional 63  deg = round(arctan(2/1) * 180/pi)
-  SMOOTH_PRED,  // Combination of horizontal and vertical interpolation
-#if CONFIG_SMOOTH_HV
+  DC_PRED,        // Average of above and left pixels
+  V_PRED,         // Vertical
+  H_PRED,         // Horizontal
+  D45_PRED,       // Directional 45  deg = round(arctan(1/1) * 180/pi)
+  D135_PRED,      // Directional 135 deg = 180 - 45
+  D117_PRED,      // Directional 117 deg = 180 - 63
+  D153_PRED,      // Directional 153 deg = 180 - 27
+  D207_PRED,      // Directional 207 deg = 180 + 27
+  D63_PRED,       // Directional 63  deg = round(arctan(2/1) * 180/pi)
+  SMOOTH_PRED,    // Combination of horizontal and vertical interpolation
   SMOOTH_V_PRED,  // Vertical interpolation
   SMOOTH_H_PRED,  // Horizontal interpolation
-#endif            // CONFIG_SMOOTH_HV
   PAETH_PRED,     // Predict from the direction of smallest gradient
   NEARESTMV,
   NEARMV,
@@ -526,20 +524,18 @@
 // TODO(ltrudeau) Do we really want to pack this?
 // TODO(ltrudeau) Do we match with PREDICTION_MODE?
 typedef enum ATTRIBUTE_PACKED {
-  UV_DC_PRED,      // Average of above and left pixels
-  UV_V_PRED,       // Vertical
-  UV_H_PRED,       // Horizontal
-  UV_D45_PRED,     // Directional 45  deg = round(arctan(1/1) * 180/pi)
-  UV_D135_PRED,    // Directional 135 deg = 180 - 45
-  UV_D117_PRED,    // Directional 117 deg = 180 - 63
-  UV_D153_PRED,    // Directional 153 deg = 180 - 27
-  UV_D207_PRED,    // Directional 207 deg = 180 + 27
-  UV_D63_PRED,     // Directional 63  deg = round(arctan(2/1) * 180/pi)
-  UV_SMOOTH_PRED,  // Combination of horizontal and vertical interpolation
-#if CONFIG_SMOOTH_HV
+  UV_DC_PRED,        // Average of above and left pixels
+  UV_V_PRED,         // Vertical
+  UV_H_PRED,         // Horizontal
+  UV_D45_PRED,       // Directional 45  deg = round(arctan(1/1) * 180/pi)
+  UV_D135_PRED,      // Directional 135 deg = 180 - 45
+  UV_D117_PRED,      // Directional 117 deg = 180 - 63
+  UV_D153_PRED,      // Directional 153 deg = 180 - 27
+  UV_D207_PRED,      // Directional 207 deg = 180 + 27
+  UV_D63_PRED,       // Directional 63  deg = round(arctan(2/1) * 180/pi)
+  UV_SMOOTH_PRED,    // Combination of horizontal and vertical interpolation
   UV_SMOOTH_V_PRED,  // Vertical interpolation
   UV_SMOOTH_H_PRED,  // Horizontal interpolation
-#endif               // CONFIG_SMOOTH_HV
   UV_PAETH_PRED,     // Predict from the direction of smallest gradient
   UV_CFL_PRED,       // Chroma-from-Luma
   UV_INTRA_MODES,
diff --git a/av1/common/mvref_common.h b/av1/common/mvref_common.h
index ea131d1..d823187 100644
--- a/av1/common/mvref_common.h
+++ b/av1/common/mvref_common.h
@@ -54,15 +54,13 @@
   9,  // D207_PRED
   9,  // D63_PRED
   9,  // SMOOTH_PRED
-#if CONFIG_SMOOTH_HV
-  9,    // SMOOTH_V_PRED
-  9,    // SMOOTH_H_PRED
-#endif  // CONFIG_SMOOTH_HV
-  9,    // PAETH_PRED
-  0,    // NEARESTMV
-  0,    // NEARMV
-  3,    // GLOBALMV
-  1,    // NEWMV
+  9,  // SMOOTH_V_PRED
+  9,  // SMOOTH_H_PRED
+  9,  // PAETH_PRED
+  0,  // NEARESTMV
+  0,  // NEARMV
+  3,  // GLOBALMV
+  1,  // NEWMV
 #if CONFIG_COMPOUND_SINGLEREF
   0,    // SR_NEAREST_NEARMV
         //  1,    // SR_NEAREST_NEWMV
diff --git a/av1/common/reconintra.c b/av1/common/reconintra.c
index 4208ae3..76af119 100644
--- a/av1/common/reconintra.c
+++ b/av1/common/reconintra.c
@@ -58,10 +58,8 @@
   NEED_LEFT | NEED_BOTTOMLEFT,              // D207
   NEED_ABOVE | NEED_ABOVERIGHT,             // D63
   NEED_LEFT | NEED_ABOVE,                   // SMOOTH
-#if CONFIG_SMOOTH_HV
   NEED_LEFT | NEED_ABOVE,                   // SMOOTH_V
   NEED_LEFT | NEED_ABOVE,                   // SMOOTH_H
-#endif                                      // CONFIG_SMOOTH_HV
   NEED_LEFT | NEED_ABOVE | NEED_ABOVELEFT,  // PAETH
 };
 
@@ -717,10 +715,8 @@
 
   INIT_ALL_SIZES(pred[PAETH_PRED], paeth);
   INIT_ALL_SIZES(pred[SMOOTH_PRED], smooth);
-#if CONFIG_SMOOTH_HV
   INIT_ALL_SIZES(pred[SMOOTH_V_PRED], smooth_v);
   INIT_ALL_SIZES(pred[SMOOTH_H_PRED], smooth_h);
-#endif  // CONFIG_SMOOTH_HV
 
   INIT_ALL_SIZES(dc_pred[0][0], dc_128);
   INIT_ALL_SIZES(dc_pred[0][1], dc_top);
@@ -739,10 +735,8 @@
 
   INIT_ALL_SIZES(pred_high[PAETH_PRED], highbd_paeth);
   INIT_ALL_SIZES(pred_high[SMOOTH_PRED], highbd_smooth);
-#if CONFIG_SMOOTH_HV
   INIT_ALL_SIZES(pred_high[SMOOTH_V_PRED], highbd_smooth_v);
   INIT_ALL_SIZES(pred_high[SMOOTH_H_PRED], highbd_smooth_h);
-#endif  // CONFIG_SMOOTH_HV
 
   INIT_ALL_SIZES(dc_pred_high[0][0], highbd_dc_128);
   INIT_ALL_SIZES(dc_pred_high[0][1], highbd_dc_top);
@@ -1472,12 +1466,8 @@
 
 #if CONFIG_INTRA_EDGE
 static int is_smooth(MB_MODE_INFO *mbmi) {
-#if CONFIG_SMOOTH_HV
   return (mbmi->mode == SMOOTH_PRED || mbmi->mode == SMOOTH_V_PRED ||
           mbmi->mode == SMOOTH_H_PRED);
-#else
-  return mbmi->mode == SMOOTH_PRED;
-#endif
 }
 
 static int get_filt_type(const MACROBLOCKD *xd) {
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index fa39e46..377c1e6 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -603,11 +603,9 @@
         THR_D153_PRED /*D153_PRED*/,
         THR_D207_PRED /*D207_PRED*/,
         THR_D63_PRED /*D63_PRED*/,
-        THR_SMOOTH, /*SMOOTH_PRED*/
-#if CONFIG_SMOOTH_HV
+        THR_SMOOTH,   /*SMOOTH_PRED*/
         THR_SMOOTH_V, /*SMOOTH_V_PRED*/
         THR_SMOOTH_H, /*SMOOTH_H_PRED*/
-#endif                // CONFIG_SMOOTH_HV
         THR_PAETH /*PAETH_PRED*/,
       };
       ++mode_chosen_counts[kf_mode_index[mbmi->mode]];
diff --git a/av1/encoder/rd.h b/av1/encoder/rd.h
index 032ffaf..6be06c4 100644
--- a/av1/encoder/rd.h
+++ b/av1/encoder/rd.h
@@ -143,10 +143,8 @@
   THR_PAETH,
 
   THR_SMOOTH,
-#if CONFIG_SMOOTH_HV
   THR_SMOOTH_V,
   THR_SMOOTH_H,
-#endif  // CONFIG_SMOOTH_HV
 
   THR_COMP_NEAR_NEARLA,
   THR_COMP_NEW_NEARESTLA,
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 52a4a91..b871dd3 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -255,10 +255,8 @@
   { PAETH_PRED, { INTRA_FRAME, NONE_FRAME } },
 
   { SMOOTH_PRED, { INTRA_FRAME, NONE_FRAME } },
-#if CONFIG_SMOOTH_HV
   { SMOOTH_V_PRED, { INTRA_FRAME, NONE_FRAME } },
   { SMOOTH_H_PRED, { INTRA_FRAME, NONE_FRAME } },
-#endif  // CONFIG_SMOOTH_HV
 
   { NEAR_NEARMV, { LAST_FRAME, ALTREF_FRAME } },
   { NEW_NEARESTMV, { LAST_FRAME, ALTREF_FRAME } },
@@ -437,21 +435,16 @@
 
 static const PREDICTION_MODE intra_rd_search_mode_order[INTRA_MODES] = {
   DC_PRED,       H_PRED,        V_PRED,    SMOOTH_PRED, PAETH_PRED,
-#if CONFIG_SMOOTH_HV
-  SMOOTH_V_PRED, SMOOTH_H_PRED,
-#endif  // CONFIG_SMOOTH_HV
-  D135_PRED,     D207_PRED,     D153_PRED, D63_PRED,    D117_PRED,  D45_PRED,
+  SMOOTH_V_PRED, SMOOTH_H_PRED, D135_PRED, D207_PRED,   D153_PRED,
+  D63_PRED,      D117_PRED,     D45_PRED,
 };
 
 #if CONFIG_CFL
 static const UV_PREDICTION_MODE uv_rd_search_mode_order[UV_INTRA_MODES] = {
-  UV_DC_PRED,       UV_CFL_PRED,      UV_H_PRED,
-  UV_V_PRED,        UV_SMOOTH_PRED,   UV_PAETH_PRED,
-#if CONFIG_SMOOTH_HV
-  UV_SMOOTH_V_PRED, UV_SMOOTH_H_PRED,
-#endif  // CONFIG_SMOOTH_HV
-  UV_D135_PRED,     UV_D207_PRED,     UV_D153_PRED,
-  UV_D63_PRED,      UV_D117_PRED,     UV_D45_PRED,
+  UV_DC_PRED,     UV_CFL_PRED,   UV_H_PRED,        UV_V_PRED,
+  UV_SMOOTH_PRED, UV_PAETH_PRED, UV_SMOOTH_V_PRED, UV_SMOOTH_H_PRED,
+  UV_D135_PRED,   UV_D207_PRED,  UV_D153_PRED,     UV_D63_PRED,
+  UV_D117_PRED,   UV_D45_PRED,
 };
 #else
 #define uv_rd_search_mode_order intra_rd_search_mode_order
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index aac2301..93434b8 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -22,20 +22,14 @@
   INTRA_ALL = (1 << DC_PRED) | (1 << V_PRED) | (1 << H_PRED) | (1 << D45_PRED) |
               (1 << D135_PRED) | (1 << D117_PRED) | (1 << D153_PRED) |
               (1 << D207_PRED) | (1 << D63_PRED) | (1 << SMOOTH_PRED) |
-#if CONFIG_SMOOTH_HV
-              (1 << SMOOTH_V_PRED) | (1 << SMOOTH_H_PRED) |
-#endif  // CONFIG_SMOOTH_HV
-              (1 << PAETH_PRED),
+              (1 << SMOOTH_V_PRED) | (1 << SMOOTH_H_PRED) | (1 << PAETH_PRED),
 #if CONFIG_CFL
-  UV_INTRA_ALL = (1 << UV_DC_PRED) | (1 << UV_V_PRED) | (1 << UV_H_PRED) |
-                 (1 << UV_D45_PRED) | (1 << UV_D135_PRED) |
-                 (1 << UV_D117_PRED) | (1 << UV_D153_PRED) |
-                 (1 << UV_D207_PRED) | (1 << UV_D63_PRED) |
-                 (1 << UV_SMOOTH_PRED) |
-#if CONFIG_SMOOTH_HV
-                 (1 << UV_SMOOTH_V_PRED) | (1 << UV_SMOOTH_H_PRED) |
-#endif  // CONFIG_SMOOTH_HV
-                 (1 << UV_PAETH_PRED) | (1 << UV_CFL_PRED),
+  UV_INTRA_ALL =
+      (1 << UV_DC_PRED) | (1 << UV_V_PRED) | (1 << UV_H_PRED) |
+      (1 << UV_D45_PRED) | (1 << UV_D135_PRED) | (1 << UV_D117_PRED) |
+      (1 << UV_D153_PRED) | (1 << UV_D207_PRED) | (1 << UV_D63_PRED) |
+      (1 << UV_SMOOTH_PRED) | (1 << UV_SMOOTH_V_PRED) |
+      (1 << UV_SMOOTH_H_PRED) | (1 << UV_PAETH_PRED) | (1 << UV_CFL_PRED),
   UV_INTRA_DC = (1 << UV_DC_PRED),
   UV_INTRA_DC_CFL = (1 << UV_DC_PRED) | (1 << UV_CFL_PRED),
   UV_INTRA_DC_TM = (1 << UV_DC_PRED) | (1 << UV_PAETH_PRED),
diff --git a/build/cmake/aom_config_defaults.cmake b/build/cmake/aom_config_defaults.cmake
index 224aab3..60a323c 100644
--- a/build/cmake/aom_config_defaults.cmake
+++ b/build/cmake/aom_config_defaults.cmake
@@ -188,7 +188,6 @@
 set(CONFIG_SHORT_FILTER 0 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_SIMPLE_BWD_ADAPT 1 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_SIMPLIFY_TX_MODE 0 CACHE NUMBER "AV1 experiment flag.")
-set(CONFIG_SMOOTH_HV 1 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_STRIPED_LOOP_RESTORATION 1 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_TEMPMV_SIGNALING 1 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_TMV 1 CACHE NUMBER "AV1 experiment flag.")
diff --git a/configure b/configure
index 64e764c..c7902dd 100755
--- a/configure
+++ b/configure
@@ -311,7 +311,6 @@
     aom_qm
     ext_qm
     ext_comp_refs
-    smooth_hv
     bgsprite
     var_tx_no_tx_mode
     simplify_tx_mode
@@ -513,7 +512,6 @@
       soft_enable reference_buffer
       soft_enable loopfiltering_across_tiles
       soft_enable palette_throughput
-      soft_enable smooth_hv
       soft_enable tempmv_signaling
       soft_enable ext_comp_refs
       soft_enable ext_delta_q
@@ -547,7 +545,6 @@
     enabled compound_round && soft_enable convolve_round
     enabled ext_intra_mod && enable_feature intra_edge
     enabled intra_edge && enable_feature ext_intra
-    enabled cfl && enable_feature smooth_hv
     enabled cdef_singlepass && enable_feature cdef
     enabled mfmv && enable_feature frame_marker
     enabled jnt_comp && enable_feature frame_marker
diff --git a/examples/inspect.c b/examples/inspect.c
index fa1dcaf..ea3976a 100644
--- a/examples/inspect.c
+++ b/examples/inspect.c
@@ -207,18 +207,15 @@
 #endif
 
 const map_entry prediction_mode_map[] = {
-  ENUM(DC_PRED),       ENUM(V_PRED),        ENUM(H_PRED),
-  ENUM(D45_PRED),      ENUM(D135_PRED),     ENUM(D117_PRED),
-  ENUM(D153_PRED),     ENUM(D207_PRED),     ENUM(D63_PRED),
-  ENUM(SMOOTH_PRED),
-#if CONFIG_SMOOTH_HV
-  ENUM(SMOOTH_V_PRED), ENUM(SMOOTH_H_PRED),
-#endif  // CONFIG_SMOOTH_HV
-  ENUM(PAETH_PRED),    ENUM(NEARESTMV),     ENUM(NEARMV),
-  ENUM(GLOBALMV),      ENUM(NEWMV),         ENUM(NEAREST_NEARESTMV),
-  ENUM(NEAR_NEARMV),   ENUM(NEAREST_NEWMV), ENUM(NEW_NEARESTMV),
-  ENUM(NEAR_NEWMV),    ENUM(NEW_NEARMV),    ENUM(GLOBAL_GLOBALMV),
-  ENUM(NEW_NEWMV),     ENUM(INTRA_INVALID), LAST_ENUM
+  ENUM(DC_PRED),     ENUM(V_PRED),        ENUM(H_PRED),
+  ENUM(D45_PRED),    ENUM(D135_PRED),     ENUM(D117_PRED),
+  ENUM(D153_PRED),   ENUM(D207_PRED),     ENUM(D63_PRED),
+  ENUM(SMOOTH_PRED), ENUM(SMOOTH_V_PRED), ENUM(SMOOTH_H_PRED),
+  ENUM(PAETH_PRED),  ENUM(NEARESTMV),     ENUM(NEARMV),
+  ENUM(GLOBALMV),    ENUM(NEWMV),         ENUM(NEAREST_NEARESTMV),
+  ENUM(NEAR_NEARMV), ENUM(NEAREST_NEWMV), ENUM(NEW_NEARESTMV),
+  ENUM(NEAR_NEWMV),  ENUM(NEW_NEARMV),    ENUM(GLOBAL_GLOBALMV),
+  ENUM(NEW_NEWMV),   ENUM(INTRA_INVALID), LAST_ENUM
 };
 
 #if CONFIG_CFL
@@ -228,9 +225,7 @@
   ENUM(UV_D135_PRED),     ENUM(UV_D117_PRED),
   ENUM(UV_D153_PRED),     ENUM(UV_D207_PRED),
   ENUM(UV_D63_PRED),      ENUM(UV_SMOOTH_PRED),
-#if CONFIG_SMOOTH_HV
   ENUM(UV_SMOOTH_V_PRED), ENUM(UV_SMOOTH_H_PRED),
-#endif  // CONFIG_SMOOTH_HV
   ENUM(UV_PAETH_PRED),
 #if CONFIG_CFL
   ENUM(UV_CFL_PRED),
diff --git a/test/test_intra_pred_speed.cc b/test/test_intra_pred_speed.cc
index 5ec3207..5f90ab6 100644
--- a/test/test_intra_pred_speed.cc
+++ b/test/test_intra_pred_speed.cc
@@ -35,12 +35,10 @@
 const int kTotalPixels = kBPS * kBPS;
 const int kNumAv1IntraFuncs = INTRA_MODES + 3;  // 4 DC predictor variants.
 const char *kAv1IntraPredNames[kNumAv1IntraFuncs] = {
-  "DC_PRED",       "DC_LEFT_PRED",  "DC_TOP_PRED", "DC_128_PRED", "V_PRED",
-  "H_PRED",        "D45_PRED",      "D135_PRED",   "D117_PRED",   "D153_PRED",
-  "D207_PRED",     "D63_PRED",      "PAETH_PRED",  "SMOOTH_PRED",
-#if CONFIG_SMOOTH_HV
-  "SMOOTH_V_PRED", "SMOOTH_H_PRED",
-#endif  // CONFIG_SMOOTH_HV
+  "DC_PRED",    "DC_LEFT_PRED", "DC_TOP_PRED",   "DC_128_PRED",
+  "V_PRED",     "H_PRED",       "D45_PRED",      "D135_PRED",
+  "D117_PRED",  "D153_PRED",    "D207_PRED",     "D63_PRED",
+  "PAETH_PRED", "SMOOTH_PRED",  "SMOOTH_V_PRED", "SMOOTH_H_PRED",
 };
 
 template <typename Pixel>
@@ -123,44 +121,24 @@
 
 void TestIntraPred4(const char *block_name, AvxPredFunc const *pred_funcs) {
   static const char *const kSignatures4x4[kNumAv1IntraFuncs] = {
-    "e7ed7353c3383fff942e500e9bfe82fe",
-    "2a4a26fcc6ce005eadc08354d196c8a9",
-    "269d92eff86f315d9c38fe7640d85b15",
-    "ae2960eea9f71ee3dabe08b282ec1773",
-    "6c1abcc44e90148998b51acd11144e9c",
-    "f7bb3186e1ef8a2b326037ff898cad8e",
-    "87e72798518d62e84bcc77dcb17d0f3b",
-    "141624072a4a56773f68fadbdd07c4a7",
-    "7be49b08687a5f24df3a2c612fca3876",
-    "459bb5d9fd5b238348179c9a22108cd6",
-    "3d98810f418a9de92acfe2c68909c61c",
-    "6310eecda3cc9496987ca10186255558",
-    "59fc0e923a08cfac0a493fb38988e2bb",
-    "9ff8bb37d9c830e6ab8ecb0c435d3c91",
-#if CONFIG_SMOOTH_HV
-    "de6937fca02354f2874dbc5dbec5d5b3",
-    "723cf948137f7d8c7860d814e55ae67d",
-#endif  // CONFIG_SMOOTH_HV
+    "e7ed7353c3383fff942e500e9bfe82fe", "2a4a26fcc6ce005eadc08354d196c8a9",
+    "269d92eff86f315d9c38fe7640d85b15", "ae2960eea9f71ee3dabe08b282ec1773",
+    "6c1abcc44e90148998b51acd11144e9c", "f7bb3186e1ef8a2b326037ff898cad8e",
+    "87e72798518d62e84bcc77dcb17d0f3b", "141624072a4a56773f68fadbdd07c4a7",
+    "7be49b08687a5f24df3a2c612fca3876", "459bb5d9fd5b238348179c9a22108cd6",
+    "3d98810f418a9de92acfe2c68909c61c", "6310eecda3cc9496987ca10186255558",
+    "59fc0e923a08cfac0a493fb38988e2bb", "9ff8bb37d9c830e6ab8ecb0c435d3c91",
+    "de6937fca02354f2874dbc5dbec5d5b3", "723cf948137f7d8c7860d814e55ae67d",
   };
   static const char *const kSignatures4x8[kNumAv1IntraFuncs] = {
-    "d9fbebdc85f71ab1e18461b2db4a2adc",
-    "5ccb2a68284bc9714d94b8a06ccadbb2",
-    "735d059abc2744f3ff3f9590f7191b37",
-    "d9fbebdc85f71ab1e18461b2db4a2adc",
-    "6819497c44cd0ace120add83672996ee",
-    "7e3244f5a2d3edf81c7e962a842b97f9",
-    "3fa52ee9acf5a25594cac684be263f32",
-    "c18dd23d57def4df4c6147c572dfc827",
-    "d007fbf7e43cb8f49702daa20f0c9153",
-    "5c0226c44c5df285728296b80cc6de4b",
-    "b55d7b558bebc8c2042dfac58b3c4688",
-    "6549362baa389b8faa2d954926b64e2f",
-    "809350f164cd4d1650850bb0f59c3260",
-    "1b60a394331eeab6927a6f8aaff57040",
-#if CONFIG_SMOOTH_HV
-    "5307de1bd7329ba6b281d2c1b0b457f9",
-    "24c58a8138339846d95568efb91751db",
-#endif
+    "d9fbebdc85f71ab1e18461b2db4a2adc", "5ccb2a68284bc9714d94b8a06ccadbb2",
+    "735d059abc2744f3ff3f9590f7191b37", "d9fbebdc85f71ab1e18461b2db4a2adc",
+    "6819497c44cd0ace120add83672996ee", "7e3244f5a2d3edf81c7e962a842b97f9",
+    "3fa52ee9acf5a25594cac684be263f32", "c18dd23d57def4df4c6147c572dfc827",
+    "d007fbf7e43cb8f49702daa20f0c9153", "5c0226c44c5df285728296b80cc6de4b",
+    "b55d7b558bebc8c2042dfac58b3c4688", "6549362baa389b8faa2d954926b64e2f",
+    "809350f164cd4d1650850bb0f59c3260", "1b60a394331eeab6927a6f8aaff57040",
+    "5307de1bd7329ba6b281d2c1b0b457f9", "24c58a8138339846d95568efb91751db",
   };
   if (!strcmp(block_name, "intra4x4")) {
     TestIntraPred(block_name, pred_funcs, kSignatures4x4, 4, 4);
@@ -172,64 +150,34 @@
 
 void TestIntraPred8(const char *block_name, AvxPredFunc const *pred_funcs) {
   static const char *const kSignatures8x8[kNumAv1IntraFuncs] = {
-    "d8bbae5d6547cfc17e4f5f44c8730e88",
-    "373bab6d931868d41a601d9d88ce9ac3",
-    "6fdd5ff4ff79656c14747598ca9e3706",
-    "d9661c2811d6a73674f40ffb2b841847",
-    "7c722d10b19ccff0b8c171868e747385",
-    "f81dd986eb2b50f750d3a7da716b7e27",
-    "e0b1292448f3350bf1c92ca283ca872a",
-    "0e3523f9cab2142dd37fd07ec0760bce",
-    "79ac4efe907f0a0f1885d43066cfedee",
-    "19ecf2432ac305057de3b6578474eec6",
-    "7ae38292cbe47b4aa0807c3bd5a543df",
-    "d0ecffec1bb01f4b61ab5738164695c4",
-    "064404361748dd111a890a1470d7f0ea",
-    "dc29b7e1f78cc8e7525d5ea4c0ab9b78",
-#if CONFIG_SMOOTH_HV
-    "97111eb1bc26bade6272015df829f1ae",
-    "d19a8a73cc46b807f2c5e817576cc1e1",
-#endif  // CONFIG_SMOOTH_HV
+    "d8bbae5d6547cfc17e4f5f44c8730e88", "373bab6d931868d41a601d9d88ce9ac3",
+    "6fdd5ff4ff79656c14747598ca9e3706", "d9661c2811d6a73674f40ffb2b841847",
+    "7c722d10b19ccff0b8c171868e747385", "f81dd986eb2b50f750d3a7da716b7e27",
+    "e0b1292448f3350bf1c92ca283ca872a", "0e3523f9cab2142dd37fd07ec0760bce",
+    "79ac4efe907f0a0f1885d43066cfedee", "19ecf2432ac305057de3b6578474eec6",
+    "7ae38292cbe47b4aa0807c3bd5a543df", "d0ecffec1bb01f4b61ab5738164695c4",
+    "064404361748dd111a890a1470d7f0ea", "dc29b7e1f78cc8e7525d5ea4c0ab9b78",
+    "97111eb1bc26bade6272015df829f1ae", "d19a8a73cc46b807f2c5e817576cc1e1",
   };
   static const char *const kSignatures8x4[kNumAv1IntraFuncs] = {
-    "23f9fc11344426c9bee2e06d57dfd628",
-    "2d71a26d1bae1fb34734de7b42fc5eb7",
-    "5af9c1b2fd9d5721fad67b67b3f7c816",
-    "00d71b17be662753813d515f197d145e",
-    "bef10ec984427e28f4390f43809d10af",
-    "77773cdfb7ed6bc882ab202a64b0a470",
-    "cba356970f6b9a1b6024e1dbe4a66f9b",
-    "c58c21efc804242848e6f29a93a7984d",
-    "dc92cc45a51c7a397506cab19f74e66d",
-    "391f6a12224f81a3719ea09a2cf7a5ad",
-    "b74b8b11f7eb2bbf723b25f381104ca9",
-    "2234aaa06ca245624211cf53a0261017",
-    "2cc48bd66d6b0121b5221d52ccd732af",
-    "b302155e1c9eeeafe2ba2bf68e807a46",
-#if CONFIG_SMOOTH_HV
-    "561bc8d0e76d5041ebd5168fc6a115e1",
-    "81d0113fb1d0a9a24ffd6f1987b77948",
-#endif
+    "23f9fc11344426c9bee2e06d57dfd628", "2d71a26d1bae1fb34734de7b42fc5eb7",
+    "5af9c1b2fd9d5721fad67b67b3f7c816", "00d71b17be662753813d515f197d145e",
+    "bef10ec984427e28f4390f43809d10af", "77773cdfb7ed6bc882ab202a64b0a470",
+    "cba356970f6b9a1b6024e1dbe4a66f9b", "c58c21efc804242848e6f29a93a7984d",
+    "dc92cc45a51c7a397506cab19f74e66d", "391f6a12224f81a3719ea09a2cf7a5ad",
+    "b74b8b11f7eb2bbf723b25f381104ca9", "2234aaa06ca245624211cf53a0261017",
+    "2cc48bd66d6b0121b5221d52ccd732af", "b302155e1c9eeeafe2ba2bf68e807a46",
+    "561bc8d0e76d5041ebd5168fc6a115e1", "81d0113fb1d0a9a24ffd6f1987b77948",
   };
   static const char *const kSignatures8x16[kNumAv1IntraFuncs] = {
-    "c849de88b24f773dfcdd1d48d1209796",
-    "6cb807c1897b94866a0f3d3c56ed8695",
-    "d56db05a8ac7981762f5b877f486c4ef",
-    "b4bc01eb6e59a40922ad17715cafb04b",
-    "09d178439534f4062ae687c351f66d64",
-    "644501399cf73080ac606e5cef7ca09b",
-    "0e8e968fa177204d7e73d7e04ce69ebb",
-    "1d25f9287fdf7ba48a5105f1529b7e75",
-    "02cacccf3752451763a6a6e2e784494f",
-    "6044a1416d53e324ddc012d2e7763339",
-    "57ac6e8f3ab5e943c9280043eeb174b8",
-    "d51b9d65471194d9caebc7d67e75ef10",
-    "278076495180e17c065a95ab7278539a",
-    "9dd7f324816f242be408ffeb0c673732",
-#if CONFIG_SMOOTH_HV
-    "f520c4a20acfa0bea1d253c6f0f040fd",
-    "85f38df809df2c2d7c8b4a157a65cd44",
-#endif
+    "c849de88b24f773dfcdd1d48d1209796", "6cb807c1897b94866a0f3d3c56ed8695",
+    "d56db05a8ac7981762f5b877f486c4ef", "b4bc01eb6e59a40922ad17715cafb04b",
+    "09d178439534f4062ae687c351f66d64", "644501399cf73080ac606e5cef7ca09b",
+    "0e8e968fa177204d7e73d7e04ce69ebb", "1d25f9287fdf7ba48a5105f1529b7e75",
+    "02cacccf3752451763a6a6e2e784494f", "6044a1416d53e324ddc012d2e7763339",
+    "57ac6e8f3ab5e943c9280043eeb174b8", "d51b9d65471194d9caebc7d67e75ef10",
+    "278076495180e17c065a95ab7278539a", "9dd7f324816f242be408ffeb0c673732",
+    "f520c4a20acfa0bea1d253c6f0f040fd", "85f38df809df2c2d7c8b4a157a65cd44",
   };
   if (!strcmp(block_name, "intra8x8")) {
     TestIntraPred(block_name, pred_funcs, kSignatures8x8, 8, 8);
@@ -244,64 +192,34 @@
 
 void TestIntraPred16(const char *block_name, AvxPredFunc const *pred_funcs) {
   static const char *const kSignatures16x16[kNumAv1IntraFuncs] = {
-    "50971c07ce26977d30298538fffec619",
-    "527a6b9e0dc5b21b98cf276305432bef",
-    "7eff2868f80ebc2c43a4f367281d80f7",
-    "67cd60512b54964ef6aff1bd4816d922",
-    "48371c87dc95c08a33b2048f89cf6468",
-    "b0acf2872ee411d7530af6d2625a7084",
-    "31d901ab2289d1e61e704e40240382a7",
-    "dae208f3dca583529cff49b73f7c4183",
-    "7af66a2f4c8e0b4908e40f047e60c47c",
-    "125e3ab6ab9bc961f183ec366a7afa88",
-    "ff230677e800977757d14b85a9eba404",
-    "eb42dc39140515dd4f3ab1afe6c3e71b",
-    "93d6b5352b571805ab16a55e1bbed86a",
-    "03764e4c0aebbc180e4e2c68fb06df2b",
-#if CONFIG_SMOOTH_HV
-    "bb6c74c9076c9f266ab11fb57060d8e6",
-    "0c5162bc28489756ddb847b5678e6f07",
-#endif  // CONFIG_SMOOTH_HV
+    "50971c07ce26977d30298538fffec619", "527a6b9e0dc5b21b98cf276305432bef",
+    "7eff2868f80ebc2c43a4f367281d80f7", "67cd60512b54964ef6aff1bd4816d922",
+    "48371c87dc95c08a33b2048f89cf6468", "b0acf2872ee411d7530af6d2625a7084",
+    "31d901ab2289d1e61e704e40240382a7", "dae208f3dca583529cff49b73f7c4183",
+    "7af66a2f4c8e0b4908e40f047e60c47c", "125e3ab6ab9bc961f183ec366a7afa88",
+    "ff230677e800977757d14b85a9eba404", "eb42dc39140515dd4f3ab1afe6c3e71b",
+    "93d6b5352b571805ab16a55e1bbed86a", "03764e4c0aebbc180e4e2c68fb06df2b",
+    "bb6c74c9076c9f266ab11fb57060d8e6", "0c5162bc28489756ddb847b5678e6f07",
   };
   static const char *const kSignatures16x8[kNumAv1IntraFuncs] = {
-    "b4cbdbdf10ce13300b4063a3daf99e04",
-    "3731e1e6202064a9d0604d7c293ecee4",
-    "6c856188c4256a06452f0d5d70cac436",
-    "1f2192b4c8c497589484ea7bf9c944e8",
-    "84011bd4b7f565119d06787840e333a0",
-    "0e48949f7a6aa36f0d76b5d01f91124a",
-    "58114c06f6b9d8285e5020c7afd834ab",
-    "e37afe84a8b3c5e0f048d4652ecbe09e",
-    "c216348473fb029b45f8fb4f2862a7bd",
-    "0b7385155dcef742cc456d5741ae93a3",
-    "d55fadb221f0ea20266e57cd413e7b94",
-    "9bd6eb226c7e169b8d53cf70aea98b3a",
-    "60eff8064634b6c73b10681356baeee9",
-    "1559aeb081a9c0c71111d6093c2ff9fd",
-#if CONFIG_SMOOTH_HV
-    "c15479b739713773e5cabb748451987b",
-    "72e33ec12c9b67aea26d8d005fb82de2",
-#endif
+    "b4cbdbdf10ce13300b4063a3daf99e04", "3731e1e6202064a9d0604d7c293ecee4",
+    "6c856188c4256a06452f0d5d70cac436", "1f2192b4c8c497589484ea7bf9c944e8",
+    "84011bd4b7f565119d06787840e333a0", "0e48949f7a6aa36f0d76b5d01f91124a",
+    "58114c06f6b9d8285e5020c7afd834ab", "e37afe84a8b3c5e0f048d4652ecbe09e",
+    "c216348473fb029b45f8fb4f2862a7bd", "0b7385155dcef742cc456d5741ae93a3",
+    "d55fadb221f0ea20266e57cd413e7b94", "9bd6eb226c7e169b8d53cf70aea98b3a",
+    "60eff8064634b6c73b10681356baeee9", "1559aeb081a9c0c71111d6093c2ff9fd",
+    "c15479b739713773e5cabb748451987b", "72e33ec12c9b67aea26d8d005fb82de2",
   };
   static const char *const kSignatures16x32[kNumAv1IntraFuncs] = {
-    "abe5233d189cdbf79424721571bbaa7b",
-    "282759f81e3cfb2e2d396fe406b72a8b",
-    "e2224926c264f6f174cbc3167a233168",
-    "6814e85c2b33f8c9415d62e80394b47b",
-    "99cbbb60459c08a3061d72c4e4f6276a",
-    "1d1567d40b8e816f8c1f71e576fe0f87",
-    "5e989f9c748a0d2cd8c4ebf9d3fe1278",
-    "7135a2f419452a3a192a35156f68b019",
-    "06e10af5a726d2c81b8f8c708204f9fb",
-    "c0882f0e7ba1ffa0aeef6d5c751df6de",
-    "8477429e17d39a423f30e2082f651549",
-    "ba35068a30c2d1d10901e4bfabd02a11",
-    "36fdd371b624a075814d497c4832ec85",
-    "8ab8da61b727442b6ff692b40d0df018",
-#if CONFIG_SMOOTH_HV
-    "e35a10ad7fdf2327e821504a90f6a6eb",
-    "1f7211e727dc1de7d6a55d082fbdd821",
-#endif
+    "abe5233d189cdbf79424721571bbaa7b", "282759f81e3cfb2e2d396fe406b72a8b",
+    "e2224926c264f6f174cbc3167a233168", "6814e85c2b33f8c9415d62e80394b47b",
+    "99cbbb60459c08a3061d72c4e4f6276a", "1d1567d40b8e816f8c1f71e576fe0f87",
+    "5e989f9c748a0d2cd8c4ebf9d3fe1278", "7135a2f419452a3a192a35156f68b019",
+    "06e10af5a726d2c81b8f8c708204f9fb", "c0882f0e7ba1ffa0aeef6d5c751df6de",
+    "8477429e17d39a423f30e2082f651549", "ba35068a30c2d1d10901e4bfabd02a11",
+    "36fdd371b624a075814d497c4832ec85", "8ab8da61b727442b6ff692b40d0df018",
+    "e35a10ad7fdf2327e821504a90f6a6eb", "1f7211e727dc1de7d6a55d082fbdd821",
   };
   if (!strcmp(block_name, "intra16x16")) {
     TestIntraPred(block_name, pred_funcs, kSignatures16x16, 16, 16);
@@ -316,44 +234,24 @@
 
 void TestIntraPred32(const char *block_name, AvxPredFunc const *pred_funcs) {
   static const char *const kSignatures32x32[kNumAv1IntraFuncs] = {
-    "a0a618c900e65ae521ccc8af789729f2",
-    "985aaa7c72b4a6c2fb431d32100cf13a",
-    "10662d09febc3ca13ee4e700120daeb5",
-    "b3b01379ba08916ef6b1b35f7d9ad51c",
-    "9f4261755795af97e34679c333ec7004",
-    "bc2c9da91ad97ef0d1610fb0a9041657",
-    "f524b1a7e31c7bb9bfb2487fac3e16d8",
-    "4039bb7da0f6860090d3c57b5c85468f",
-    "b29fff7b61804e68383e3a609b33da58",
-    "e1aa5e49067fd8dba66c2eb8d07b7a89",
-    "db217e7891581cf93895ef5974bebb21",
-    "beb6cdc52b52c8976b4d2407ec8d2313",
-    "ef1653982b69e1f64bee3759f3e1ec45",
-    "1a51a675deba2c83282142eb48d3dc3d",
-#if CONFIG_SMOOTH_HV
-    "866c224746dc260cda861a7b1b383fb3",
-    "cea23799fc3526e1b6a6ff02b42b82af",
-#endif  // CONFIG_SMOOTH_HV
+    "a0a618c900e65ae521ccc8af789729f2", "985aaa7c72b4a6c2fb431d32100cf13a",
+    "10662d09febc3ca13ee4e700120daeb5", "b3b01379ba08916ef6b1b35f7d9ad51c",
+    "9f4261755795af97e34679c333ec7004", "bc2c9da91ad97ef0d1610fb0a9041657",
+    "f524b1a7e31c7bb9bfb2487fac3e16d8", "4039bb7da0f6860090d3c57b5c85468f",
+    "b29fff7b61804e68383e3a609b33da58", "e1aa5e49067fd8dba66c2eb8d07b7a89",
+    "db217e7891581cf93895ef5974bebb21", "beb6cdc52b52c8976b4d2407ec8d2313",
+    "ef1653982b69e1f64bee3759f3e1ec45", "1a51a675deba2c83282142eb48d3dc3d",
+    "866c224746dc260cda861a7b1b383fb3", "cea23799fc3526e1b6a6ff02b42b82af",
   };
   static const char *const kSignatures32x16[kNumAv1IntraFuncs] = {
-    "d1aeb8d5fdcfd3307922af01a798a4dc",
-    "b0bcb514ebfbee065faea9d34c12ae75",
-    "d6a18c63b4e909871c0137ca652fad23",
-    "fd047f2fc1b8ffb95d0eeef3e8796a45",
-    "645ab60779ea348fd93c81561c31bab9",
-    "4409633c9db8dff41ade4292a3a56e7f",
-    "b9b2935b2287a9a461ac5c11251ac706",
-    "43b05f808c0ac4fe8accd84d293b0488",
-    "1d2cb43872d20c205ffb185102bcd22a",
-    "2c1551b5e99592fd21053b5d14e397d9",
-    "cd499ef0dd41e2e38d5dac3319dfdd97",
-    "cd2610426637003f3b5d3984cb3320d5",
-    "5e36a11e069b31c2a739f3a9c7b37c24",
-    "e83b9483d702cfae496991c3c7fa92c0",
-#if CONFIG_SMOOTH_HV
-    "12f6ddf98c7f30a277307f1ea935b030",
-    "354321d6c32bbdb0739e4fa2acbf41e1",
-#endif
+    "d1aeb8d5fdcfd3307922af01a798a4dc", "b0bcb514ebfbee065faea9d34c12ae75",
+    "d6a18c63b4e909871c0137ca652fad23", "fd047f2fc1b8ffb95d0eeef3e8796a45",
+    "645ab60779ea348fd93c81561c31bab9", "4409633c9db8dff41ade4292a3a56e7f",
+    "b9b2935b2287a9a461ac5c11251ac706", "43b05f808c0ac4fe8accd84d293b0488",
+    "1d2cb43872d20c205ffb185102bcd22a", "2c1551b5e99592fd21053b5d14e397d9",
+    "cd499ef0dd41e2e38d5dac3319dfdd97", "cd2610426637003f3b5d3984cb3320d5",
+    "5e36a11e069b31c2a739f3a9c7b37c24", "e83b9483d702cfae496991c3c7fa92c0",
+    "12f6ddf98c7f30a277307f1ea935b030", "354321d6c32bbdb0739e4fa2acbf41e1",
   };
   if (!strcmp(block_name, "intra32x32")) {
     TestIntraPred(block_name, pred_funcs, kSignatures32x32, 32, 32);
@@ -381,14 +279,6 @@
 // -----------------------------------------------------------------------------
 // 4x4
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_smooth_v_predictor_4x4_c
-#define smooth_h_pred_func aom_smooth_h_predictor_4x4_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
-
 INTRA_PRED_TEST(C_1, TestIntraPred4, "intra4x4", aom_dc_predictor_4x4_c,
                 aom_dc_left_predictor_4x4_c, aom_dc_top_predictor_4x4_c,
                 aom_dc_128_predictor_4x4_c, aom_v_predictor_4x4_c,
@@ -396,19 +286,8 @@
                 aom_d135_predictor_4x4_c, aom_d117_predictor_4x4_c,
                 aom_d153_predictor_4x4_c, aom_d207e_predictor_4x4_c,
                 aom_d63e_predictor_4x4_c, aom_paeth_predictor_4x4_c,
-                aom_smooth_predictor_4x4_c, smooth_v_pred_func,
-                smooth_h_pred_func)
-
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
-
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_smooth_v_predictor_4x8_c
-#define smooth_h_pred_func aom_smooth_h_predictor_4x8_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
+                aom_smooth_predictor_4x4_c, aom_smooth_v_predictor_4x4_c,
+                aom_smooth_h_predictor_4x4_c)
 
 INTRA_PRED_TEST(C_2, TestIntraPred4, "intra4x8", aom_dc_predictor_4x8_c,
                 aom_dc_left_predictor_4x8_c, aom_dc_top_predictor_4x8_c,
@@ -417,11 +296,8 @@
                 aom_d135_predictor_4x8_c, aom_d117_predictor_4x8_c,
                 aom_d153_predictor_4x8_c, aom_d207e_predictor_4x8_c,
                 aom_d63e_predictor_4x8_c, aom_paeth_predictor_4x8_c,
-                aom_smooth_predictor_4x8_c, smooth_v_pred_func,
-                smooth_h_pred_func)
-
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+                aom_smooth_predictor_4x8_c, aom_smooth_v_predictor_4x8_c,
+                aom_smooth_h_predictor_4x8_c)
 
 #if HAVE_SSE2
 INTRA_PRED_TEST(SSE2_1, TestIntraPred4, "intra4x4", aom_dc_predictor_4x4_sse2,
@@ -475,13 +351,6 @@
 // -----------------------------------------------------------------------------
 // 8x8
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_smooth_v_predictor_8x8_c
-#define smooth_h_pred_func aom_smooth_h_predictor_8x8_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
 INTRA_PRED_TEST(C_1, TestIntraPred8, "intra8x8", aom_dc_predictor_8x8_c,
                 aom_dc_left_predictor_8x8_c, aom_dc_top_predictor_8x8_c,
                 aom_dc_128_predictor_8x8_c, aom_v_predictor_8x8_c,
@@ -489,18 +358,9 @@
                 aom_d135_predictor_8x8_c, aom_d117_predictor_8x8_c,
                 aom_d153_predictor_8x8_c, aom_d207e_predictor_8x8_c,
                 aom_d63e_predictor_8x8_c, aom_paeth_predictor_8x8_c,
-                aom_smooth_predictor_8x8_c, smooth_v_pred_func,
-                smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+                aom_smooth_predictor_8x8_c, aom_smooth_v_predictor_8x8_c,
+                aom_smooth_h_predictor_8x8_c)
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_smooth_v_predictor_8x4_c
-#define smooth_h_pred_func aom_smooth_h_predictor_8x4_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
 INTRA_PRED_TEST(C_2, TestIntraPred8, "intra8x4", aom_dc_predictor_8x4_c,
                 aom_dc_left_predictor_8x4_c, aom_dc_top_predictor_8x4_c,
                 aom_dc_128_predictor_8x4_c, aom_v_predictor_8x4_c,
@@ -508,18 +368,9 @@
                 aom_d135_predictor_8x4_c, aom_d117_predictor_8x4_c,
                 aom_d153_predictor_8x4_c, aom_d207e_predictor_8x4_c,
                 aom_d63e_predictor_8x4_c, aom_paeth_predictor_8x4_c,
-                aom_smooth_predictor_8x4_c, smooth_v_pred_func,
-                smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+                aom_smooth_predictor_8x4_c, aom_smooth_v_predictor_8x4_c,
+                aom_smooth_h_predictor_8x4_c)
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_smooth_v_predictor_8x16_c
-#define smooth_h_pred_func aom_smooth_h_predictor_8x16_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
 INTRA_PRED_TEST(C_3, TestIntraPred8, "intra8x16", aom_dc_predictor_8x16_c,
                 aom_dc_left_predictor_8x16_c, aom_dc_top_predictor_8x16_c,
                 aom_dc_128_predictor_8x16_c, aom_v_predictor_8x16_c,
@@ -527,10 +378,8 @@
                 aom_d135_predictor_8x16_c, aom_d117_predictor_8x16_c,
                 aom_d153_predictor_8x16_c, aom_d207e_predictor_8x16_c,
                 aom_d63e_predictor_8x16_c, aom_paeth_predictor_8x16_c,
-                aom_smooth_predictor_8x16_c, smooth_v_pred_func,
-                smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+                aom_smooth_predictor_8x16_c, aom_smooth_v_predictor_8x16_c,
+                aom_smooth_h_predictor_8x16_c)
 
 #if HAVE_SSE2
 INTRA_PRED_TEST(SSE2_1, TestIntraPred8, "intra8x8", aom_dc_predictor_8x8_sse2,
@@ -594,13 +443,6 @@
 // -----------------------------------------------------------------------------
 // 16x16
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_smooth_v_predictor_16x16_c
-#define smooth_h_pred_func aom_smooth_h_predictor_16x16_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
 INTRA_PRED_TEST(C_1, TestIntraPred16, "intra16x16", aom_dc_predictor_16x16_c,
                 aom_dc_left_predictor_16x16_c, aom_dc_top_predictor_16x16_c,
                 aom_dc_128_predictor_16x16_c, aom_v_predictor_16x16_c,
@@ -608,18 +450,9 @@
                 aom_d135_predictor_16x16_c, aom_d117_predictor_16x16_c,
                 aom_d153_predictor_16x16_c, aom_d207e_predictor_16x16_c,
                 aom_d63e_predictor_16x16_c, aom_paeth_predictor_16x16_c,
-                aom_smooth_predictor_16x16_c, smooth_v_pred_func,
-                smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+                aom_smooth_predictor_16x16_c, aom_smooth_v_predictor_16x16_c,
+                aom_smooth_h_predictor_16x16_c)
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_smooth_v_predictor_16x8_c
-#define smooth_h_pred_func aom_smooth_h_predictor_16x8_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
 INTRA_PRED_TEST(C_2, TestIntraPred16, "intra16x8", aom_dc_predictor_16x8_c,
                 aom_dc_left_predictor_16x8_c, aom_dc_top_predictor_16x8_c,
                 aom_dc_128_predictor_16x8_c, aom_v_predictor_16x8_c,
@@ -627,18 +460,9 @@
                 aom_d135_predictor_16x8_c, aom_d117_predictor_16x8_c,
                 aom_d153_predictor_16x8_c, aom_d207e_predictor_16x8_c,
                 aom_d63e_predictor_16x8_c, aom_paeth_predictor_16x8_c,
-                aom_smooth_predictor_16x8_c, smooth_v_pred_func,
-                smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+                aom_smooth_predictor_16x8_c, aom_smooth_v_predictor_16x8_c,
+                aom_smooth_h_predictor_16x8_c)
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_smooth_v_predictor_16x32_c
-#define smooth_h_pred_func aom_smooth_h_predictor_16x32_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
 INTRA_PRED_TEST(C_3, TestIntraPred16, "intra16x32", aom_dc_predictor_16x32_c,
                 aom_dc_left_predictor_16x32_c, aom_dc_top_predictor_16x32_c,
                 aom_dc_128_predictor_16x32_c, aom_v_predictor_16x32_c,
@@ -646,10 +470,8 @@
                 aom_d135_predictor_16x32_c, aom_d117_predictor_16x32_c,
                 aom_d153_predictor_16x32_c, aom_d207e_predictor_16x32_c,
                 aom_d63e_predictor_16x32_c, aom_paeth_predictor_16x32_c,
-                aom_smooth_predictor_16x32_c, smooth_v_pred_func,
-                smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+                aom_smooth_predictor_16x32_c, aom_smooth_v_predictor_16x32_c,
+                aom_smooth_h_predictor_16x32_c)
 
 #if HAVE_SSE2
 INTRA_PRED_TEST(SSE2_1, TestIntraPred16, "intra16x16",
@@ -729,13 +551,6 @@
 // -----------------------------------------------------------------------------
 // 32x32
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_smooth_v_predictor_32x32_c
-#define smooth_h_pred_func aom_smooth_h_predictor_32x32_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
 INTRA_PRED_TEST(C_1, TestIntraPred32, "intra32x32", aom_dc_predictor_32x32_c,
                 aom_dc_left_predictor_32x32_c, aom_dc_top_predictor_32x32_c,
                 aom_dc_128_predictor_32x32_c, aom_v_predictor_32x32_c,
@@ -743,18 +558,9 @@
                 aom_d135_predictor_32x32_c, aom_d117_predictor_32x32_c,
                 aom_d153_predictor_32x32_c, aom_d207e_predictor_32x32_c,
                 aom_d63e_predictor_32x32_c, aom_paeth_predictor_32x32_c,
-                aom_smooth_predictor_32x32_c, smooth_v_pred_func,
-                smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+                aom_smooth_predictor_32x32_c, aom_smooth_v_predictor_32x32_c,
+                aom_smooth_h_predictor_32x32_c)
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_smooth_v_predictor_32x16_c
-#define smooth_h_pred_func aom_smooth_h_predictor_32x16_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
 INTRA_PRED_TEST(C_2, TestIntraPred32, "intra32x16", aom_dc_predictor_32x16_c,
                 aom_dc_left_predictor_32x16_c, aom_dc_top_predictor_32x16_c,
                 aom_dc_128_predictor_32x16_c, aom_v_predictor_32x16_c,
@@ -762,10 +568,8 @@
                 aom_d135_predictor_32x16_c, aom_d117_predictor_32x16_c,
                 aom_d153_predictor_32x16_c, aom_d207e_predictor_32x16_c,
                 aom_d63e_predictor_32x16_c, aom_paeth_predictor_32x16_c,
-                aom_smooth_predictor_32x16_c, smooth_v_pred_func,
-                smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+                aom_smooth_predictor_32x16_c, aom_smooth_v_predictor_32x16_c,
+                aom_smooth_h_predictor_32x16_c)
 
 #if HAVE_SSE2
 INTRA_PRED_TEST(SSE2_1, TestIntraPred32, "intra32x32",
@@ -873,44 +677,24 @@
 void TestHighbdIntraPred4(const char *block_name,
                           AvxHighbdPredFunc const *pred_funcs) {
   static const char *const kSignatures4x4[kNumAv1IntraFuncs] = {
-    "11f74af6c5737df472f3275cbde062fa",
-    "51bea056b6447c93f6eb8f6b7e8f6f71",
-    "27e97f946766331795886f4de04c5594",
-    "53ab15974b049111fb596c5168ec7e3f",
-    "f0b640bb176fbe4584cf3d32a9b0320a",
-    "729783ca909e03afd4b47111c80d967b",
-    "d631a8544ccc87702db3e98fac494657",
-    "293fc903254a33754133314c6cdba81f",
-    "f8074d704233e73dfd35b458c6092374",
-    "aa6363d08544a1ec4da33d7a0be5640d",
-    "0bdc21a3acdebc393bc2c22e71bbeada",
-    "a48f7a484ba4ad3916055c7160665b56",
-    "6e30009c45474a22032678b1bd579c8f",
-    "e57cba016d808aa8a35619df2a65f049",
-#if CONFIG_SMOOTH_HV
-    "55a6c37f39afcbbf5abca4a985b96459",
-    "a623d45b37dafec1f8a75c4c5218913d",
-#endif  // CONFIG_SMOOTH_HV
+    "11f74af6c5737df472f3275cbde062fa", "51bea056b6447c93f6eb8f6b7e8f6f71",
+    "27e97f946766331795886f4de04c5594", "53ab15974b049111fb596c5168ec7e3f",
+    "f0b640bb176fbe4584cf3d32a9b0320a", "729783ca909e03afd4b47111c80d967b",
+    "d631a8544ccc87702db3e98fac494657", "293fc903254a33754133314c6cdba81f",
+    "f8074d704233e73dfd35b458c6092374", "aa6363d08544a1ec4da33d7a0be5640d",
+    "0bdc21a3acdebc393bc2c22e71bbeada", "a48f7a484ba4ad3916055c7160665b56",
+    "6e30009c45474a22032678b1bd579c8f", "e57cba016d808aa8a35619df2a65f049",
+    "55a6c37f39afcbbf5abca4a985b96459", "a623d45b37dafec1f8a75c4c5218913d",
   };
   static const char *const kSignatures4x8[kNumAv1IntraFuncs] = {
-    "22d519b796d59644043466320e4ccd14",
-    "09513a738c49b3f9542d27f34abbe1d5",
-    "807ae5e8813443ff01e71be6efacfb69",
-    "cbfa18d0293430b6e9708b0be1fd2394",
-    "346c354c34ec7fa780b576db355dab88",
-    "f97dae85c35359632380b09ca98d611e",
-    "aed1beef71de33856c814ff7d63dd9db",
-    "49c47c04dd3d23d6fc5cc32bf9d40ae4",
-    "a24aade6e22b323ee28c8bf08aa2d234",
-    "aefef502f9e144e71cd27dc7383b3c28",
-    "b284ae5277b85ebdd16b5952149f7458",
-    "8dc5791167271f6f347582e07379f580",
-    "698ae351d8896d89ed9e4e67b6e53eda",
-    "dcc197034a9c45a3d8238bf085835f4e",
-#if CONFIG_SMOOTH_HV
-    "7a35e2c42ffdc2efc2d6d1d75a100fc7",
-    "41ab6cebd4516c87a91b2a593e2c2506",
-#endif
+    "22d519b796d59644043466320e4ccd14", "09513a738c49b3f9542d27f34abbe1d5",
+    "807ae5e8813443ff01e71be6efacfb69", "cbfa18d0293430b6e9708b0be1fd2394",
+    "346c354c34ec7fa780b576db355dab88", "f97dae85c35359632380b09ca98d611e",
+    "aed1beef71de33856c814ff7d63dd9db", "49c47c04dd3d23d6fc5cc32bf9d40ae4",
+    "a24aade6e22b323ee28c8bf08aa2d234", "aefef502f9e144e71cd27dc7383b3c28",
+    "b284ae5277b85ebdd16b5952149f7458", "8dc5791167271f6f347582e07379f580",
+    "698ae351d8896d89ed9e4e67b6e53eda", "dcc197034a9c45a3d8238bf085835f4e",
+    "7a35e2c42ffdc2efc2d6d1d75a100fc7", "41ab6cebd4516c87a91b2a593e2c2506",
   };
 
   if (!strcmp(block_name, "Hbd Intra4x4")) {
@@ -924,64 +708,34 @@
 void TestHighbdIntraPred8(const char *block_name,
                           AvxHighbdPredFunc const *pred_funcs) {
   static const char *const kSignatures8x8[kNumAv1IntraFuncs] = {
-    "03da8829fe94663047fd108c5fcaa71d",
-    "ecdb37b8120a2d3a4c706b016bd1bfd7",
-    "1d4543ed8d2b9368cb96898095fe8a75",
-    "f791c9a67b913cbd82d9da8ecede30e2",
-    "065c70646f4dbaff913282f55a45a441",
-    "51f87123616662ef7c35691497dfd0ba",
-    "4f53cf8e5f43894dc0759f43c7081f60",
-    "9ffe186a6bc7db95275f1bbddd6f7aba",
-    "a3258a2eae2e2bd55cb8f71351b22998",
-    "8d909f0a2066e39b3216092c6289ece4",
-    "6751f60655aba44aff78aaaf4e967377",
-    "d31a449872fab968a8d41de578338780",
-    "85c01ba03df68f9ece7bd3fa0f8980e6",
-    "ad19b7dac092f56df6d054e1f67f21e7",
-#if CONFIG_SMOOTH_HV
-    "0edc415b5dd7299f7a34fb9f71d31d78",
-    "2bc8ec19e9f4b77a64b8a0a1f6aec7e7",
-#endif  // CONFIG_SMOOTH_HV
+    "03da8829fe94663047fd108c5fcaa71d", "ecdb37b8120a2d3a4c706b016bd1bfd7",
+    "1d4543ed8d2b9368cb96898095fe8a75", "f791c9a67b913cbd82d9da8ecede30e2",
+    "065c70646f4dbaff913282f55a45a441", "51f87123616662ef7c35691497dfd0ba",
+    "4f53cf8e5f43894dc0759f43c7081f60", "9ffe186a6bc7db95275f1bbddd6f7aba",
+    "a3258a2eae2e2bd55cb8f71351b22998", "8d909f0a2066e39b3216092c6289ece4",
+    "6751f60655aba44aff78aaaf4e967377", "d31a449872fab968a8d41de578338780",
+    "85c01ba03df68f9ece7bd3fa0f8980e6", "ad19b7dac092f56df6d054e1f67f21e7",
+    "0edc415b5dd7299f7a34fb9f71d31d78", "2bc8ec19e9f4b77a64b8a0a1f6aec7e7",
   };
   static const char *const kSignatures8x4[kNumAv1IntraFuncs] = {
-    "d58cd4c4bf3b7bbaa5db5e1a5622ec78",
-    "6e572c35aa782d00cafcb99e9ea047ea",
-    "e8c22a3702b416dc9ab974505afbed09",
-    "aaa4e4762a795aad7ad74de0c662c4e4",
-    "a19f9101967383c3dcbd516dc317a291",
-    "9ab8cb91f1a595b9ebe3fe8de58031aa",
-    "c6c7d65264397d4d31e378e1f1cfd921",
-    "5804158e463ff794b6b8a623f5d2c10d",
-    "c342cdeb39aae4c4f7be10e057029298",
-    "c1bbbcfe4b25f6b8eca6ad2f7ee793d3",
-    "98d1dab8b949859b9c65298ee9f105f8",
-    "396e803aaf6d7a03a231edc48b396051",
-    "2cf9021d5f1169268699807ee118b65f",
-    "ee9605fcbd6fb871f1c5cd81a6989327",
-#if CONFIG_SMOOTH_HV
-    "0edc415b5dd7299f7a34fb9f71d31d78",
-    "2bc8ec19e9f4b77a64b8a0a1f6aec7e7",
-#endif
+    "d58cd4c4bf3b7bbaa5db5e1a5622ec78", "6e572c35aa782d00cafcb99e9ea047ea",
+    "e8c22a3702b416dc9ab974505afbed09", "aaa4e4762a795aad7ad74de0c662c4e4",
+    "a19f9101967383c3dcbd516dc317a291", "9ab8cb91f1a595b9ebe3fe8de58031aa",
+    "c6c7d65264397d4d31e378e1f1cfd921", "5804158e463ff794b6b8a623f5d2c10d",
+    "c342cdeb39aae4c4f7be10e057029298", "c1bbbcfe4b25f6b8eca6ad2f7ee793d3",
+    "98d1dab8b949859b9c65298ee9f105f8", "396e803aaf6d7a03a231edc48b396051",
+    "2cf9021d5f1169268699807ee118b65f", "ee9605fcbd6fb871f1c5cd81a6989327",
+    "b4871af8316089e3e23522175df7e93f", "d33301e1c2cb173be46792a22d19881a",
   };
   static const char *const kSignatures8x16[kNumAv1IntraFuncs] = {
-    "4562de1d0336610880fdd5685498a9ec",
-    "16310fa7076394f16fc85c4b149d89c9",
-    "0e94af88e1dc573b6f0f499cddd1f530",
-    "dfd245ee20d091c67809160340365aa9",
-    "d3562504327f70c096c5be23fd8a3747",
-    "601b853558502acbb5135eadd2da117a",
-    "e83f9a8bc16b507d2ed0b6b31a25d6f5",
-    "fc8427d942246e8cba81247bb294afb5",
-    "89cde712e4c1ef675ea156ad679c62c7",
-    "0a68c2b28c3b171ad797cf76a7058f10",
-    "e70724010e12d8f374cedd3910ceb0d5",
-    "ad7987e91267503ba6fd3e8be42eb48c",
-    "3c624345a723a1b2b1bea05a6a08bc99",
-    "2a9c781de609e0184cc7ab442050f4e5",
-#if CONFIG_SMOOTH_HV
-    "0ddc5035c22252747126b61fc238c74d",
-    "e43f5d83bab759af69c7b6773fc8f9b2",
-#endif
+    "4562de1d0336610880fdd5685498a9ec", "16310fa7076394f16fc85c4b149d89c9",
+    "0e94af88e1dc573b6f0f499cddd1f530", "dfd245ee20d091c67809160340365aa9",
+    "d3562504327f70c096c5be23fd8a3747", "601b853558502acbb5135eadd2da117a",
+    "e83f9a8bc16b507d2ed0b6b31a25d6f5", "fc8427d942246e8cba81247bb294afb5",
+    "89cde712e4c1ef675ea156ad679c62c7", "0a68c2b28c3b171ad797cf76a7058f10",
+    "e70724010e12d8f374cedd3910ceb0d5", "ad7987e91267503ba6fd3e8be42eb48c",
+    "3c624345a723a1b2b1bea05a6a08bc99", "2a9c781de609e0184cc7ab442050f4e5",
+    "0ddc5035c22252747126b61fc238c74d", "e43f5d83bab759af69c7b6773fc8f9b2",
   };
   if (!strcmp(block_name, "Hbd Intra8x8")) {
     TestHighbdIntraPred(block_name, pred_funcs, kSignatures8x8, 8, 8);
@@ -997,64 +751,34 @@
 void TestHighbdIntraPred16(const char *block_name,
                            AvxHighbdPredFunc const *pred_funcs) {
   static const char *const kSignatures16x16[kNumAv1IntraFuncs] = {
-    "e33cb3f56a878e2fddb1b2fc51cdd275",
-    "c7bff6f04b6052c8ab335d726dbbd52d",
-    "d0b0b47b654a9bcc5c6008110a44589b",
-    "78f5da7b10b2b9ab39f114a33b6254e9",
-    "c78e31d23831abb40d6271a318fdd6f3",
-    "90d1347f4ec9198a0320daecb6ff90b8",
-    "e38e12830e2ee5a01a064ec5998d5948",
-    "cf28bd387b81ad3e5f1a1c779a4b70a0",
-    "24c304330431ddeaf630f6ce94af2eac",
-    "91a329798036bf64e8e00a87b131b8b1",
-    "e536338d1a8ee192b9e591855db1a222",
-    "54ecd47737f71c62d24e3779585113f2",
-    "e63ded54ab3d0e8728b6f24d4f01e53f",
-    "35ce21fbe0ea114c089fc3489a78155d",
-#if CONFIG_SMOOTH_HV
-    "f277f6ef8e4d717f1f0dfe2706ac197d",
-    "e8014d3f41256976c02e0f1e622ba2b9",
-#endif  // CONFIG_SMOOTH_HV
+    "e33cb3f56a878e2fddb1b2fc51cdd275", "c7bff6f04b6052c8ab335d726dbbd52d",
+    "d0b0b47b654a9bcc5c6008110a44589b", "78f5da7b10b2b9ab39f114a33b6254e9",
+    "c78e31d23831abb40d6271a318fdd6f3", "90d1347f4ec9198a0320daecb6ff90b8",
+    "e38e12830e2ee5a01a064ec5998d5948", "cf28bd387b81ad3e5f1a1c779a4b70a0",
+    "24c304330431ddeaf630f6ce94af2eac", "91a329798036bf64e8e00a87b131b8b1",
+    "e536338d1a8ee192b9e591855db1a222", "54ecd47737f71c62d24e3779585113f2",
+    "e63ded54ab3d0e8728b6f24d4f01e53f", "35ce21fbe0ea114c089fc3489a78155d",
+    "f277f6ef8e4d717f1f0dfe2706ac197d", "e8014d3f41256976c02e0f1e622ba2b9",
   };
   static const char *const kSignatures16x8[kNumAv1IntraFuncs] = {
-    "a57d6b5a9bfd30c29591d8717ace9c51",
-    "f5907ba97ee6c53e339e953fc8d845ee",
-    "ea3aa727913ce45af06f89dd1808db5f",
-    "408af4f23e48d14b48ee35ae094fcd18",
-    "85c41cbcb5d744f7961e8950026fbffe",
-    "8a4e588a837638887ba671f8d4910485",
-    "caae3cc3d419bbd28aa389dbe4febee1",
-    "ea67fb80d71b6471467c79662af1186c",
-    "c83f7252412dd1ad2fc6af848e7f6be8",
-    "f45af3d697f42f1b9b8def4e46bac78c",
-    "dca4a2aaf5f63db387e264ba5963943a",
-    "d01b1bcc50b4b66c1231142eae628cd3",
-    "b792d8826b67a21757ea7097cff9e05b",
-    "f94ce7101bb87fd3bb9312112527dbf4",
-#if CONFIG_SMOOTH_HV
-    "688c6660a6dc6fa61fa1aa38e708c209",
-    "0cdf641b4f81d69509c92ae0b93ef5ff",
-#endif
+    "a57d6b5a9bfd30c29591d8717ace9c51", "f5907ba97ee6c53e339e953fc8d845ee",
+    "ea3aa727913ce45af06f89dd1808db5f", "408af4f23e48d14b48ee35ae094fcd18",
+    "85c41cbcb5d744f7961e8950026fbffe", "8a4e588a837638887ba671f8d4910485",
+    "caae3cc3d419bbd28aa389dbe4febee1", "ea67fb80d71b6471467c79662af1186c",
+    "c83f7252412dd1ad2fc6af848e7f6be8", "f45af3d697f42f1b9b8def4e46bac78c",
+    "dca4a2aaf5f63db387e264ba5963943a", "d01b1bcc50b4b66c1231142eae628cd3",
+    "b792d8826b67a21757ea7097cff9e05b", "f94ce7101bb87fd3bb9312112527dbf4",
+    "688c6660a6dc6fa61fa1aa38e708c209", "0cdf641b4f81d69509c92ae0b93ef5ff",
   };
   static const char *const kSignatures16x32[kNumAv1IntraFuncs] = {
-    "aee4b3b0e3cc02d48e2c40d77f807927",
-    "8baef2b2e789f79c8df9d90ad10f34a4",
-    "038c38ee3c4f090bb8d736eab136aafc",
-    "1a3de2aaeaffd68a9fd6c7f6557b83f3",
-    "385c6e0ea29421dd81011a2934641e26",
-    "6cf96c285d1a2d4787f955dad715b08c",
-    "21f82421fda1c3afca8baca0dc048a52",
-    "eac3734852c99a051f6d15a921d9e7b9",
-    "c81f7ffec79508bf78d0f2c67d8abe96",
-    "14b8c62304f65a06653b9b35dfe12d97",
-    "e0893310042511275ae04e5186ee5326",
-    "b4f05903a6191093be719794417ac6fd",
-    "2d7f75dcd73b9528c8396279ff09ff3a",
-    "5a63cd1841e4ed470e4ca5ef845f2281",
-#if CONFIG_SMOOTH_HV
-    "610d899ca945fbead33287d4335a8b32",
-    "6bafaad81fce37be46730187e78d8b11",
-#endif
+    "aee4b3b0e3cc02d48e2c40d77f807927", "8baef2b2e789f79c8df9d90ad10f34a4",
+    "038c38ee3c4f090bb8d736eab136aafc", "1a3de2aaeaffd68a9fd6c7f6557b83f3",
+    "385c6e0ea29421dd81011a2934641e26", "6cf96c285d1a2d4787f955dad715b08c",
+    "21f82421fda1c3afca8baca0dc048a52", "eac3734852c99a051f6d15a921d9e7b9",
+    "c81f7ffec79508bf78d0f2c67d8abe96", "14b8c62304f65a06653b9b35dfe12d97",
+    "e0893310042511275ae04e5186ee5326", "b4f05903a6191093be719794417ac6fd",
+    "2d7f75dcd73b9528c8396279ff09ff3a", "5a63cd1841e4ed470e4ca5ef845f2281",
+    "610d899ca945fbead33287d4335a8b32", "6bafaad81fce37be46730187e78d8b11",
   };
   if (!strcmp(block_name, "Hbd Intra16x16")) {
     TestHighbdIntraPred(block_name, pred_funcs, kSignatures16x16, 16, 16);
@@ -1070,44 +794,24 @@
 void TestHighbdIntraPred32(const char *block_name,
                            AvxHighbdPredFunc const *pred_funcs) {
   static const char *const kSignatures32x32[kNumAv1IntraFuncs] = {
-    "a3e8056ba7e36628cce4917cd956fedd",
-    "cc7d3024fe8748b512407edee045377e",
-    "2aab0a0f330a1d3e19b8ecb8f06387a3",
-    "a547bc3fb7b06910bf3973122a426661",
-    "26f712514da95042f93d6e8dc8e431dc",
-    "bb08c6e16177081daa3d936538dbc2e3",
-    "4e10f10b082a5b4265080c102d34eb47",
-    "42867c8553285e94ee8e4df7abafbda8",
-    "6496bdee96100667833f546e1be3d640",
-    "2ebfa25bf981377e682e580208504300",
-    "1788695b10a6f82ae1a56686dcbcd0a9",
-    "c3b9c506604a7132bbb5f4e97bdb03f0",
-    "84bf83f94a51b33654ca940c6f8bc057",
-    "7168b03fc31bf29596a344d6a35d007c",
-#if CONFIG_SMOOTH_HV
-    "b073a70d3672f1282236994f5d12e94b",
-    "c51607aebad5dcb3c1e3b58ef9e5b84e",
-#endif  // CONFIG_SMOOTH_HV
+    "a3e8056ba7e36628cce4917cd956fedd", "cc7d3024fe8748b512407edee045377e",
+    "2aab0a0f330a1d3e19b8ecb8f06387a3", "a547bc3fb7b06910bf3973122a426661",
+    "26f712514da95042f93d6e8dc8e431dc", "bb08c6e16177081daa3d936538dbc2e3",
+    "4e10f10b082a5b4265080c102d34eb47", "42867c8553285e94ee8e4df7abafbda8",
+    "6496bdee96100667833f546e1be3d640", "2ebfa25bf981377e682e580208504300",
+    "1788695b10a6f82ae1a56686dcbcd0a9", "c3b9c506604a7132bbb5f4e97bdb03f0",
+    "84bf83f94a51b33654ca940c6f8bc057", "7168b03fc31bf29596a344d6a35d007c",
+    "b073a70d3672f1282236994f5d12e94b", "c51607aebad5dcb3c1e3b58ef9e5b84e",
   };
   static const char *const kSignatures32x16[kNumAv1IntraFuncs] = {
-    "290b23c9f5a1de7905bfa71a942da29b",
-    "701e7b82593c66da5052fc4b6afd79ce",
-    "4da828c5455cd246735a663fbb204989",
-    "e3fbeaf234efece8dbd752b77226200c",
-    "4d1d8c969f05155a7e7e84cf7aad021b",
-    "c22e4877c2c946d5bdc0d542e29e70cf",
-    "ffd86b234d65c2e1386a5b5b5c188a69",
-    "50aaaa7d90e300b635ab18cdd73e189b",
-    "a945dc7429df168e2169d81b58a15859",
-    "66725070d7fad02dee78730ba0843e19",
-    "33d873cb05d45df2af4ff59033833db7",
-    "0dd783695b69271f65d56f5516fa6dc0",
-    "8ac1ce815e7780500f842b0beb0bb980",
-    "9fee2e2502b507f25bfad30a55b0b610",
-#if CONFIG_SMOOTH_HV
-    "4ced9c212ec6f9956e27f68a91b59fef",
-    "4a7a0b93f138bb0863e4e465b01ec0b1",
-#endif
+    "290b23c9f5a1de7905bfa71a942da29b", "701e7b82593c66da5052fc4b6afd79ce",
+    "4da828c5455cd246735a663fbb204989", "e3fbeaf234efece8dbd752b77226200c",
+    "4d1d8c969f05155a7e7e84cf7aad021b", "c22e4877c2c946d5bdc0d542e29e70cf",
+    "ffd86b234d65c2e1386a5b5b5c188a69", "50aaaa7d90e300b635ab18cdd73e189b",
+    "a945dc7429df168e2169d81b58a15859", "66725070d7fad02dee78730ba0843e19",
+    "33d873cb05d45df2af4ff59033833db7", "0dd783695b69271f65d56f5516fa6dc0",
+    "8ac1ce815e7780500f842b0beb0bb980", "9fee2e2502b507f25bfad30a55b0b610",
+    "4ced9c212ec6f9956e27f68a91b59fef", "4a7a0b93f138bb0863e4e465b01ec0b1",
   };
   if (!strcmp(block_name, "Hbd Intra32x32")) {
     TestHighbdIntraPred(block_name, pred_funcs, kSignatures32x32, 32, 32);
@@ -1133,14 +837,6 @@
 // -----------------------------------------------------------------------------
 // 4x4
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_highbd_smooth_v_predictor_4x4_c
-#define smooth_h_pred_func aom_highbd_smooth_h_predictor_4x4_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
-
 HIGHBD_INTRA_PRED_TEST(
     C_1, TestHighbdIntraPred4, "Hbd Intra4x4", aom_highbd_dc_predictor_4x4_c,
     aom_highbd_dc_left_predictor_4x4_c, aom_highbd_dc_top_predictor_4x4_c,
@@ -1149,9 +845,8 @@
     aom_highbd_d135_predictor_4x4_c, aom_highbd_d117_predictor_4x4_c,
     aom_highbd_d153_predictor_4x4_c, aom_highbd_d207e_predictor_4x4_c,
     aom_highbd_d63e_predictor_4x4_c, aom_highbd_paeth_predictor_4x4_c,
-    aom_highbd_smooth_predictor_4x4_c, smooth_v_pred_func, smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+    aom_highbd_smooth_predictor_4x4_c, aom_highbd_smooth_v_predictor_4x4_c,
+    aom_highbd_smooth_h_predictor_4x4_c)
 
 #if HAVE_SSE2
 HIGHBD_INTRA_PRED_TEST(
@@ -1174,14 +869,6 @@
     NULL, NULL, NULL, NULL)
 #endif
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_highbd_smooth_v_predictor_4x8_c
-#define smooth_h_pred_func aom_highbd_smooth_h_predictor_4x8_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
-
 HIGHBD_INTRA_PRED_TEST(
     C_2, TestHighbdIntraPred4, "Hbd Intra4x8", aom_highbd_dc_predictor_4x8_c,
     aom_highbd_dc_left_predictor_4x8_c, aom_highbd_dc_top_predictor_4x8_c,
@@ -1190,21 +877,12 @@
     aom_highbd_d135_predictor_4x8_c, aom_highbd_d117_predictor_4x8_c,
     aom_highbd_d153_predictor_4x8_c, aom_highbd_d207e_predictor_4x8_c,
     aom_highbd_d63e_predictor_4x8_c, aom_highbd_paeth_predictor_4x8_c,
-    aom_highbd_smooth_predictor_4x8_c, smooth_v_pred_func, smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+    aom_highbd_smooth_predictor_4x8_c, aom_highbd_smooth_v_predictor_4x8_c,
+    aom_highbd_smooth_h_predictor_4x8_c)
 
 // -----------------------------------------------------------------------------
 // 8x8
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_highbd_smooth_v_predictor_8x8_c
-#define smooth_h_pred_func aom_highbd_smooth_h_predictor_8x8_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
-
 HIGHBD_INTRA_PRED_TEST(
     C_1, TestHighbdIntraPred8, "Hbd Intra8x8", aom_highbd_dc_predictor_8x8_c,
     aom_highbd_dc_left_predictor_8x8_c, aom_highbd_dc_top_predictor_8x8_c,
@@ -1213,9 +891,8 @@
     aom_highbd_d135_predictor_8x8_c, aom_highbd_d117_predictor_8x8_c,
     aom_highbd_d153_predictor_8x8_c, aom_highbd_d207e_predictor_8x8_c,
     aom_highbd_d63e_predictor_8x8_c, aom_highbd_paeth_predictor_8x8_c,
-    aom_highbd_smooth_predictor_8x8_c, smooth_v_pred_func, smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+    aom_highbd_smooth_predictor_8x8_c, aom_highbd_smooth_v_predictor_8x8_c,
+    aom_highbd_smooth_h_predictor_8x8_c)
 
 #if HAVE_SSE2
 HIGHBD_INTRA_PRED_TEST(
@@ -1253,14 +930,6 @@
                        NULL, NULL, NULL)
 #endif
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_highbd_smooth_v_predictor_8x4_c
-#define smooth_h_pred_func aom_highbd_smooth_h_predictor_8x4_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
-
 HIGHBD_INTRA_PRED_TEST(
     C_2, TestHighbdIntraPred8, "Hbd Intra8x4", aom_highbd_dc_predictor_8x4_c,
     aom_highbd_dc_left_predictor_8x4_c, aom_highbd_dc_top_predictor_8x4_c,
@@ -1269,17 +938,8 @@
     aom_highbd_d135_predictor_8x4_c, aom_highbd_d117_predictor_8x4_c,
     aom_highbd_d153_predictor_8x4_c, aom_highbd_d207e_predictor_8x4_c,
     aom_highbd_d63e_predictor_8x4_c, aom_highbd_paeth_predictor_8x4_c,
-    aom_highbd_smooth_predictor_8x4_c, smooth_v_pred_func, smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
-
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_highbd_smooth_v_predictor_8x16_c
-#define smooth_h_pred_func aom_highbd_smooth_h_predictor_8x16_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
+    aom_highbd_smooth_predictor_8x4_c, aom_highbd_smooth_v_predictor_8x4_c,
+    aom_highbd_smooth_h_predictor_8x4_c)
 
 HIGHBD_INTRA_PRED_TEST(
     C_3, TestHighbdIntraPred8, "Hbd Intra8x16", aom_highbd_dc_predictor_8x16_c,
@@ -1289,21 +949,12 @@
     aom_highbd_d135_predictor_8x16_c, aom_highbd_d117_predictor_8x16_c,
     aom_highbd_d153_predictor_8x16_c, aom_highbd_d207e_predictor_8x16_c,
     aom_highbd_d63e_predictor_8x16_c, aom_highbd_paeth_predictor_8x16_c,
-    aom_highbd_smooth_predictor_8x16_c, smooth_v_pred_func, smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+    aom_highbd_smooth_predictor_8x16_c, aom_highbd_smooth_v_predictor_8x16_c,
+    aom_highbd_smooth_h_predictor_8x16_c)
 
 // -----------------------------------------------------------------------------
 // 16x16
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_highbd_smooth_v_predictor_16x16_c
-#define smooth_h_pred_func aom_highbd_smooth_h_predictor_16x16_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
-
 HIGHBD_INTRA_PRED_TEST(
     C_1, TestHighbdIntraPred16, "Hbd Intra16x16",
     aom_highbd_dc_predictor_16x16_c, aom_highbd_dc_left_predictor_16x16_c,
@@ -1313,9 +964,8 @@
     aom_highbd_d117_predictor_16x16_c, aom_highbd_d153_predictor_16x16_c,
     aom_highbd_d207e_predictor_16x16_c, aom_highbd_d63e_predictor_16x16_c,
     aom_highbd_paeth_predictor_16x16_c, aom_highbd_smooth_predictor_16x16_c,
-    smooth_v_pred_func, smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+    aom_highbd_smooth_v_predictor_16x16_c,
+    aom_highbd_smooth_h_predictor_16x16_c)
 
 #if HAVE_SSE2
 HIGHBD_INTRA_PRED_TEST(SSE2_1, TestHighbdIntraPred16, "Hbd Intra16x16",
@@ -1376,14 +1026,6 @@
                        NULL, NULL)
 #endif
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_highbd_smooth_v_predictor_16x8_c
-#define smooth_h_pred_func aom_highbd_smooth_h_predictor_16x8_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
-
 HIGHBD_INTRA_PRED_TEST(
     C_2, TestHighbdIntraPred16, "Hbd Intra16x8", aom_highbd_dc_predictor_16x8_c,
     aom_highbd_dc_left_predictor_16x8_c, aom_highbd_dc_top_predictor_16x8_c,
@@ -1392,17 +1034,8 @@
     aom_highbd_d135_predictor_16x8_c, aom_highbd_d117_predictor_16x8_c,
     aom_highbd_d153_predictor_16x8_c, aom_highbd_d207e_predictor_16x8_c,
     aom_highbd_d63e_predictor_16x8_c, aom_highbd_paeth_predictor_16x8_c,
-    aom_highbd_smooth_predictor_16x8_c, smooth_v_pred_func, smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
-
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_highbd_smooth_v_predictor_16x32_c
-#define smooth_h_pred_func aom_highbd_smooth_h_predictor_16x32_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
+    aom_highbd_smooth_predictor_16x8_c, aom_highbd_smooth_v_predictor_16x8_c,
+    aom_highbd_smooth_h_predictor_16x8_c)
 
 HIGHBD_INTRA_PRED_TEST(
     C_3, TestHighbdIntraPred16, "Hbd Intra16x32",
@@ -1413,21 +1046,12 @@
     aom_highbd_d117_predictor_16x32_c, aom_highbd_d153_predictor_16x32_c,
     aom_highbd_d207e_predictor_16x32_c, aom_highbd_d63e_predictor_16x32_c,
     aom_highbd_paeth_predictor_16x32_c, aom_highbd_smooth_predictor_16x32_c,
-    smooth_v_pred_func, smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+    aom_highbd_smooth_v_predictor_16x32_c,
+    aom_highbd_smooth_h_predictor_16x32_c)
 
 // -----------------------------------------------------------------------------
 // 32x32
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_highbd_smooth_v_predictor_32x32_c
-#define smooth_h_pred_func aom_highbd_smooth_h_predictor_32x32_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
-
 HIGHBD_INTRA_PRED_TEST(
     C_1, TestHighbdIntraPred32, "Hbd Intra32x32",
     aom_highbd_dc_predictor_32x32_c, aom_highbd_dc_left_predictor_32x32_c,
@@ -1437,9 +1061,8 @@
     aom_highbd_d117_predictor_32x32_c, aom_highbd_d153_predictor_32x32_c,
     aom_highbd_d207e_predictor_32x32_c, aom_highbd_d63e_predictor_32x32_c,
     aom_highbd_paeth_predictor_32x32_c, aom_highbd_smooth_predictor_32x32_c,
-    smooth_v_pred_func, smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+    aom_highbd_smooth_v_predictor_32x32_c,
+    aom_highbd_smooth_h_predictor_32x32_c)
 
 #if HAVE_SSE2
 HIGHBD_INTRA_PRED_TEST(SSE2_1, TestHighbdIntraPred32, "Hbd Intra32x32",
@@ -1485,14 +1108,6 @@
                        NULL)
 #endif
 
-#if CONFIG_SMOOTH_HV
-#define smooth_v_pred_func aom_highbd_smooth_v_predictor_32x16_c
-#define smooth_h_pred_func aom_highbd_smooth_h_predictor_32x16_c
-#else
-#define smooth_v_pred_func NULL
-#define smooth_h_pred_func NULL
-#endif  // CONFIG_SMOOTH_HV
-
 HIGHBD_INTRA_PRED_TEST(
     C_2, TestHighbdIntraPred32, "Hbd Intra32x16",
     aom_highbd_dc_predictor_32x16_c, aom_highbd_dc_left_predictor_32x16_c,
@@ -1502,9 +1117,8 @@
     aom_highbd_d117_predictor_32x16_c, aom_highbd_d153_predictor_32x16_c,
     aom_highbd_d207e_predictor_32x16_c, aom_highbd_d63e_predictor_32x16_c,
     aom_highbd_paeth_predictor_32x16_c, aom_highbd_smooth_predictor_32x16_c,
-    smooth_v_pred_func, smooth_h_pred_func)
-#undef smooth_v_pred_func
-#undef smooth_h_pred_func
+    aom_highbd_smooth_v_predictor_32x16_c,
+    aom_highbd_smooth_h_predictor_32x16_c)
 #endif  // CONFIG_HIGHBITDEPTH
 
 #include "test/test_libaom.cc"
diff --git a/tools/aom_entropy_optimizer.c b/tools/aom_entropy_optimizer.c
index 5777996..98d0b20 100644
--- a/tools/aom_entropy_optimizer.c
+++ b/tools/aom_entropy_optimizer.c
@@ -28,7 +28,6 @@
 #include "./aom_config.h"
 #include "av1/common/entropymode.h"
 
-#if CONFIG_SMOOTH_HV
 const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = {
   -DC_PRED,
   2, /* 0 = DC_NODE */
@@ -55,20 +54,6 @@
   -SMOOTH_V_PRED,
   -SMOOTH_H_PRED /* 11 = SMOOTH_V_NODE */
 };
-#else
-const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = {
-  -DC_PRED,    2,            /* 0 = DC_NODE */
-  -PAETH_PRED, 4,            /* 1 = PAETH_NODE */
-  -V_PRED,     6,            /* 2 = V_NODE */
-  8,           12,           /* 3 = COM_NODE */
-  -H_PRED,     10,           /* 4 = H_NODE */
-  -D135_PRED,  -D117_PRED,   /* 5 = D135_NODE */
-  -D45_PRED,   14,           /* 6 = D45_NODE */
-  -D63_PRED,   16,           /* 7 = D63_NODE */
-  -D153_PRED,  18,           /* 8 = D153_NODE */
-  -D207_PRED,  -SMOOTH_PRED, /* 9 = D207_NODE */
-};
-#endif  // CONFIG_SMOOTH_HV
 
 #define SPACES_PER_TAB 2
 
