diff options
author | Henrik Gramner <gramner@twoorioles.com> | 2020-01-29 16:17:11 +0300 |
---|---|---|
committer | Henrik Gramner <gramner@twoorioles.com> | 2020-02-01 16:17:56 +0300 |
commit | bb178db019da21d62fae8c255675efbd84327195 (patch) | |
tree | 9eef133c2a24b8612947dc92ef990d0f8f2069e7 /src/arm/64 | |
parent | dccc21b742f328060c124463c5d05f76472d758c (diff) |
Rework the CDEF top edge handling
Avoids some pointer chasing and simplifies the DSP code, at the cost
of making the initialization a little bit more complicated.
Also reduces memory usage by a small amount due to properly sizing
the buffers instead of always allocating enough space for 4:4:4.
Diffstat (limited to 'src/arm/64')
-rw-r--r-- | src/arm/64/cdef.S | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/arm/64/cdef.S b/src/arm/64/cdef.S index c67af05..db3a772 100644 --- a/src/arm/64/cdef.S +++ b/src/arm/64/cdef.S @@ -139,7 +139,7 @@ // void dav1d_cdef_paddingX_neon(uint16_t *tmp, const pixel *src, // ptrdiff_t src_stride, const pixel (*left)[2], -// /*const*/ pixel *const top[2], int h, +// const pixel *const top, int h, // enum CdefEdgeFlags edges); .macro padding_func w, stride, rn, rw @@ -157,9 +157,8 @@ function cdef_padding\w\()_neon, export=1 b 3f 1: // CDEF_HAVE_TOP - ldr x8, [x4] - ldr x9, [x4, #8] - pad_top_bottom x8, x9, \w, \stride, \rn, \rw, 0 + add x9, x4, x2 + pad_top_bottom x4, x9, \w, \stride, \rn, \rw, 0 // Middle section 3: |