[x265] [PATCH 10/10] AArch64: Clean up interp function definitions
Gerda Zsejke More
gerdazsejke.more at arm.com
Fri Feb 21 16:08:55 UTC 2025
All LUMA and CHROMA block sizes are supported now for HBD, delete
preprocessor directives.
---
source/common/aarch64/filter-prim.cpp | 165 --------------------------
1 file changed, 165 deletions(-)
diff --git a/source/common/aarch64/filter-prim.cpp b/source/common/aarch64/filter-prim.cpp
index 88fbe89c9..e82cf9e36 100644
--- a/source/common/aarch64/filter-prim.cpp
+++ b/source/common/aarch64/filter-prim.cpp
@@ -4850,12 +4850,10 @@ void filterPixelToShort_neon(const pixel *src, intptr_t srcStride, int16_t *dst,
void setupFilterPrimitives_neon(EncoderPrimitives &p)
{
-#if !HIGH_BIT_DEPTH
LUMA(4, 4);
LUMA(4, 8);
LUMA(4, 16);
LUMA(12, 16);
-#endif
LUMA(8, 4);
LUMA(8, 8);
LUMA(8, 16);
@@ -4878,7 +4876,6 @@ void setupFilterPrimitives_neon(EncoderPrimitives &p)
LUMA(64, 48);
LUMA(64, 64);
-#if !HIGH_BIT_DEPTH
CHROMA_420(2, 4);
CHROMA_420(2, 8);
CHROMA_420(4, 2);
@@ -4887,7 +4884,6 @@ void setupFilterPrimitives_neon(EncoderPrimitives &p)
CHROMA_420(4, 16);
CHROMA_420(6, 8);
CHROMA_420(12, 16);
-#endif
CHROMA_420(8, 2);
CHROMA_420(8, 4);
CHROMA_420(8, 6);
@@ -4905,7 +4901,6 @@ void setupFilterPrimitives_neon(EncoderPrimitives &p)
CHROMA_420(32, 24);
CHROMA_420(32, 32);
-#if !HIGH_BIT_DEPTH
CHROMA_422(2, 8);
CHROMA_422(2, 16);
CHROMA_422(4, 4);
@@ -4914,7 +4909,6 @@ void setupFilterPrimitives_neon(EncoderPrimitives &p)
CHROMA_422(4, 32);
CHROMA_422(6, 16);
CHROMA_422(12, 32);
-#endif
CHROMA_422(8, 4);
CHROMA_422(8, 8);
CHROMA_422(8, 12);
@@ -4932,12 +4926,10 @@ void setupFilterPrimitives_neon(EncoderPrimitives &p)
CHROMA_422(32, 48);
CHROMA_422(32, 64);
-#if !HIGH_BIT_DEPTH
CHROMA_444(4, 4);
CHROMA_444(4, 8);
CHROMA_444(4, 16);
CHROMA_444(12, 16);
-#endif
CHROMA_444(8, 4);
CHROMA_444(8, 8);
CHROMA_444(8, 16);
@@ -4959,163 +4951,6 @@ void setupFilterPrimitives_neon(EncoderPrimitives &p)
CHROMA_444(64, 32);
CHROMA_444(64, 48);
CHROMA_444(64, 64);
-
-#if HIGH_BIT_DEPTH
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x4].filter_hpp = interp_horiz_pp_neon<4, 2, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x8].filter_hpp = interp_horiz_pp_neon<4, 2, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].filter_hpp = interp_horiz_pp_neon<4, 4, 2>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].filter_hpp = interp_horiz_pp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].filter_hpp = interp_horiz_pp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].filter_hpp = interp_horiz_pp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].filter_hpp = interp_horiz_pp_neon<4, 6, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].filter_hpp = interp_horiz_pp_neon<4, 12, 16>;
-
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_hpp = interp_horiz_pp_neon<4, 2, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_hpp = interp_horiz_pp_neon<4, 2, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_hpp = interp_horiz_pp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_hpp = interp_horiz_pp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_hpp = interp_horiz_pp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].filter_hpp = interp_horiz_pp_neon<4, 4, 32>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_hpp = interp_horiz_pp_neon<4, 6, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].filter_hpp = interp_horiz_pp_neon<4, 12, 32>;
-
- p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_hpp = interp_horiz_pp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_hpp = interp_horiz_pp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_hpp = interp_horiz_pp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_hpp = interp_horiz_pp_neon<4, 12, 16>;
-
- p.pu[LUMA_4x4].luma_hpp = interp_horiz_pp_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_hpp = interp_horiz_pp_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_hpp = interp_horiz_pp_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_hpp = interp_horiz_pp_neon<8, 12, 16>;
-
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x4].filter_hps = interp_horiz_ps_neon<4, 2, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x8].filter_hps = interp_horiz_ps_neon<4, 2, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].filter_hps = interp_horiz_ps_neon<4, 4, 2>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].filter_hps = interp_horiz_ps_neon<4, 4, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].filter_hps = interp_horiz_ps_neon<4, 4, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].filter_hps = interp_horiz_ps_neon<4, 4, 16>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].filter_hps = interp_horiz_ps_neon<4, 6, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].filter_hps = interp_horiz_ps_neon<4, 12, 16>;
-
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_hps = interp_horiz_ps_neon<4, 2, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_hps = interp_horiz_ps_neon<4, 2, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_hps = interp_horiz_ps_neon<4, 4, 4>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_hps = interp_horiz_ps_neon<4, 4, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_hps = interp_horiz_ps_neon<4, 4, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].filter_hps = interp_horiz_ps_neon<4, 4, 32>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_hps = interp_horiz_ps_neon<4, 6, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].filter_hps = interp_horiz_ps_neon<4, 12, 32>;
-
- p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_hps = interp_horiz_ps_neon<4, 4, 4>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_hps = interp_horiz_ps_neon<4, 4, 8>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_hps = interp_horiz_ps_neon<4, 4, 16>;
- p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_hps = interp_horiz_ps_neon<4, 12, 16>;
-
- p.pu[LUMA_4x4].luma_hps = interp_horiz_ps_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_hps = interp_horiz_ps_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_hps = interp_horiz_ps_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_hps = interp_horiz_ps_neon<8, 12, 16>;
-
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x4].filter_vpp = interp_vert_pp_neon<4, 2, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x8].filter_vpp = interp_vert_pp_neon<4, 2, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].filter_vpp = interp_vert_pp_neon<4, 4, 2>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].filter_vpp = interp_vert_pp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].filter_vpp = interp_vert_pp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].filter_vpp = interp_vert_pp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].filter_vpp = interp_vert_pp_neon<4, 6, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].filter_vpp = interp_vert_pp_neon<4, 12, 16>;
-
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_vpp = interp_vert_pp_neon<4, 2, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_vpp = interp_vert_pp_neon<4, 2, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_vpp = interp_vert_pp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_vpp = interp_vert_pp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_vpp = interp_vert_pp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].filter_vpp = interp_vert_pp_neon<4, 4, 32>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_vpp = interp_vert_pp_neon<4, 6, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].filter_vpp = interp_vert_pp_neon<4, 12, 32>;
-
- p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_vpp = interp_vert_pp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_vpp = interp_vert_pp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_vpp = interp_vert_pp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_vpp = interp_vert_pp_neon<4, 12, 16>;
-
- p.pu[LUMA_4x4].luma_vpp = interp_vert_pp_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_vpp = interp_vert_pp_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_vpp = interp_vert_pp_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_vpp = interp_vert_pp_neon<8, 12, 16>;
-
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x4].filter_vps = interp_vert_ps_neon<4, 2, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x8].filter_vps = interp_vert_ps_neon<4, 2, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].filter_vps = interp_vert_ps_neon<4, 4, 2>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].filter_vps = interp_vert_ps_neon<4, 4, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].filter_vps = interp_vert_ps_neon<4, 4, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].filter_vps = interp_vert_ps_neon<4, 4, 16>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].filter_vps = interp_vert_ps_neon<4, 6, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].filter_vps = interp_vert_ps_neon<4, 12, 16>;
-
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_vps = interp_vert_ps_neon<4, 2, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_vps = interp_vert_ps_neon<4, 2, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_vps = interp_vert_ps_neon<4, 4, 4>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_vps = interp_vert_ps_neon<4, 4, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_vps = interp_vert_ps_neon<4, 4, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].filter_vps = interp_vert_ps_neon<4, 4, 32>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_vps = interp_vert_ps_neon<4, 6, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].filter_vps = interp_vert_ps_neon<4, 12, 32>;
-
- p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_vps = interp_vert_ps_neon<4, 4, 4>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_vps = interp_vert_ps_neon<4, 4, 8>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_vps = interp_vert_ps_neon<4, 4, 16>;
- p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_vps = interp_vert_ps_neon<4, 12, 16>;
-
- p.pu[LUMA_4x4].luma_vps = interp_vert_ps_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_vps = interp_vert_ps_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_vps = interp_vert_ps_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_vps = interp_vert_ps_neon<8, 12, 16>;
-
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_vsp = interp_vert_sp_neon<4, 2, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_vsp = interp_vert_sp_neon<4, 2, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_vsp = interp_vert_sp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_vsp = interp_vert_sp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_vsp = interp_vert_sp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].filter_vsp = interp_vert_sp_neon<4, 4, 32>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_vsp = interp_vert_sp_neon<4, 6, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].filter_vsp = interp_vert_sp_neon<4, 12, 32>;
-
- p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_vsp = interp_vert_sp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_vsp = interp_vert_sp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_vsp = interp_vert_sp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_vsp = interp_vert_sp_neon<4, 12, 16>;
-
- p.pu[LUMA_4x4].luma_vsp = interp_vert_sp_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_vsp = interp_vert_sp_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_vsp = interp_vert_sp_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_vsp = interp_vert_sp_neon<8, 12, 16>;
-
- p.pu[LUMA_4x4].luma_hvpp = interp_hv_pp_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_hvpp = interp_hv_pp_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_hvpp = interp_hv_pp_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_hvpp = interp_hv_pp_neon<8, 12, 16>;
-
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_vss = interp_vert_ss_neon<4, 2, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_vss = interp_vert_ss_neon<4, 2, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_vss = interp_vert_ss_neon<4, 4, 4>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_vss = interp_vert_ss_neon<4, 4, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_vss = interp_vert_ss_neon<4, 4, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].filter_vss = interp_vert_ss_neon<4, 4, 32>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_vss = interp_vert_ss_neon<4, 6, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].filter_vss = interp_vert_ss_neon<4, 12, 32>;
-
- p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_vss = interp_vert_ss_neon<4, 4, 4>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_vss = interp_vert_ss_neon<4, 4, 8>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_vss = interp_vert_ss_neon<4, 4, 16>;
- p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_vss = interp_vert_ss_neon<4, 12, 16>;
-
- p.pu[LUMA_4x4].luma_vss = interp_vert_ss_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_vss = interp_vert_ss_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_vss = interp_vert_ss_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_vss = interp_vert_ss_neon<8, 12, 16>;
-#endif // HIGH_BIT_DEPTH
}
};
--
2.39.5 (Apple Git-154)
-------------- next part --------------
>From b89df8c8e00579756a6fdbdceb1bd3568c6e7bf1 Mon Sep 17 00:00:00 2001
Message-Id: <b89df8c8e00579756a6fdbdceb1bd3568c6e7bf1.1740153395.git.gerdazsejke.more at arm.com>
In-Reply-To: <cover.1740153395.git.gerdazsejke.more at arm.com>
References: <cover.1740153395.git.gerdazsejke.more at arm.com>
From: Gerda Zsejke More <gerdazsejke.more at arm.com>
Date: Thu, 20 Feb 2025 19:37:07 +0100
Subject: [PATCH 10/10] AArch64: Clean up interp function definitions
All LUMA and CHROMA block sizes are supported now for HBD, delete
preprocessor directives.
---
source/common/aarch64/filter-prim.cpp | 165 --------------------------
1 file changed, 165 deletions(-)
diff --git a/source/common/aarch64/filter-prim.cpp b/source/common/aarch64/filter-prim.cpp
index 88fbe89c9..e82cf9e36 100644
--- a/source/common/aarch64/filter-prim.cpp
+++ b/source/common/aarch64/filter-prim.cpp
@@ -4850,12 +4850,10 @@ void filterPixelToShort_neon(const pixel *src, intptr_t srcStride, int16_t *dst,
void setupFilterPrimitives_neon(EncoderPrimitives &p)
{
-#if !HIGH_BIT_DEPTH
LUMA(4, 4);
LUMA(4, 8);
LUMA(4, 16);
LUMA(12, 16);
-#endif
LUMA(8, 4);
LUMA(8, 8);
LUMA(8, 16);
@@ -4878,7 +4876,6 @@ void setupFilterPrimitives_neon(EncoderPrimitives &p)
LUMA(64, 48);
LUMA(64, 64);
-#if !HIGH_BIT_DEPTH
CHROMA_420(2, 4);
CHROMA_420(2, 8);
CHROMA_420(4, 2);
@@ -4887,7 +4884,6 @@ void setupFilterPrimitives_neon(EncoderPrimitives &p)
CHROMA_420(4, 16);
CHROMA_420(6, 8);
CHROMA_420(12, 16);
-#endif
CHROMA_420(8, 2);
CHROMA_420(8, 4);
CHROMA_420(8, 6);
@@ -4905,7 +4901,6 @@ void setupFilterPrimitives_neon(EncoderPrimitives &p)
CHROMA_420(32, 24);
CHROMA_420(32, 32);
-#if !HIGH_BIT_DEPTH
CHROMA_422(2, 8);
CHROMA_422(2, 16);
CHROMA_422(4, 4);
@@ -4914,7 +4909,6 @@ void setupFilterPrimitives_neon(EncoderPrimitives &p)
CHROMA_422(4, 32);
CHROMA_422(6, 16);
CHROMA_422(12, 32);
-#endif
CHROMA_422(8, 4);
CHROMA_422(8, 8);
CHROMA_422(8, 12);
@@ -4932,12 +4926,10 @@ void setupFilterPrimitives_neon(EncoderPrimitives &p)
CHROMA_422(32, 48);
CHROMA_422(32, 64);
-#if !HIGH_BIT_DEPTH
CHROMA_444(4, 4);
CHROMA_444(4, 8);
CHROMA_444(4, 16);
CHROMA_444(12, 16);
-#endif
CHROMA_444(8, 4);
CHROMA_444(8, 8);
CHROMA_444(8, 16);
@@ -4959,163 +4951,6 @@ void setupFilterPrimitives_neon(EncoderPrimitives &p)
CHROMA_444(64, 32);
CHROMA_444(64, 48);
CHROMA_444(64, 64);
-
-#if HIGH_BIT_DEPTH
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x4].filter_hpp = interp_horiz_pp_neon<4, 2, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x8].filter_hpp = interp_horiz_pp_neon<4, 2, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].filter_hpp = interp_horiz_pp_neon<4, 4, 2>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].filter_hpp = interp_horiz_pp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].filter_hpp = interp_horiz_pp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].filter_hpp = interp_horiz_pp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].filter_hpp = interp_horiz_pp_neon<4, 6, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].filter_hpp = interp_horiz_pp_neon<4, 12, 16>;
-
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_hpp = interp_horiz_pp_neon<4, 2, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_hpp = interp_horiz_pp_neon<4, 2, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_hpp = interp_horiz_pp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_hpp = interp_horiz_pp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_hpp = interp_horiz_pp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].filter_hpp = interp_horiz_pp_neon<4, 4, 32>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_hpp = interp_horiz_pp_neon<4, 6, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].filter_hpp = interp_horiz_pp_neon<4, 12, 32>;
-
- p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_hpp = interp_horiz_pp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_hpp = interp_horiz_pp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_hpp = interp_horiz_pp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_hpp = interp_horiz_pp_neon<4, 12, 16>;
-
- p.pu[LUMA_4x4].luma_hpp = interp_horiz_pp_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_hpp = interp_horiz_pp_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_hpp = interp_horiz_pp_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_hpp = interp_horiz_pp_neon<8, 12, 16>;
-
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x4].filter_hps = interp_horiz_ps_neon<4, 2, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x8].filter_hps = interp_horiz_ps_neon<4, 2, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].filter_hps = interp_horiz_ps_neon<4, 4, 2>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].filter_hps = interp_horiz_ps_neon<4, 4, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].filter_hps = interp_horiz_ps_neon<4, 4, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].filter_hps = interp_horiz_ps_neon<4, 4, 16>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].filter_hps = interp_horiz_ps_neon<4, 6, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].filter_hps = interp_horiz_ps_neon<4, 12, 16>;
-
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_hps = interp_horiz_ps_neon<4, 2, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_hps = interp_horiz_ps_neon<4, 2, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_hps = interp_horiz_ps_neon<4, 4, 4>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_hps = interp_horiz_ps_neon<4, 4, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_hps = interp_horiz_ps_neon<4, 4, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].filter_hps = interp_horiz_ps_neon<4, 4, 32>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_hps = interp_horiz_ps_neon<4, 6, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].filter_hps = interp_horiz_ps_neon<4, 12, 32>;
-
- p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_hps = interp_horiz_ps_neon<4, 4, 4>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_hps = interp_horiz_ps_neon<4, 4, 8>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_hps = interp_horiz_ps_neon<4, 4, 16>;
- p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_hps = interp_horiz_ps_neon<4, 12, 16>;
-
- p.pu[LUMA_4x4].luma_hps = interp_horiz_ps_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_hps = interp_horiz_ps_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_hps = interp_horiz_ps_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_hps = interp_horiz_ps_neon<8, 12, 16>;
-
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x4].filter_vpp = interp_vert_pp_neon<4, 2, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x8].filter_vpp = interp_vert_pp_neon<4, 2, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].filter_vpp = interp_vert_pp_neon<4, 4, 2>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].filter_vpp = interp_vert_pp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].filter_vpp = interp_vert_pp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].filter_vpp = interp_vert_pp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].filter_vpp = interp_vert_pp_neon<4, 6, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].filter_vpp = interp_vert_pp_neon<4, 12, 16>;
-
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_vpp = interp_vert_pp_neon<4, 2, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_vpp = interp_vert_pp_neon<4, 2, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_vpp = interp_vert_pp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_vpp = interp_vert_pp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_vpp = interp_vert_pp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].filter_vpp = interp_vert_pp_neon<4, 4, 32>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_vpp = interp_vert_pp_neon<4, 6, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].filter_vpp = interp_vert_pp_neon<4, 12, 32>;
-
- p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_vpp = interp_vert_pp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_vpp = interp_vert_pp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_vpp = interp_vert_pp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_vpp = interp_vert_pp_neon<4, 12, 16>;
-
- p.pu[LUMA_4x4].luma_vpp = interp_vert_pp_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_vpp = interp_vert_pp_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_vpp = interp_vert_pp_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_vpp = interp_vert_pp_neon<8, 12, 16>;
-
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x4].filter_vps = interp_vert_ps_neon<4, 2, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_2x8].filter_vps = interp_vert_ps_neon<4, 2, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].filter_vps = interp_vert_ps_neon<4, 4, 2>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].filter_vps = interp_vert_ps_neon<4, 4, 4>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].filter_vps = interp_vert_ps_neon<4, 4, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].filter_vps = interp_vert_ps_neon<4, 4, 16>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].filter_vps = interp_vert_ps_neon<4, 6, 8>;
- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].filter_vps = interp_vert_ps_neon<4, 12, 16>;
-
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_vps = interp_vert_ps_neon<4, 2, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_vps = interp_vert_ps_neon<4, 2, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_vps = interp_vert_ps_neon<4, 4, 4>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_vps = interp_vert_ps_neon<4, 4, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_vps = interp_vert_ps_neon<4, 4, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].filter_vps = interp_vert_ps_neon<4, 4, 32>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_vps = interp_vert_ps_neon<4, 6, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].filter_vps = interp_vert_ps_neon<4, 12, 32>;
-
- p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_vps = interp_vert_ps_neon<4, 4, 4>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_vps = interp_vert_ps_neon<4, 4, 8>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_vps = interp_vert_ps_neon<4, 4, 16>;
- p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_vps = interp_vert_ps_neon<4, 12, 16>;
-
- p.pu[LUMA_4x4].luma_vps = interp_vert_ps_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_vps = interp_vert_ps_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_vps = interp_vert_ps_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_vps = interp_vert_ps_neon<8, 12, 16>;
-
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_vsp = interp_vert_sp_neon<4, 2, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_vsp = interp_vert_sp_neon<4, 2, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_vsp = interp_vert_sp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_vsp = interp_vert_sp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_vsp = interp_vert_sp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].filter_vsp = interp_vert_sp_neon<4, 4, 32>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_vsp = interp_vert_sp_neon<4, 6, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].filter_vsp = interp_vert_sp_neon<4, 12, 32>;
-
- p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_vsp = interp_vert_sp_neon<4, 4, 4>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_vsp = interp_vert_sp_neon<4, 4, 8>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_vsp = interp_vert_sp_neon<4, 4, 16>;
- p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_vsp = interp_vert_sp_neon<4, 12, 16>;
-
- p.pu[LUMA_4x4].luma_vsp = interp_vert_sp_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_vsp = interp_vert_sp_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_vsp = interp_vert_sp_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_vsp = interp_vert_sp_neon<8, 12, 16>;
-
- p.pu[LUMA_4x4].luma_hvpp = interp_hv_pp_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_hvpp = interp_hv_pp_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_hvpp = interp_hv_pp_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_hvpp = interp_hv_pp_neon<8, 12, 16>;
-
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x8].filter_vss = interp_vert_ss_neon<4, 2, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_2x16].filter_vss = interp_vert_ss_neon<4, 2, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x4].filter_vss = interp_vert_ss_neon<4, 4, 4>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].filter_vss = interp_vert_ss_neon<4, 4, 8>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].filter_vss = interp_vert_ss_neon<4, 4, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].filter_vss = interp_vert_ss_neon<4, 4, 32>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].filter_vss = interp_vert_ss_neon<4, 6, 16>;
- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].filter_vss = interp_vert_ss_neon<4, 12, 32>;
-
- p.chroma[X265_CSP_I444].pu[LUMA_4x4].filter_vss = interp_vert_ss_neon<4, 4, 4>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x8].filter_vss = interp_vert_ss_neon<4, 4, 8>;
- p.chroma[X265_CSP_I444].pu[LUMA_4x16].filter_vss = interp_vert_ss_neon<4, 4, 16>;
- p.chroma[X265_CSP_I444].pu[LUMA_12x16].filter_vss = interp_vert_ss_neon<4, 12, 16>;
-
- p.pu[LUMA_4x4].luma_vss = interp_vert_ss_neon<8, 4, 4>;
- p.pu[LUMA_4x8].luma_vss = interp_vert_ss_neon<8, 4, 8>;
- p.pu[LUMA_4x16].luma_vss = interp_vert_ss_neon<8, 4, 16>;
- p.pu[LUMA_12x16].luma_vss = interp_vert_ss_neon<8, 12, 16>;
-#endif // HIGH_BIT_DEPTH
}
};
--
2.39.5 (Apple Git-154)
More information about the x265-devel
mailing list