Remove experimental flag of CDEF
This experiment has been adopted, we can simplify the code
by dropping the associated preprocessor conditionals.
Change-Id: I17bd46ebad7796d04fb4065fb36da0e1c4eeaf9b
diff --git a/aomenc.c b/aomenc.c
index 0128490..b665ac1 100644
--- a/aomenc.c
+++ b/aomenc.c
@@ -435,12 +435,10 @@
#endif // CONFIG_LOOPFILTERING_ACROSS_TILES
static const arg_def_t lossless =
ARG_DEF(NULL, "lossless", 1, "Lossless mode (0: false (default), 1: true)");
-#if CONFIG_CDEF
static const arg_def_t enable_cdef =
ARG_DEF(NULL, "enable-cdef", 1,
"Enable the constrained directional enhancement filter (0: false, "
"1: true (default))");
-#endif
#if CONFIG_AOM_QM
static const arg_def_t enable_qm =
ARG_DEF(NULL, "enable-qm", 1,
@@ -580,9 +578,7 @@
&max_inter_rate_pct,
&gf_cbr_boost_pct,
&lossless,
-#if CONFIG_CDEF
&enable_cdef,
-#endif
#if CONFIG_AOM_QM
&enable_qm,
&qm_min,
@@ -640,9 +636,7 @@
AV1E_SET_MAX_INTER_BITRATE_PCT,
AV1E_SET_GF_CBR_BOOST_PCT,
AV1E_SET_LOSSLESS,
-#if CONFIG_CDEF
AV1E_SET_ENABLE_CDEF,
-#endif
#if CONFIG_AOM_QM
AV1E_SET_ENABLE_QM,
AV1E_SET_QM_MIN,
diff --git a/av1/av1.cmake b/av1/av1.cmake
index daae009..f930b6e 100644
--- a/av1/av1.cmake
+++ b/av1/av1.cmake
@@ -227,61 +227,59 @@
"${AOM_ROOT}/av1/encoder/arm/neon/error_neon.c")
endif ()
-if (CONFIG_CDEF)
+set(AOM_AV1_COMMON_SOURCES
+ ${AOM_AV1_COMMON_SOURCES}
+ "${AOM_ROOT}/av1/common/cdef.c"
+ "${AOM_ROOT}/av1/common/cdef.h"
+ "${AOM_ROOT}/av1/common/cdef_block.c"
+ "${AOM_ROOT}/av1/common/cdef_block.h")
+
+set(AOM_AV1_ENCODER_SOURCES
+ ${AOM_AV1_ENCODER_SOURCES}
+ "${AOM_ROOT}/av1/encoder/pickcdef.c")
+
+set(AOM_AV1_COMMON_INTRIN_SSE2
+ ${AOM_AV1_COMMON_INTRIN_SSE2}
+ "${AOM_ROOT}/av1/common/cdef_block_sse2.c")
+
+set(AOM_AV1_COMMON_INTRIN_SSSE3
+ ${AOM_AV1_COMMON_INTRIN_SSSE3}
+ "${AOM_ROOT}/av1/common/cdef_block_ssse3.c")
+
+set(AOM_AV1_COMMON_INTRIN_SSE4_1
+ ${AOM_AV1_COMMON_INTRIN_SSE4_1}
+ "${AOM_ROOT}/av1/common/cdef_block_sse4.c")
+
+set(AOM_AV1_COMMON_INTRIN_AVX2
+ ${AOM_AV1_COMMON_INTRIN_AVX2}
+ "${AOM_ROOT}/av1/common/cdef_block_avx2.c")
+
+set(AOM_AV1_COMMON_INTRIN_NEON
+ ${AOM_AV1_COMMON_INTRIN_NEON}
+ "${AOM_ROOT}/av1/common/cdef_block_neon.c")
+
+if (NOT CONFIG_CDEF_SINGLEPASS)
set(AOM_AV1_COMMON_SOURCES
${AOM_AV1_COMMON_SOURCES}
- "${AOM_ROOT}/av1/common/cdef.c"
- "${AOM_ROOT}/av1/common/cdef.h"
- "${AOM_ROOT}/av1/common/cdef_block.c"
- "${AOM_ROOT}/av1/common/cdef_block.h")
-
- set(AOM_AV1_ENCODER_SOURCES
- ${AOM_AV1_ENCODER_SOURCES}
- "${AOM_ROOT}/av1/encoder/pickcdef.c")
+ "${AOM_ROOT}/av1/common/clpf.c"
+ "${AOM_ROOT}/av1/common/clpf_simd.h"
+ "${AOM_ROOT}/av1/common/cdef_block_simd.h")
set(AOM_AV1_COMMON_INTRIN_SSE2
${AOM_AV1_COMMON_INTRIN_SSE2}
- "${AOM_ROOT}/av1/common/cdef_block_sse2.c")
+ "${AOM_ROOT}/av1/common/clpf_sse2.c")
set(AOM_AV1_COMMON_INTRIN_SSSE3
${AOM_AV1_COMMON_INTRIN_SSSE3}
- "${AOM_ROOT}/av1/common/cdef_block_ssse3.c")
+ "${AOM_ROOT}/av1/common/clpf_ssse3.c")
set(AOM_AV1_COMMON_INTRIN_SSE4_1
${AOM_AV1_COMMON_INTRIN_SSE4_1}
- "${AOM_ROOT}/av1/common/cdef_block_sse4.c")
-
- set(AOM_AV1_COMMON_INTRIN_AVX2
- ${AOM_AV1_COMMON_INTRIN_AVX2}
- "${AOM_ROOT}/av1/common/cdef_block_avx2.c")
+ "${AOM_ROOT}/av1/common/clpf_sse4.c")
set(AOM_AV1_COMMON_INTRIN_NEON
${AOM_AV1_COMMON_INTRIN_NEON}
- "${AOM_ROOT}/av1/common/cdef_block_neon.c")
-
- if (NOT CONFIG_CDEF_SINGLEPASS)
- set(AOM_AV1_COMMON_SOURCES
- ${AOM_AV1_COMMON_SOURCES}
- "${AOM_ROOT}/av1/common/clpf.c"
- "${AOM_ROOT}/av1/common/clpf_simd.h"
- "${AOM_ROOT}/av1/common/cdef_block_simd.h")
-
- set(AOM_AV1_COMMON_INTRIN_SSE2
- ${AOM_AV1_COMMON_INTRIN_SSE2}
- "${AOM_ROOT}/av1/common/clpf_sse2.c")
-
- set(AOM_AV1_COMMON_INTRIN_SSSE3
- ${AOM_AV1_COMMON_INTRIN_SSSE3}
- "${AOM_ROOT}/av1/common/clpf_ssse3.c")
-
- set(AOM_AV1_COMMON_INTRIN_SSE4_1
- ${AOM_AV1_COMMON_INTRIN_SSE4_1}
- "${AOM_ROOT}/av1/common/clpf_sse4.c")
-
- set(AOM_AV1_COMMON_INTRIN_NEON
- ${AOM_AV1_COMMON_INTRIN_NEON}
- "${AOM_ROOT}/av1/common/clpf_neon.c")
- endif ()
+ "${AOM_ROOT}/av1/common/clpf_neon.c")
endif ()
if (CONFIG_CONVOLVE_ROUND)
diff --git a/av1/av1_common.mk b/av1/av1_common.mk
index 326e678..5965814 100644
--- a/av1/av1_common.mk
+++ b/av1/av1_common.mk
@@ -93,7 +93,6 @@
endif
AV1_COMMON_SRCS-yes += common/warped_motion.h
AV1_COMMON_SRCS-yes += common/warped_motion.c
-ifeq ($(CONFIG_CDEF),yes)
ifeq ($(CONFIG_CDEF_SINGLEPASS),yes)
AV1_COMMON_SRCS-$(HAVE_AVX2) += common/cdef_block_avx2.c
else
@@ -113,7 +112,6 @@
AV1_COMMON_SRCS-yes += common/cdef_block_simd.h
AV1_COMMON_SRCS-yes += common/cdef.c
AV1_COMMON_SRCS-yes += common/cdef.h
-endif
AV1_COMMON_SRCS-yes += common/odintrin.c
AV1_COMMON_SRCS-yes += common/odintrin.h
diff --git a/av1/av1_cx.mk b/av1/av1_cx.mk
index 792db29..9c53be6 100644
--- a/av1/av1_cx.mk
+++ b/av1/av1_cx.mk
@@ -115,9 +115,7 @@
AV1_CX_SRCS-yes += encoder/hash_motion.c
AV1_CX_SRCS-yes += encoder/hash_motion.h
endif
-ifeq ($(CONFIG_CDEF),yes)
AV1_CX_SRCS-yes += encoder/pickcdef.c
-endif
AV1_CX_SRCS-$(HAVE_SSE2) += encoder/x86/av1_quantize_sse2.c
AV1_CX_SRCS-$(HAVE_AVX2) += encoder/x86/av1_quantize_avx2.c
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c
index 925077f..6344ea5 100644
--- a/av1/av1_cx_iface.c
+++ b/av1/av1_cx_iface.c
@@ -54,9 +54,7 @@
unsigned int rc_max_inter_bitrate_pct;
unsigned int gf_cbr_boost_pct;
unsigned int lossless;
-#if CONFIG_CDEF
unsigned int enable_cdef;
-#endif
#if CONFIG_AOM_QM
unsigned int enable_qm;
unsigned int qm_min;
@@ -120,9 +118,7 @@
0, // rc_max_inter_bitrate_pct
0, // gf_cbr_boost_pct
0, // lossless
-#if CONFIG_CDEF
- 1, // enable_cdef
-#endif
+ 1, // enable_cdef
#if CONFIG_AOM_QM
0, // enable_qm
DEFAULT_QM_FIRST, // qm_min
@@ -504,9 +500,7 @@
oxcf->cq_level = av1_quantizer_to_qindex(extra_cfg->cq_level);
oxcf->fixed_q = -1;
-#if CONFIG_CDEF
oxcf->using_cdef = extra_cfg->enable_cdef;
-#endif
#if CONFIG_AOM_QM
oxcf->using_qm = extra_cfg->enable_qm;
oxcf->qm_minlevel = extra_cfg->qm_min;
@@ -879,14 +873,12 @@
return update_extra_cfg(ctx, &extra_cfg);
}
-#if CONFIG_CDEF
static aom_codec_err_t ctrl_set_enable_cdef(aom_codec_alg_priv_t *ctx,
va_list args) {
struct av1_extracfg extra_cfg = ctx->extra_cfg;
extra_cfg.enable_cdef = CAST(AV1E_SET_ENABLE_CDEF, args);
return update_extra_cfg(ctx, &extra_cfg);
}
-#endif
#if CONFIG_AOM_QM
static aom_codec_err_t ctrl_set_enable_qm(aom_codec_alg_priv_t *ctx,
@@ -1613,9 +1605,7 @@
{ AV1E_SET_MAX_INTER_BITRATE_PCT, ctrl_set_rc_max_inter_bitrate_pct },
{ AV1E_SET_GF_CBR_BOOST_PCT, ctrl_set_rc_gf_cbr_boost_pct },
{ AV1E_SET_LOSSLESS, ctrl_set_lossless },
-#if CONFIG_CDEF
{ AV1E_SET_ENABLE_CDEF, ctrl_set_enable_cdef },
-#endif
#if CONFIG_AOM_QM
{ AV1E_SET_ENABLE_QM, ctrl_set_enable_qm },
{ AV1E_SET_QM_MIN, ctrl_set_qm_min },
diff --git a/av1/common/av1_rtcd_defs.pl b/av1/common/av1_rtcd_defs.pl
index 4246210..ea10213 100755
--- a/av1/common/av1_rtcd_defs.pl
+++ b/av1/common/av1_rtcd_defs.pl
@@ -452,52 +452,50 @@
# Deringing Functions
-if (aom_config("CONFIG_CDEF") eq "yes") {
- add_proto qw/int cdef_find_dir/, "const uint16_t *img, int stride, int32_t *var, int coeff_shift";
- if (aom_config("CONFIG_CDEF_SINGLEPASS") ne "yes") {
- add_proto qw/void aom_clpf_block_hbd/, "uint16_t *dst, const uint16_t *src, int dstride, int sstride, int sizex, int sizey, unsigned int strength, unsigned int bd";
- add_proto qw/void aom_clpf_hblock_hbd/, "uint16_t *dst, const uint16_t *src, int dstride, int sstride, int sizex, int sizey, unsigned int strength, unsigned int bd";
- add_proto qw/void aom_clpf_block/, "uint8_t *dst, const uint16_t *src, int dstride, int sstride, int sizex, int sizey, unsigned int strength, unsigned int bd";
- add_proto qw/void aom_clpf_hblock/, "uint8_t *dst, const uint16_t *src, int dstride, int sstride, int sizex, int sizey, unsigned int strength, unsigned int bd";
- add_proto qw/void cdef_direction_4x4/, "uint16_t *y, int ystride, const uint16_t *in, int threshold, int dir, int damping";
- add_proto qw/void cdef_direction_8x8/, "uint16_t *y, int ystride, const uint16_t *in, int threshold, int dir, int damping";
- add_proto qw/void copy_8x8_16bit_to_8bit/, "uint8_t *dst, int dstride, const uint16_t *src, int sstride";
- add_proto qw/void copy_4x4_16bit_to_8bit/, "uint8_t *dst, int dstride, const uint16_t *src, int sstride";
- add_proto qw/void copy_8x8_16bit_to_16bit/, "uint16_t *dst, int dstride, const uint16_t *src, int sstride";
- add_proto qw/void copy_4x4_16bit_to_16bit/, "uint16_t *dst, int dstride, const uint16_t *src, int sstride";
+add_proto qw/int cdef_find_dir/, "const uint16_t *img, int stride, int32_t *var, int coeff_shift";
+if (aom_config("CONFIG_CDEF_SINGLEPASS") ne "yes") {
+ add_proto qw/void aom_clpf_block_hbd/, "uint16_t *dst, const uint16_t *src, int dstride, int sstride, int sizex, int sizey, unsigned int strength, unsigned int bd";
+ add_proto qw/void aom_clpf_hblock_hbd/, "uint16_t *dst, const uint16_t *src, int dstride, int sstride, int sizex, int sizey, unsigned int strength, unsigned int bd";
+ add_proto qw/void aom_clpf_block/, "uint8_t *dst, const uint16_t *src, int dstride, int sstride, int sizex, int sizey, unsigned int strength, unsigned int bd";
+ add_proto qw/void aom_clpf_hblock/, "uint8_t *dst, const uint16_t *src, int dstride, int sstride, int sizex, int sizey, unsigned int strength, unsigned int bd";
+ add_proto qw/void cdef_direction_4x4/, "uint16_t *y, int ystride, const uint16_t *in, int threshold, int dir, int damping";
+ add_proto qw/void cdef_direction_8x8/, "uint16_t *y, int ystride, const uint16_t *in, int threshold, int dir, int damping";
+ add_proto qw/void copy_8x8_16bit_to_8bit/, "uint8_t *dst, int dstride, const uint16_t *src, int sstride";
+ add_proto qw/void copy_4x4_16bit_to_8bit/, "uint8_t *dst, int dstride, const uint16_t *src, int sstride";
+ add_proto qw/void copy_8x8_16bit_to_16bit/, "uint16_t *dst, int dstride, const uint16_t *src, int sstride";
+ add_proto qw/void copy_4x4_16bit_to_16bit/, "uint16_t *dst, int dstride, const uint16_t *src, int sstride";
+} else {
+ add_proto qw/void cdef_filter_block/, "uint8_t *dst8, uint16_t *dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int bsize, int max, int coeff_shift";
+}
+
+add_proto qw/void copy_rect8_8bit_to_16bit/, "uint16_t *dst, int dstride, const uint8_t *src, int sstride, int v, int h";
+add_proto qw/void copy_rect8_16bit_to_16bit/, "uint16_t *dst, int dstride, const uint16_t *src, int sstride, int v, int h";
+
+# VS compiling for 32 bit targets does not support vector types in
+# structs as arguments, which makes the v256 type of the intrinsics
+# hard to support, so optimizations for this target are disabled.
+if ($opts{config} !~ /libs-x86-win32-vs.*/) {
+ if (aom_config("CONFIG_CDEF_SINGLEPASS") eq "yes") {
+ specialize qw/cdef_find_dir sse2 ssse3 sse4_1 avx2 neon/;
+ specialize qw/cdef_filter_block sse2 ssse3 sse4_1 avx2 neon/;
+ specialize qw/copy_rect8_8bit_to_16bit sse2 ssse3 sse4_1 avx2 neon/;
+ specialize qw/copy_rect8_16bit_to_16bit sse2 ssse3 sse4_1 avx2 neon/;
} else {
- add_proto qw/void cdef_filter_block/, "uint8_t *dst8, uint16_t *dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int bsize, int max, int coeff_shift";
- }
+ specialize qw/cdef_find_dir sse2 ssse3 sse4_1 neon/;
+ specialize qw/aom_clpf_block_hbd sse2 ssse3 sse4_1 neon/;
+ specialize qw/aom_clpf_hblock_hbd sse2 ssse3 sse4_1 neon/;
+ specialize qw/aom_clpf_block sse2 ssse3 sse4_1 neon/;
+ specialize qw/aom_clpf_hblock sse2 ssse3 sse4_1 neon/;
+ specialize qw/cdef_find_dir sse2 ssse3 sse4_1 neon/;
+ specialize qw/cdef_direction_4x4 sse2 ssse3 sse4_1 neon/;
+ specialize qw/cdef_direction_8x8 sse2 ssse3 sse4_1 neon/;
- add_proto qw/void copy_rect8_8bit_to_16bit/, "uint16_t *dst, int dstride, const uint8_t *src, int sstride, int v, int h";
- add_proto qw/void copy_rect8_16bit_to_16bit/, "uint16_t *dst, int dstride, const uint16_t *src, int sstride, int v, int h";
-
- # VS compiling for 32 bit targets does not support vector types in
- # structs as arguments, which makes the v256 type of the intrinsics
- # hard to support, so optimizations for this target are disabled.
- if ($opts{config} !~ /libs-x86-win32-vs.*/) {
- if (aom_config("CONFIG_CDEF_SINGLEPASS") eq "yes") {
- specialize qw/cdef_find_dir sse2 ssse3 sse4_1 avx2 neon/;
- specialize qw/cdef_filter_block sse2 ssse3 sse4_1 avx2 neon/;
- specialize qw/copy_rect8_8bit_to_16bit sse2 ssse3 sse4_1 avx2 neon/;
- specialize qw/copy_rect8_16bit_to_16bit sse2 ssse3 sse4_1 avx2 neon/;
- } else {
- specialize qw/cdef_find_dir sse2 ssse3 sse4_1 neon/;
- specialize qw/aom_clpf_block_hbd sse2 ssse3 sse4_1 neon/;
- specialize qw/aom_clpf_hblock_hbd sse2 ssse3 sse4_1 neon/;
- specialize qw/aom_clpf_block sse2 ssse3 sse4_1 neon/;
- specialize qw/aom_clpf_hblock sse2 ssse3 sse4_1 neon/;
- specialize qw/cdef_find_dir sse2 ssse3 sse4_1 neon/;
- specialize qw/cdef_direction_4x4 sse2 ssse3 sse4_1 neon/;
- specialize qw/cdef_direction_8x8 sse2 ssse3 sse4_1 neon/;
-
- specialize qw/copy_8x8_16bit_to_8bit sse2 ssse3 sse4_1 neon/;
- specialize qw/copy_4x4_16bit_to_8bit sse2 ssse3 sse4_1 neon/;
- specialize qw/copy_8x8_16bit_to_16bit sse2 ssse3 sse4_1 neon/;
- specialize qw/copy_4x4_16bit_to_16bit sse2 ssse3 sse4_1 neon/;
- specialize qw/copy_rect8_8bit_to_16bit sse2 ssse3 sse4_1 neon/;
- specialize qw/copy_rect8_16bit_to_16bit sse2 ssse3 sse4_1 neon/;
- }
+ specialize qw/copy_8x8_16bit_to_8bit sse2 ssse3 sse4_1 neon/;
+ specialize qw/copy_4x4_16bit_to_8bit sse2 ssse3 sse4_1 neon/;
+ specialize qw/copy_8x8_16bit_to_16bit sse2 ssse3 sse4_1 neon/;
+ specialize qw/copy_4x4_16bit_to_16bit sse2 ssse3 sse4_1 neon/;
+ specialize qw/copy_rect8_8bit_to_16bit sse2 ssse3 sse4_1 neon/;
+ specialize qw/copy_rect8_16bit_to_16bit sse2 ssse3 sse4_1 neon/;
}
}
diff --git a/av1/common/onyxc_int.h b/av1/common/onyxc_int.h
index 0aff79c..761db5b 100644
--- a/av1/common/onyxc_int.h
+++ b/av1/common/onyxc_int.h
@@ -526,14 +526,12 @@
BLOCK_SIZE sb_size; // Size of the superblock used for this frame
int mib_size; // Size of the superblock in units of MI blocks
int mib_size_log2; // Log 2 of above.
-#if CONFIG_CDEF
int cdef_pri_damping;
int cdef_sec_damping;
int nb_cdef_strengths;
int cdef_strengths[CDEF_MAX_STRENGTHS];
int cdef_uv_strengths[CDEF_MAX_STRENGTHS];
int cdef_bits;
-#endif
int delta_q_present_flag;
// Resolution of delta quant
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index e8734c1..3cd10f4 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -33,9 +33,7 @@
#endif // CONFIG_BITSTREAM_DEBUG
#include "av1/common/alloccommon.h"
-#if CONFIG_CDEF
#include "av1/common/cdef.h"
-#endif
#if CONFIG_INSPECTION
#include "av1/decoder/inspection.h"
#endif
@@ -1004,7 +1002,6 @@
}
#endif
-#if CONFIG_CDEF
if (bsize == cm->sb_size) {
int width_step = mi_size_wide[BLOCK_64X64];
int height_step = mi_size_wide[BLOCK_64X64];
@@ -1023,7 +1020,6 @@
}
}
}
-#endif // CONFIG_CDEF
#if CONFIG_LOOP_RESTORATION
for (int plane = 0; plane < MAX_MB_PLANE; ++plane) {
int rcol0, rcol1, rrow0, rrow1, tile_tl_idx;
@@ -1351,7 +1347,6 @@
}
}
-#if CONFIG_CDEF
static void setup_cdef(AV1_COMMON *cm, struct aom_read_bit_buffer *rb) {
#if CONFIG_INTRABC
if (cm->allow_intrabc && NO_FILTER_FOR_IBC) return;
@@ -1372,7 +1367,6 @@
: 0;
}
}
-#endif // CONFIG_CDEF
static INLINE int read_delta_q(struct aom_read_bit_buffer *rb) {
return aom_rb_read_bit(rb) ? aom_rb_read_inv_signed_literal(rb, 6) : 0;
@@ -1801,20 +1795,15 @@
#else
const int no_loopfilter = !lf->filter_level;
#endif
-#if CONFIG_CDEF
const int no_cdef = cm->cdef_bits == 0 && cm->cdef_strengths[0] == 0 &&
cm->nb_cdef_strengths == 1;
-#endif
#if CONFIG_LOOP_RESTORATION
const int no_restoration =
cm->rst_info[0].frame_restoration_type == RESTORE_NONE &&
cm->rst_info[1].frame_restoration_type == RESTORE_NONE &&
cm->rst_info[2].frame_restoration_type == RESTORE_NONE;
#endif
- cm->single_tile_decoding = no_loopfilter
-#if CONFIG_CDEF
- && no_cdef
-#endif
+ cm->single_tile_decoding = no_loopfilter && no_cdef
#if CONFIG_LOOP_RESTORATION
&& no_restoration
#endif
@@ -3202,11 +3191,9 @@
#else
lf->filter_level = 0;
#endif
-#if CONFIG_CDEF
cm->cdef_bits = 0;
cm->cdef_strengths[0] = 0;
cm->nb_cdef_strengths = 1;
-#endif // CONFIG_CDEF
#if CONFIG_LOOP_RESTORATION
cm->rst_info[0].frame_restoration_type = RESTORE_NONE;
cm->rst_info[1].frame_restoration_type = RESTORE_NONE;
@@ -3305,11 +3292,9 @@
}
cm->all_lossless = all_lossless(cm, xd);
setup_segmentation_dequant(cm);
-#if CONFIG_CDEF
if (!cm->all_lossless) {
setup_cdef(cm, rb);
}
-#endif
#if CONFIG_LOOP_RESTORATION
decode_restoration_mode(cm, rb);
#endif // CONFIG_LOOP_RESTORATION
@@ -3842,7 +3827,6 @@
}
#endif
-#if CONFIG_CDEF
if (!cm->skip_loop_filter &&
#if CONFIG_INTRABC
!(cm->allow_intrabc && NO_FILTER_FOR_IBC) &&
@@ -3850,7 +3834,6 @@
!cm->all_lossless) {
av1_cdef_frame(&pbi->cur_buf->buf, cm, &pbi->mb);
}
-#endif // CONFIG_CDEF
#if CONFIG_FRAME_SUPERRES
superres_post_decode(pbi);
diff --git a/av1/decoder/inspection.c b/av1/decoder/inspection.c
index e3457e8..ef6dcf3 100644
--- a/av1/decoder/inspection.c
+++ b/av1/decoder/inspection.c
@@ -11,9 +11,7 @@
#include "av1/decoder/decoder.h"
#include "av1/decoder/inspection.h"
#include "av1/common/enums.h"
-#if CONFIG_CDEF
#include "av1/common/cdef.h"
-#endif
#if CONFIG_CFL
#include "av1/common/cfl.h"
#endif
@@ -55,9 +53,7 @@
#if CONFIG_ACCOUNTING
fd->accounting = &pbi->accounting;
#endif
-#if CONFIG_CDEF
-// TODO(negge): copy per frame CDEF data
-#endif
+ // TODO(negge): copy per frame CDEF data
int i, j;
for (i = 0; i < MAX_SEGMENTS; i++) {
for (j = 0; j < 2; j++) {
@@ -104,13 +100,11 @@
mi->tx_type = mbmi->tx_type;
mi->tx_size = mbmi->tx_size;
-#if CONFIG_CDEF
mi->cdef_level =
cm->cdef_strengths[mbmi->cdef_strength] / CDEF_SEC_STRENGTHS;
mi->cdef_strength =
cm->cdef_strengths[mbmi->cdef_strength] % CDEF_SEC_STRENGTHS;
mi->cdef_strength += mi->cdef_strength == 3;
-#endif
#if CONFIG_CFL
if (mbmi->uv_mode == UV_CFL_PRED) {
mi->cfl_alpha_idx = mbmi->cfl_alpha_idx;
diff --git a/av1/decoder/inspection.h b/av1/decoder/inspection.h
index 8d19fcc..e80a79b 100644
--- a/av1/decoder/inspection.h
+++ b/av1/decoder/inspection.h
@@ -49,10 +49,8 @@
#endif
int16_t tx_type;
int16_t tx_size;
-#if CONFIG_CDEF
int16_t cdef_level;
int16_t cdef_strength;
-#endif
#if CONFIG_CFL
int16_t cfl_alpha_idx;
int16_t cfl_alpha_sign;
@@ -77,9 +75,7 @@
int16_t y_dequant[MAX_SEGMENTS][2];
int16_t u_dequant[MAX_SEGMENTS][2];
int16_t v_dequant[MAX_SEGMENTS][2];
-#if CONFIG_CDEF
-// TODO(negge): add per frame CDEF data
-#endif
+ // TODO(negge): add per frame CDEF data
int delta_q_present_flag;
int delta_q_res;
};
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 8d8a664..9f7e314 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -24,9 +24,7 @@
#include "aom_util/debug_util.h"
#endif // CONFIG_BITSTREAM_DEBUG
-#if CONFIG_CDEF
#include "av1/common/cdef.h"
-#endif // CONFIG_CDEF
#include "av1/common/entropy.h"
#include "av1/common/entropymode.h"
#include "av1/common/entropymv.h"
@@ -2443,7 +2441,6 @@
}
#endif
-#if CONFIG_CDEF
if (bsize == cm->sb_size && cm->cdef_bits != 0 && !cm->all_lossless) {
int width_step = mi_size_wide[BLOCK_64X64];
int height_step = mi_size_high[BLOCK_64X64];
@@ -2464,7 +2461,6 @@
}
}
}
-#endif
#if CONFIG_LOOP_RESTORATION
for (int plane = 0; plane < MAX_MB_PLANE; ++plane) {
int rcol0, rcol1, rrow0, rrow1, tile_tl_idx;
@@ -2747,7 +2743,6 @@
}
}
-#if CONFIG_CDEF
static void encode_cdef(const AV1_COMMON *cm, struct aom_write_bit_buffer *wb) {
#if CONFIG_INTRABC
if (cm->allow_intrabc && NO_FILTER_FOR_IBC) return;
@@ -2767,7 +2762,6 @@
aom_wb_write_literal(wb, cm->cdef_uv_strengths[i], CDEF_STRENGTH_BITS);
}
}
-#endif
static void write_delta_q(struct aom_write_bit_buffer *wb, int delta_q) {
if (delta_q != 0) {
@@ -4093,11 +4087,9 @@
}
}
}
-#if CONFIG_CDEF
if (!cm->all_lossless) {
encode_cdef(cm, wb);
}
-#endif
#if CONFIG_LOOP_RESTORATION
encode_restoration_mode(cm, wb);
#endif // CONFIG_LOOP_RESTORATION
@@ -4454,11 +4446,9 @@
}
}
}
-#if CONFIG_CDEF
if (!cm->all_lossless) {
encode_cdef(cm, wb);
}
-#endif
#if CONFIG_LOOP_RESTORATION
encode_restoration_mode(cm, wb);
#endif // CONFIG_LOOP_RESTORATION
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 807b706..0d074ac 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -16,9 +16,7 @@
#include "./aom_config.h"
#include "av1/common/alloccommon.h"
-#if CONFIG_CDEF
#include "av1/common/cdef.h"
-#endif // CONFIG_CDEF
#include "av1/common/filter.h"
#include "av1/common/idct.h"
#include "av1/common/reconinter.h"
@@ -4610,9 +4608,7 @@
MACROBLOCKD *xd = &cpi->td.mb.e_mbd;
struct loopfilter *lf = &cm->lf;
int no_loopfilter = 0;
-#if CONFIG_CDEF
int no_cdef = 0;
-#endif
#if CONFIG_LOOP_RESTORATION
int no_restoration = 0;
if (is_lossless_requested(&cpi->oxcf)
@@ -4628,7 +4624,6 @@
}
#endif
-#if CONFIG_CDEF
if (is_lossless_requested(&cpi->oxcf) || !cpi->oxcf.using_cdef
#if CONFIG_EXT_TILE
|| cm->single_tile_decoding
@@ -4636,7 +4631,6 @@
) {
no_cdef = 1;
}
-#endif
if (no_loopfilter) {
#if CONFIG_LOOPFILTER_LEVEL
@@ -4692,7 +4686,6 @@
av1_loop_restoration_save_boundary_lines(cm->frame_to_show, cm, 0);
#endif
-#if CONFIG_CDEF
if (no_cdef) {
cm->cdef_bits = 0;
cm->cdef_strengths[0] = 0;
@@ -4705,7 +4698,6 @@
// Apply the filter
av1_cdef_frame(cm->frame_to_show, cm, xd);
}
-#endif
#if CONFIG_FRAME_SUPERRES
superres_post_encode(cpi);
diff --git a/av1/encoder/encoder.h b/av1/encoder/encoder.h
index d288701..dfb0b2e 100644
--- a/av1/encoder/encoder.h
+++ b/av1/encoder/encoder.h
@@ -196,9 +196,7 @@
#if CONFIG_EXT_DELTA_Q
DELTAQ_MODE deltaq_mode;
#endif
-#if CONFIG_CDEF
int using_cdef;
-#endif
#if CONFIG_AOM_QM
int using_qm;
int qm_minlevel;
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 4804299..8c1f31b 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -156,9 +156,7 @@
} else {
sf->use_square_partition_only = !frame_is_intra_only(cm);
}
-#if CONFIG_CDEF
sf->fast_cdef_search = 1;
-#endif // CONFIG_CDEF
sf->less_rectangular_check = 1;
@@ -450,9 +448,7 @@
#if CONFIG_EXT_PARTITION_TYPES
sf->prune_ext_partition_types_search = 0;
#endif // CONFIG_EXT_PARTITION_TYPES
-#if CONFIG_CDEF
sf->fast_cdef_search = 0;
-#endif // CONFIG_CDEF
// Set this at the appropriate speed levels
sf->use_transform_domain_distortion = 0;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index 93434b8..4ab8807 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -338,9 +338,7 @@
int prune_ext_partition_types_search;
#endif // CONFIG_EXT_PARTITION_TYPES
-#if CONFIG_CDEF
int fast_cdef_search;
-#endif // CONFIG_CDEF
// Skip rectangular partition test when partition type none gives better
// rd than partition type split.
diff --git a/build/cmake/aom_config_defaults.cmake b/build/cmake/aom_config_defaults.cmake
index 151e0b6..6da62f4 100644
--- a/build/cmake/aom_config_defaults.cmake
+++ b/build/cmake/aom_config_defaults.cmake
@@ -111,7 +111,6 @@
set(CONFIG_ANS 0 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_AOM_QM 1 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_BGSPRITE 0 CACHE NUMBER "AV1 experiment flag.")
-set(CONFIG_CDEF 1 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_CDEF_SINGLEPASS 1 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_CFL 1 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_COLORSPACE_HEADERS 0 CACHE NUMBER "AV1 experiment flag.")
diff --git a/configure b/configure
index a5f96db..0bab2a6 100755
--- a/configure
+++ b/configure
@@ -247,7 +247,6 @@
"
EXPERIMENT_LIST="
fp_mb_stats
- cdef
cdef_singlepass
rect_tx_ext
tpl_mv
@@ -495,7 +494,6 @@
# Enable adopted experiments by default
soft_enable adopted_experiments
if enabled adopted_experiments; then
- soft_enable cdef
soft_enable cdef_singlepass
soft_enable ext_intra
soft_enable intra_edge
@@ -546,7 +544,6 @@
enabled compound_round && soft_enable convolve_round
enabled ext_intra_mod && enable_feature intra_edge
enabled intra_edge && enable_feature ext_intra
- enabled cdef_singlepass && enable_feature cdef
enabled mfmv && enable_feature frame_marker
enabled jnt_comp && enable_feature frame_marker
enabled frame_refs && enable_feature frame_marker
diff --git a/examples/inspect.c b/examples/inspect.c
index ea3976a..894cacb 100644
--- a/examples/inspect.c
+++ b/examples/inspect.c
@@ -119,9 +119,7 @@
&dump_uv_mode_arg,
&dump_skip_arg,
&dump_filter_arg,
-#if CONFIG_CDEF
&dump_cdef_arg,
-#endif
#if CONFIG_DUAL_FILTER
&dump_dual_filter_type_arg,
#endif
@@ -570,14 +568,12 @@
put_block_info(buf, NULL, "filter", offsetof(insp_mi_data, filter), 0);
#endif
}
-#if CONFIG_CDEF
if (layers & CDEF_LAYER) {
buf += put_block_info(buf, NULL, "cdef_level",
offsetof(insp_mi_data, cdef_level), 0);
buf += put_block_info(buf, NULL, "cdef_strength",
offsetof(insp_mi_data, cdef_strength), 0);
}
-#endif
#if CONFIG_CFL
if (layers & CFL_LAYER) {
buf += put_block_info(buf, NULL, "cfl_alpha_idx",
@@ -734,10 +730,8 @@
layers |= SKIP_LAYER;
else if (arg_match(&arg, &dump_filter_arg, argi))
layers |= FILTER_LAYER;
-#if CONFIG_CDEF
else if (arg_match(&arg, &dump_cdef_arg, argi))
layers |= CDEF_LAYER;
-#endif
#if CONFIG_CFL
else if (arg_match(&arg, &dump_cfl_arg, argi))
layers |= CFL_LAYER;
diff --git a/test/test.cmake b/test/test.cmake
index e9b2d6a..df6ed85 100644
--- a/test/test.cmake
+++ b/test/test.cmake
@@ -138,17 +138,15 @@
${AOM_UNIT_TEST_ENCODER_SOURCES}
"${AOM_ROOT}/test/motion_vector_test.cc")
- if (CONFIG_CDEF)
- if (CONFIG_CDEF_SINGLEPASS)
- set(AOM_UNIT_TEST_COMMON_SOURCES
- ${AOM_UNIT_TEST_COMMON_SOURCES}
- "${AOM_ROOT}/test/cdef_test.cc")
- else ()
- set(AOM_UNIT_TEST_COMMON_SOURCES
- ${AOM_UNIT_TEST_COMMON_SOURCES}
- "${AOM_ROOT}/test/clpf_test.cc"
- "${AOM_ROOT}/test/dering_test.cc")
- endif ()
+ if (CONFIG_CDEF_SINGLEPASS)
+ set(AOM_UNIT_TEST_COMMON_SOURCES
+ ${AOM_UNIT_TEST_COMMON_SOURCES}
+ "${AOM_ROOT}/test/cdef_test.cc")
+ else ()
+ set(AOM_UNIT_TEST_COMMON_SOURCES
+ ${AOM_UNIT_TEST_COMMON_SOURCES}
+ "${AOM_ROOT}/test/clpf_test.cc"
+ "${AOM_ROOT}/test/dering_test.cc")
endif ()
if (CONFIG_INTRABC)
diff --git a/test/test.mk b/test/test.mk
index f315d96..17bdb81 100644
--- a/test/test.mk
+++ b/test/test.mk
@@ -136,10 +136,10 @@
LIBAOM_TEST_SRCS-yes += convolve_test.cc
LIBAOM_TEST_SRCS-yes += lpf_8_test.cc
ifeq ($(CONFIG_CDEF_SINGLEPASS),yes)
-LIBAOM_TEST_SRCS-$(CONFIG_CDEF) += cdef_test.cc
+LIBAOM_TEST_SRCS-yes += cdef_test.cc
else
-LIBAOM_TEST_SRCS-$(CONFIG_CDEF) += dering_test.cc
-LIBAOM_TEST_SRCS-$(CONFIG_CDEF) += clpf_test.cc
+LIBAOM_TEST_SRCS-yes += dering_test.cc
+LIBAOM_TEST_SRCS-yes += clpf_test.cc
endif
LIBAOM_TEST_SRCS-yes += simd_cmp_impl.h
LIBAOM_TEST_SRCS-$(HAVE_SSE2) += simd_cmp_sse2.cc