aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan E. Egge <unlord@xiph.org>2024-02-25 16:14:59 +0000
committerNathan E. Egge <unlord@xiph.org>2024-03-08 12:45:00 +0000
commit61d16e07ac05ef5686a133b44b04aba7847f04bb (patch)
tree596cfbb6bc69fe4dc99a39fd32a49307f1dd0a05
parent485413b059ccaf3ecc35cb9c3fda2d84bdd4aff9 (diff)
downloadlibdav1d-61d16e07ac05ef5686a133b44b04aba7847f04bb.tar.gz
arm32/itx: Trim dav1d_inv_wht4_1d_c, saves 68 bytes
-rw-r--r--src/itx_1d.c5
-rw-r--r--src/itx_tmpl.c10
2 files changed, 12 insertions, 3 deletions
diff --git a/src/itx_1d.c b/src/itx_1d.c
index 037c258..8f75c65 100644
--- a/src/itx_1d.c
+++ b/src/itx_1d.c
@@ -1016,7 +1016,10 @@ void dav1d_inv_identity32_1d_c(int32_t *const c, const ptrdiff_t stride,
c[stride * i] *= 4;
}
-#if !(HAVE_ASM && TRIM_DSP_FUNCTIONS && ARCH_AARCH64)
+#if !(HAVE_ASM && TRIM_DSP_FUNCTIONS && ( \
+ ARCH_AARCH64 || \
+ (ARCH_ARM && (defined(__ARM_NEON) || defined(__APPLE__) || defined(_WIN32))) \
+))
void dav1d_inv_wht4_1d_c(int32_t *const c, const ptrdiff_t stride) {
assert(stride > 0);
const int in0 = c[0 * stride], in1 = c[1 * stride];
diff --git a/src/itx_tmpl.c b/src/itx_tmpl.c
index 5eb76bf..a226223 100644
--- a/src/itx_tmpl.c
+++ b/src/itx_tmpl.c
@@ -159,7 +159,10 @@ inv_txfm_fn64(64, 16, 2)
inv_txfm_fn64(64, 32, 1)
inv_txfm_fn64(64, 64, 2)
-#if !(HAVE_ASM && TRIM_DSP_FUNCTIONS && ARCH_AARCH64)
+#if !(HAVE_ASM && TRIM_DSP_FUNCTIONS && ( \
+ ARCH_AARCH64 || \
+ (ARCH_ARM && (defined(__ARM_NEON) || defined(__APPLE__) || defined(_WIN32))) \
+))
static void inv_txfm_add_wht_wht_4x4_c(pixel *dst, const ptrdiff_t stride,
coef *const coeff, const int eob
HIGHBD_DECL_SUFFIX)
@@ -238,7 +241,10 @@ COLD void bitfn(dav1d_itx_dsp_init)(Dav1dInvTxfmDSPContext *const c, int bpc) {
c->itxfm_add[pfx##TX_##w##X##h][V_ADST] = \
inv_txfm_add_identity_adst_##w##x##h##_c; \
-#if !(HAVE_ASM && TRIM_DSP_FUNCTIONS && ARCH_AARCH64)
+#if !(HAVE_ASM && TRIM_DSP_FUNCTIONS && ( \
+ ARCH_AARCH64 || \
+ (ARCH_ARM && (defined(__ARM_NEON) || defined(__APPLE__) || defined(_WIN32))) \
+))
c->itxfm_add[TX_4X4][WHT_WHT] = inv_txfm_add_wht_wht_4x4_c;
#endif
assign_itx_all_fn84( 4, 4, );