Remove CONFIG_IBP_DIR macros

This MR removes the CONFIG_IBP_DIR related macros from the AVM code and clean-up some code.
diff --git a/aom/aom_encoder.h b/aom/aom_encoder.h
index efb0267..a34aa43 100644
--- a/aom/aom_encoder.h
+++ b/aom/aom_encoder.h
@@ -333,12 +333,10 @@
    */
   unsigned int enable_cctx;
 #endif  // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   /*!\brief enable Intra Bi-Prediction (IBP)
    *
    */
   unsigned int enable_ibp;
-#endif  // CONFIG_IBP_DC || CONFIG_IBP_DIR
 #if CONFIG_ADAPTIVE_MVD
   /*!\brief enable Adaptive MVD resolution
    *
diff --git a/aom/internal/aom_codec_internal.h b/aom/internal/aom_codec_internal.h
index 83e7d3c..a108dca 100644
--- a/aom/internal/aom_codec_internal.h
+++ b/aom/internal/aom_codec_internal.h
@@ -49,9 +49,7 @@
 #include "../aom_decoder.h"
 #include "../aom_encoder.h"
 #include "common/args_helper.h"
-#if CONFIG_IBP_DIR
 #include "av1/common/enums.h"
-#endif
 #include <stdarg.h>
 
 #ifdef __cplusplus
@@ -328,9 +326,7 @@
 struct aom_codec_priv {
   const char *err_detail;
   aom_codec_flags_t init_flags;
-#if CONFIG_IBP_DIR
   uint8_t *ibp_directional_weights[TX_SIZES_ALL][DIR_MODES_0_90];
-#endif
   struct {
     aom_fixed_buf_t cx_data_dst_buf;
     unsigned int cx_data_pad_before;
diff --git a/apps/aomenc.c b/apps/aomenc.c
index 1ec3c2b..313fce3 100644
--- a/apps/aomenc.c
+++ b/apps/aomenc.c
@@ -455,9 +455,7 @@
 #if CONFIG_CROSS_CHROMA_TX
   &g_av1_codec_arg_defs.enable_cctx,
 #endif  // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   &g_av1_codec_arg_defs.enable_ibp,
-#endif
   &g_av1_codec_arg_defs.explicit_ref_frame_map,
   &g_av1_codec_arg_defs.max_drl_refmvs,
 #if CONFIG_REF_MV_BANK
@@ -659,9 +657,7 @@
 #if CONFIG_CROSS_CHROMA_TX
   config->enable_cctx = 1;
 #endif  // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   config->enable_ibp = 1;
-#endif
 #if CONFIG_ADAPTIVE_MVD
   config->enable_adaptive_mvd = 1;
 #endif  // CONFIG_ADAPTIVE_MVD
@@ -1524,9 +1520,7 @@
 #if CONFIG_ORIP
           ", ORIP(%d)"
 #endif  // CONFIG_CONFIG_ORIP
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
           ", IBP(%d)"
-#endif  // CONFIG_IBP_DC || CONFIG_IBP_DIR
           "\n",
           encoder_cfg->enable_intra_edge_filter,
           encoder_cfg->enable_paeth_intra, encoder_cfg->enable_mrls
@@ -1538,11 +1532,8 @@
           ,
           encoder_cfg->enable_orip
 #endif  //  CONFIG_ORIP
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
           ,
-          encoder_cfg->enable_ibp
-#endif  //  CONFIG_IBP_DC || CONFIG_IBP_DIR
-  );
+          encoder_cfg->enable_ibp);
 
   fprintf(stdout,
           "Tool setting (Inter)           : InterIntra (%d), OBMC (%d), "
diff --git a/av1/arg_defs.c b/av1/arg_defs.c
index c7f0d6e..555bf6b 100644
--- a/av1/arg_defs.c
+++ b/av1/arg_defs.c
@@ -431,11 +431,9 @@
                          "Enable cross-chroma component transform "
                          "(0: false, 1: true(default))"),
 #endif  // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   .enable_ibp = ARG_DEF(NULL, "enable-ibp", 1,
                         "Enable intra bi-prediction"
                         "(0: false, 1: true (default))"),
-#endif
 #if CONFIG_ADAPTIVE_MVD
   .enable_adaptive_mvd = ARG_DEF(NULL, "enable-adaptive-mvd", 1,
                                  "Enable adaptive MVD resolution"
diff --git a/av1/arg_defs.h b/av1/arg_defs.h
index 4afdfd6..49b3ac5 100644
--- a/av1/arg_defs.h
+++ b/av1/arg_defs.h
@@ -175,9 +175,7 @@
 #if CONFIG_CROSS_CHROMA_TX
   arg_def_t enable_cctx;
 #endif  // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   arg_def_t enable_ibp;
-#endif
 #if CONFIG_ADAPTIVE_MVD
   arg_def_t enable_adaptive_mvd;
 #endif  // CONFIG_ADAPTIVE_MVD
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c
index cd6aa58..a11e723 100644
--- a/av1/av1_cx_iface.c
+++ b/av1/av1_cx_iface.c
@@ -149,9 +149,7 @@
 #if CONFIG_CROSS_CHROMA_TX
   int enable_cctx;  // enable cross-chroma component transform
 #endif              // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
-  int enable_ibp;  // enable intra bi-prediction
-#endif             // CONFIG_IBP_DC or CONFIG_IBP_DIR
+  int enable_ibp;   // enable intra bi-prediction
 
 #if CONFIG_ADAPTIVE_MVD
   int enable_adaptive_mvd;  // enable adaptive MVD resolution
@@ -486,10 +484,7 @@
 #if CONFIG_CROSS_CHROMA_TX
   1,    // enable cross-chroma component transform
 #endif  // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   1,    // enable intra bi-prediction
-#endif  // CONFIG_IBP_DC or CONFIG_IBP_DIR
-
 #if CONFIG_ADAPTIVE_MVD
   1,    // enable adaptive mvd resolution
 #endif  // CONFIG_ADAPTIVE_MVD
@@ -985,9 +980,7 @@
 #if CONFIG_CROSS_CHROMA_TX
   cfg->enable_cctx = extra_cfg->enable_cctx;
 #endif  // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   cfg->enable_ibp = extra_cfg->enable_ibp;
-#endif
 #if CONFIG_ADAPTIVE_MVD
   cfg->enable_adaptive_mvd = extra_cfg->enable_adaptive_mvd;
 #endif  // CONFIG_ADAPTIVE_MVD
@@ -1105,9 +1098,7 @@
 #if CONFIG_CROSS_CHROMA_TX
   extra_cfg->enable_cctx = cfg->enable_cctx;
 #endif  // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   extra_cfg->enable_ibp = cfg->enable_ibp;
-#endif
 #if CONFIG_ADAPTIVE_MVD
   extra_cfg->enable_adaptive_mvd = cfg->enable_adaptive_mvd;
 #endif  // CONFIG_ADAPTIVE_MVD
@@ -1675,9 +1666,7 @@
 #if CONFIG_ORIP
   intra_mode_cfg->enable_orip = extra_cfg->enable_orip;
 #endif
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   intra_mode_cfg->enable_ibp = extra_cfg->enable_ibp;
-#endif
 
   // Set transform size/type configuration.
   txfm_cfg->enable_tx64 = extra_cfg->enable_tx64;
@@ -2793,9 +2782,7 @@
             clamp(lap_lag_in_frames, 0, MAX_LAG_BUFFERS),
             &priv->stats_buf_context);
       }
-#if CONFIG_IBP_DIR
       init_ibp_info(priv->cpi->common.ibp_directional_weights);
-#endif
     }
   }
 
@@ -3857,11 +3844,9 @@
                               err_string)) {
     extra_cfg.enable_cctx = arg_parse_int_helper(&arg, err_string);
 #endif  // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   } else if (arg_match_helper(&arg, &g_av1_codec_arg_defs.enable_ibp, argv,
                               err_string)) {
     extra_cfg.enable_ibp = arg_parse_int_helper(&arg, err_string);
-#endif
 #if CONFIG_ADAPTIVE_MVD
   } else if (arg_match_helper(&arg, &g_av1_codec_arg_defs.enable_adaptive_mvd,
                               argv, err_string)) {
@@ -4340,9 +4325,7 @@
 #if CONFIG_CROSS_CHROMA_TX
         1,
 #endif  // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
         1,
-#endif  // CONFIG_IBP_DC or CONFIG_IBP_DIR
 #if CONFIG_ADAPTIVE_MVD
         1,
 #endif  // CONFIG_ADAPTIVE_MVD
diff --git a/av1/av1_dx_iface.c b/av1/av1_dx_iface.c
index 81f2455..cffe5d6 100644
--- a/av1/av1_dx_iface.c
+++ b/av1/av1_dx_iface.c
@@ -107,9 +107,7 @@
     priv->tile_mode = 0;
     priv->decode_tile_row = -1;
     priv->decode_tile_col = -1;
-#if CONFIG_IBP_DIR
     init_ibp_info(ctx->priv->ibp_directional_weights);
-#endif
   }
 
   return AOM_CODEC_OK;
@@ -148,9 +146,7 @@
     av1_free_internal_frame_buffers(&ctx->buffer_pool->int_frame_buffers);
   }
 
-#if CONFIG_IBP_DIR
   free_ibp_info(ctx->base.ibp_directional_weights);
-#endif
   aom_free(ctx->frame_worker);
   aom_free(ctx->buffer_pool);
   aom_img_free(&ctx->img);
@@ -485,11 +481,9 @@
   frame_worker_data->pbi->is_fwd_kf_present = 0;
   frame_worker_data->pbi->enable_subgop_stats = ctx->enable_subgop_stats;
   frame_worker_data->pbi->is_arf_frame_present = 0;
-#if CONFIG_IBP_DIR
   memcpy(frame_worker_data->pbi->common.ibp_directional_weights,
          ctx->base.ibp_directional_weights,
          sizeof(ctx->base.ibp_directional_weights));
-#endif
   worker->hook = frame_worker_hook;
 
   init_buffer_callbacks(ctx);
diff --git a/av1/common/av1_common_int.h b/av1/common/av1_common_int.h
index cc8236a..4673ed3 100644
--- a/av1/common/av1_common_int.h
+++ b/av1/common/av1_common_int.h
@@ -35,9 +35,7 @@
 #include "av1/common/tile_common.h"
 #include "av1/common/timing.h"
 #include "av1/common/odintrin.h"
-#if CONFIG_IBP_DIR
 #include "av1/common/warped_motion.h"
-#endif
 #include "av1/encoder/hash_motion.h"
 #include "aom_dsp/grain_synthesis.h"
 #include "aom_dsp/grain_table.h"
@@ -452,9 +450,7 @@
 #if CONFIG_CROSS_CHROMA_TX
   uint8_t enable_cctx;  // enables/disables cross-chroma component transform
 #endif                  // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
-  uint8_t enable_ibp;  // enables/disables intra bi-prediction(IBP)
-#endif
+  uint8_t enable_ibp;   // enables/disables intra bi-prediction(IBP)
 #if CONFIG_ADAPTIVE_MVD
   uint8_t enable_adaptive_mvd;  // enables/disables adaptive MVD resolution
 #endif                          // CONFIG_ADAPTIVE_MVD
@@ -1666,12 +1662,10 @@
    */
   int spatial_layer_id;
 
-#if CONFIG_IBP_DIR
   /*!
    * Weights for IBP of directional modes.
    */
   uint8_t *ibp_directional_weights[TX_SIZES_ALL][DIR_MODES_0_90];
-#endif
 
 #if TXCOEFF_TIMER
   int64_t cum_txcoeff_timer;
@@ -3324,7 +3318,7 @@
           seq_level_idx != SEQ_LEVEL_7_0 && seq_level_idx != SEQ_LEVEL_7_1 &&
           seq_level_idx != SEQ_LEVEL_7_2 && seq_level_idx != SEQ_LEVEL_7_3);
 }
-#if CONFIG_IBP_DIR
+
 // Intra derivative for second directional predictor of IBP
 // second_dr_intra_derivative[x] = 64*64/dr_intra_derivative[x]
 static const int16_t second_dr_intra_derivative[90] = {
@@ -3425,6 +3419,7 @@
     weights += bw;
   }
 }
+
 static const uint8_t angle_to_mode_index[90] = {
   0, 0, 0,  0, 0, 0,  0, 0, 0,  0, 0, 0, 0, 0,  0, 0, 0,  0, 0, 0,  0, 0, 0,
   0, 0, 0,  0, 0, 0,  0, 0, 0,  0, 0, 0, 0, 16, 0, 0, 15, 0, 0, 14, 0, 0, 13,
@@ -3471,6 +3466,7 @@
     }
   }
 }
+
 static INLINE void free_ibp_info(
     uint8_t *weights[TX_SIZES_ALL][DIR_MODES_0_90]) {
   for (int i = 0; i < TX_SIZES_ALL; i++) {
@@ -3479,7 +3475,6 @@
     }
   }
 }
-#endif
 
 static INLINE int is_global_intrabc_allowed(const AV1_COMMON *const cm) {
 #if CONFIG_IBC_SR_EXT
diff --git a/av1/common/av1_rtcd_defs.pl b/av1/common/av1_rtcd_defs.pl
index 056dab4..c1ab084 100644
--- a/av1/common/av1_rtcd_defs.pl
+++ b/av1/common/av1_rtcd_defs.pl
@@ -231,12 +231,10 @@
 add_proto qw/void av1_highbd_dr_prediction_z3/, "uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int upsample_left, int dx, int dy, int bd, int mrl_index";
 specialize qw/av1_highbd_dr_prediction_z3 avx2/;
 
-#if CONFIG_IBP_DIR
 add_proto qw / void av1_highbd_ibp_dr_prediction_z1 /,
     "uint8_t* weights, uint16_t *dst, ptrdiff_t stride, uint16_t* second_pred, ptrdiff_t second_stride, int bw, int bh";
 add_proto qw / void av1_highbd_ibp_dr_prediction_z3 /,
     "uint8_t* weights, uint16_t *dst, ptrdiff_t stride, uint16_t* second_pred, ptrdiff_t second_stride, int bw, int bh";
-#endif
 
 # build compound seg mask functions
 add_proto qw/void av1_build_compound_diffwtd_mask_highbd/, "uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint16_t *src0, int src0_stride, const uint16_t *src1, int src1_stride, int h, int w, int bd";
diff --git a/av1/common/enums.h b/av1/common/enums.h
index 966a471..8f6fb47 100644
--- a/av1/common/enums.h
+++ b/av1/common/enums.h
@@ -1089,11 +1089,9 @@
 #define MAX_EXTERNAL_REFERENCES 128
 #define MAX_TILES 512
 
-#if CONFIG_IBP_DIR || CONFIG_IBP_DC
 #define DIR_MODES_0_90 17
 #define IBP_WEIGHT_SHIFT 8
 #define IBP_WEIGHT_MAX 255
-#endif
 
 #if CONFIG_WARP_REF_LIST
 /*!\enum Warp projection type
diff --git a/av1/common/reconintra.c b/av1/common/reconintra.c
index 13ae2e5..77b7d96 100644
--- a/av1/common/reconintra.c
+++ b/av1/common/reconintra.c
@@ -805,7 +805,7 @@
     pred_high[H_PRED][tx_size](dst, stride, above, left, bd);
   }
 }
-#if CONFIG_IBP_DIR
+
 // Generate the second directional predictor for IBP
 static void highbd_second_dr_predictor(uint16_t *dst, ptrdiff_t stride,
                                        TX_SIZE tx_size, const uint16_t *above,
@@ -826,7 +826,7 @@
                                 upsample_above, dx, dy, bd, 0);
   }
 }
-#endif
+
 DECLARE_ALIGNED(16, const int8_t,
                 av1_filter_intra_taps[FILTER_INTRA_MODES][8][8]) = {
   {
@@ -1109,7 +1109,7 @@
     p[2 * i] = in[i + 2];
   }
 }
-#if CONFIG_IBP_DIR
+
 void av1_highbd_ibp_dr_prediction_z1_c(uint8_t *weights, uint16_t *dst,
                                        ptrdiff_t stride, uint16_t *second_pred,
                                        ptrdiff_t second_stride, int bw,
@@ -1146,7 +1146,7 @@
     weights += bh;
   }
 }
-#endif
+
 static void build_intra_predictors_high(
     const MACROBLOCKD *xd, const uint16_t *ref, int ref_stride, uint16_t *dst,
     int dst_stride, PREDICTION_MODE mode, int angle_delta,
@@ -1157,26 +1157,16 @@
     ,
     const int seq_intra_pred_filter_flag
 #endif
-#if CONFIG_IBP_DIR || CONFIG_IBP_DC
     ,
-    const int seq_ibp_flag
-#endif
-#if CONFIG_IBP_DIR
-    ,
-    uint8_t *const ibp_weights[TX_SIZES_ALL][DIR_MODES_0_90]
-#endif
-) {
+    const int seq_ibp_flag,
+    uint8_t *const ibp_weights[TX_SIZES_ALL][DIR_MODES_0_90]) {
   int i;
   DECLARE_ALIGNED(16, uint16_t, left_data[NUM_INTRA_NEIGHBOUR_PIXELS]);
   DECLARE_ALIGNED(16, uint16_t, above_data[NUM_INTRA_NEIGHBOUR_PIXELS]);
-#if CONFIG_IBP_DIR
   DECLARE_ALIGNED(16, uint16_t, second_pred_data[MAX_TX_SQUARE + 32]);
-#endif
   uint16_t *const above_row = above_data + 32;
   uint16_t *const left_col = left_data + 32;
-#if CONFIG_IBP_DIR
   uint16_t *const second_pred = second_pred_data + 16;
-#endif
   const int txwpx = tx_size_wide[tx_size];
   const int txhpx = tx_size_high[tx_size];
   int need_left = extend_modes[mode] & NEED_LEFT;
@@ -1220,11 +1210,9 @@
       need_above = 1, need_left = 1, need_above_left = 1;
     else
       need_above = 0, need_left = 1, need_above_left = 1;
-#if CONFIG_IBP_DIR
     if (seq_ibp_flag) {
       need_above = 1, need_left = 1, need_above_left = 1;
     }
-#endif
 
 #if CONFIG_ORIP && !CONFIG_ORIP_NONDC_DISABLED
     if (apply_sub_block_based_refinement_filter &&
@@ -1260,13 +1248,10 @@
   if (need_left) {
     int need_bottom = extend_modes[mode] & NEED_BOTTOMLEFT;
     if (use_filter_intra) need_bottom = 0;
-#if CONFIG_IBP_DIR
     if (is_dr_mode)
       need_bottom =
           seq_ibp_flag ? (p_angle < 90) || (p_angle > 180) : p_angle > 180;
-#else
-    if (is_dr_mode) need_bottom = p_angle > 180;
-#endif
+
     const int num_left_pixels_needed =
         txhpx + (need_bottom ? txwpx : 3) + (mrl_index << 1);
     i = 0;
@@ -1288,13 +1273,10 @@
   if (need_above) {
     int need_right = extend_modes[mode] & NEED_ABOVERIGHT;
     if (use_filter_intra) need_right = 0;
-#if CONFIG_IBP_DIR
     if (is_dr_mode)
       need_right =
           seq_ibp_flag ? (p_angle < 90) || (p_angle > 180) : p_angle < 90;
-#else
-    if (is_dr_mode) need_right = p_angle < 90;
-#endif
+
     const int num_top_pixels_needed =
         txwpx + (need_right ? txhpx : 0) + (mrl_index << 1);
     if (n_top_px > 0) {
@@ -1343,7 +1325,6 @@
     int upsample_above = 0;
     int upsample_left = 0;
     if (!disable_edge_filter && mrl_index == 0) {
-#if CONFIG_IBP_DIR
       int need_right = p_angle < 90;
       int need_bottom = p_angle > 180;
       int filt_type_above = get_filt_type(xd, plane);
@@ -1362,57 +1343,33 @@
         angle_above = p_angle > 180 ? (p_angle - 180 - 90) : angle_above;
         angle_left = p_angle < 90 ? p_angle : angle_left;
       }
-#else
-      const int need_right = p_angle < 90;
-      const int need_bottom = p_angle > 180;
-      const int filt_type = get_filt_type(xd, plane);
-#endif
+
       if (p_angle != 90 && p_angle != 180) {
         const int ab_le = need_above_left ? 1 : 0;
         if (need_above && need_left && (txwpx + txhpx >= 24)) {
           filter_intra_edge_corner_high(above_row, left_col);
         }
         if (need_above && n_top_px > 0) {
-#if CONFIG_IBP_DIR
           const int strength = intra_edge_filter_strength(
               txwpx, txhpx, angle_above, filt_type_above);
-#else
-          const int strength =
-              intra_edge_filter_strength(txwpx, txhpx, p_angle - 90, filt_type);
-#endif
           const int n_px = n_top_px + ab_le + (need_right ? txhpx : 0);
           av1_filter_intra_edge_high(above_row - ab_le, n_px, strength);
         }
         if (need_left && n_left_px > 0) {
-#if CONFIG_IBP_DIR
           const int strength = intra_edge_filter_strength(
               txhpx, txwpx, angle_left, filt_type_left);
-#else
-          const int strength = intra_edge_filter_strength(
-              txhpx, txwpx, p_angle - 180, filt_type);
-#endif
           const int n_px = n_left_px + ab_le + (need_bottom ? txwpx : 0);
           av1_filter_intra_edge_high(left_col - ab_le, n_px, strength);
         }
       }
-#if CONFIG_IBP_DIR
       upsample_above = av1_use_intra_edge_upsample(txwpx, txhpx, angle_above,
                                                    filt_type_above);
-#else
-      upsample_above =
-          av1_use_intra_edge_upsample(txwpx, txhpx, p_angle - 90, filt_type);
-#endif
       if (need_above && upsample_above) {
         const int n_px = txwpx + (need_right ? txhpx : 0);
         av1_upsample_intra_edge_high(above_row, n_px, xd->bd);
       }
-#if CONFIG_IBP_DIR
       upsample_left =
           av1_use_intra_edge_upsample(txhpx, txwpx, angle_left, filt_type_left);
-#else
-      upsample_left =
-          av1_use_intra_edge_upsample(txhpx, txwpx, p_angle - 180, filt_type);
-#endif
       if (need_left && upsample_left) {
         const int n_px = txhpx + (need_bottom ? txwpx : 0);
         av1_upsample_intra_edge_high(left_col, n_px, xd->bd);
@@ -1421,7 +1378,7 @@
     highbd_dr_predictor(dst, dst_stride, tx_size, above_row, left_col,
                         upsample_above, upsample_left, p_angle, xd->bd,
                         mrl_index);
-#if CONFIG_IBP_DIR
+
     if (seq_ibp_flag) {
       if (mrl_index == 0) {
         if (p_angle > 0 && p_angle < 90) {
@@ -1445,7 +1402,7 @@
         }
       }
     }
-#endif
+
 #if CONFIG_ORIP
 #if !CONFIG_ORIP_NONDC_DISABLED
     // Apply sub-block based filter for horizontal/vertical intra mode
@@ -1598,15 +1555,8 @@
       ,
       cm->seq_params.enable_orip
 #endif
-#if CONFIG_IBP_DIR || CONFIG_IBP_DC
       ,
-      cm->seq_params.enable_ibp
-#endif
-#if CONFIG_IBP_DIR
-      ,
-      cm->ibp_directional_weights
-#endif
-  );
+      cm->seq_params.enable_ibp, cm->ibp_directional_weights);
   return;
 }
 
diff --git a/av1/common/reconintra.h b/av1/common/reconintra.h
index ef051d1..d193249 100644
--- a/av1/common/reconintra.h
+++ b/av1/common/reconintra.h
@@ -291,13 +291,11 @@
   return type ? (blk_wh <= 8) : (blk_wh <= 16);
 }
 
-#if CONFIG_IBP_DIR
 static const int32_t transpose_tx_size[TX_SIZES_ALL] = {
   TX_4X4,  TX_8X8,  TX_16X16, TX_32X32, TX_64X64, TX_8X4,   TX_4X8,
   TX_16X8, TX_8X16, TX_32X16, TX_16X32, TX_64X32, TX_32X64, TX_16X4,
   TX_4X16, TX_32X8, TX_8X32,  TX_64X16, TX_16X64,
 };
-#endif
 
 #if CONFIG_EXT_RECUR_PARTITIONS
 static AOM_INLINE void set_have_top_and_left(int *have_top, int *have_left,
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index ff770b9..3920205 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -6095,9 +6095,7 @@
                                        ? aom_rb_read_literal(rb, 2)
                                        : AOM_OPFL_REFINE_NONE;
 #endif  // CONFIG_OPTFLOW_REFINEMENT
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   seq_params->enable_ibp = aom_rb_read_bit(rb);
-#endif
 #if CONFIG_ADAPTIVE_MVD
   seq_params->enable_adaptive_mvd = aom_rb_read_bit(rb);
 #endif  // CONFIG_ADAPTIVE_MVD
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 57fec3f..110f436 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -4634,9 +4634,7 @@
   if (seq_params->order_hint_info.enable_order_hint)
     aom_wb_write_literal(wb, seq_params->enable_opfl_refine, 2);
 #endif  // CONFIG_OPTFLOW_REFINEMENT
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   aom_wb_write_bit(wb, seq_params->enable_ibp);
-#endif
 #if CONFIG_ADAPTIVE_MVD
   aom_wb_write_bit(wb, seq_params->enable_adaptive_mvd);
 #endif  // CONFIG_ADAPTIVE_MVD
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index f534dd9..035192c 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -489,9 +489,7 @@
 #if CONFIG_CROSS_CHROMA_TX
   seq->enable_cctx = oxcf->txfm_cfg.enable_cctx;
 #endif  // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   seq->enable_ibp = oxcf->intra_mode_cfg.enable_ibp;
-#endif
 #if CONFIG_ADAPTIVE_MVD
   seq->enable_adaptive_mvd = tool_cfg->enable_adaptive_mvd;
 #endif  // CONFIG_ADAPTIVE_MVD
@@ -1479,9 +1477,7 @@
   }
 
   dealloc_compressor_data(cpi);
-#if CONFIG_IBP_DIR
   free_ibp_info(cm->ibp_directional_weights);
-#endif
 
 #if CONFIG_INTERNAL_STATS
   aom_free(cpi->ssim_vars);
diff --git a/av1/encoder/encoder.h b/av1/encoder/encoder.h
index b05668a..45ce4d9 100644
--- a/av1/encoder/encoder.h
+++ b/av1/encoder/encoder.h
@@ -290,12 +290,10 @@
    */
   bool enable_orip;
 #endif
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   /*!
    * Flag to indicate if IBP should be enabled
    */
   bool enable_ibp;
-#endif
 } IntraModeCfg;
 
 /*!
diff --git a/build/cmake/aom_config_defaults.cmake b/build/cmake/aom_config_defaults.cmake
index 4729bb7..f87d0b2 100644
--- a/build/cmake/aom_config_defaults.cmake
+++ b/build/cmake/aom_config_defaults.cmake
@@ -178,9 +178,6 @@
 set_aom_config_var(CONFIG_OPTFLOW_REFINEMENT 1
                    "AV2 experiment flag for optical flow MV refinement")
 set_aom_config_var(
-  CONFIG_IBP_DIR 1
-  "AV2 experiment flag to enable intra bi-prediction for directional modes.")
-set_aom_config_var(
   CONFIG_IBP_DC 1
   "AV2 experiment flag to enable intra bi-prediction for DC mode.")
 set_aom_config_var(CONFIG_AIMC 1 "AV2 adaptive intra mode coding flag.")
diff --git a/common/args.c b/common/args.c
index e2d83e9..4d7152f 100644
--- a/common/args.c
+++ b/common/args.c
@@ -108,9 +108,7 @@
 #if CONFIG_CROSS_CHROMA_TX
     GET_PARAMS(enable_cctx);
 #endif  // CONFIG_CROSS_CHROMA_TX
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
     GET_PARAMS(enable_ibp);
-#endif
 #if CONFIG_ADAPTIVE_MVD
     GET_PARAMS(enable_adaptive_mvd);
 #endif  // CONFIG_ADAPTIVE_MVD
diff --git a/common/av1_config.c b/common/av1_config.c
index d005c9a..6b80dda 100644
--- a/common/av1_config.c
+++ b/common/av1_config.c
@@ -273,9 +273,7 @@
 #if CONFIG_ORIP
   AV1C_READ_BIT_OR_RETURN_ERROR(enable_orip);
 #endif
-#if CONFIG_IBP_DC || CONFIG_IBP_DIR
   AV1C_READ_BIT_OR_RETURN_ERROR(enable_ibp);
-#endif
 #if CONFIG_ADAPTIVE_MVD
   AV1C_READ_BIT_OR_RETURN_ERROR(enable_adaptive_mvd);
 #endif  // CONFIG_ADAPTIVE_MVD