Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src/arm/64
diff options
context:
space:
mode:
authorHenrik Gramner <gramner@twoorioles.com>2020-01-29 16:17:11 +0300
committerHenrik Gramner <gramner@twoorioles.com>2020-02-01 16:17:56 +0300
commitbb178db019da21d62fae8c255675efbd84327195 (patch)
tree9eef133c2a24b8612947dc92ef990d0f8f2069e7 /src/arm/64
parentdccc21b742f328060c124463c5d05f76472d758c (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.S7
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: