diff options
Diffstat (limited to 'config/arm-neon/vpx_dsp/arm/loopfilter_8_neon.asm.S')
-rw-r--r-- | config/arm-neon/vpx_dsp/arm/loopfilter_8_neon.asm.S | 51 |
1 files changed, 23 insertions, 28 deletions
diff --git a/config/arm-neon/vpx_dsp/arm/loopfilter_8_neon.asm.S b/config/arm-neon/vpx_dsp/arm/loopfilter_8_neon.asm.S index f5b67588f..2a413be39 100644 --- a/config/arm-neon/vpx_dsp/arm/loopfilter_8_neon.asm.S +++ b/config/arm-neon/vpx_dsp/arm/loopfilter_8_neon.asm.S @@ -1,6 +1,6 @@ @ This file was created from a .asm file @ using the ads2gas.pl script. - .syntax unified +.syntax unified @ @ Copyright (c) 2013 The WebM project authors. All Rights Reserved. @ @@ -11,18 +11,18 @@ @ be found in the AUTHORS file in the root of the source tree. @ - .global vpx_lpf_horizontal_8_neon - .type vpx_lpf_horizontal_8_neon, function - .global vpx_lpf_horizontal_8_dual_neon - .type vpx_lpf_horizontal_8_dual_neon, function - .global vpx_lpf_vertical_8_neon - .type vpx_lpf_vertical_8_neon, function - .global vpx_lpf_vertical_8_dual_neon - .type vpx_lpf_vertical_8_dual_neon, function - .arm + .global vpx_lpf_horizontal_8_neon + .type vpx_lpf_horizontal_8_neon, function + .global vpx_lpf_horizontal_8_dual_neon + .type vpx_lpf_horizontal_8_dual_neon, function + .global vpx_lpf_vertical_8_neon + .type vpx_lpf_vertical_8_neon, function + .global vpx_lpf_vertical_8_dual_neon + .type vpx_lpf_vertical_8_dual_neon, function + .arm -.text -.p2align 2 + .text + .p2align 2 @ Currently vpx only works on iterations 8 at a time. The vp8 loop filter @ works on 16 iterations at a time. @@ -36,8 +36,7 @@ @ r2 const uint8_t *blimit, @ r3 const uint8_t *limit, @ sp const uint8_t *thresh, -_vpx_lpf_horizontal_8_neon: - vpx_lpf_horizontal_8_neon: @ PROC +vpx_lpf_horizontal_8_neon: @ PROC push {r4-r5, lr} vld1.8 {d0[]}, [r2] @ duplicate *blimit @@ -73,7 +72,7 @@ _vpx_lpf_horizontal_8_neon: pop {r4-r5, pc} - .size vpx_lpf_horizontal_8_neon, .-vpx_lpf_horizontal_8_neon @ ENDP @ |vpx_lpf_horizontal_8_neon| +.size vpx_lpf_horizontal_8_neon, .-vpx_lpf_horizontal_8_neon @ ENDP @ |vpx_lpf_horizontal_8_neon| @void vpx_lpf_horizontal_8_dual_neon(uint8_t *s, @ int p, @@ -91,8 +90,7 @@ _vpx_lpf_horizontal_8_neon: @ sp + 4 const uint8_t *blimit1, @ sp + 8 const uint8_t *limit1, @ sp + 12 const uint8_t *thresh1, -_vpx_lpf_horizontal_8_dual_neon: - vpx_lpf_horizontal_8_dual_neon: @ PROC +vpx_lpf_horizontal_8_dual_neon: @ PROC push {r0-r1, lr} ldr lr, [sp, #12] push {lr} @ thresh0 @@ -106,7 +104,7 @@ _vpx_lpf_horizontal_8_dual_neon: pop {r0-r1, lr} add r0, #8 @ s + 8 b vpx_lpf_horizontal_8_neon - .size vpx_lpf_horizontal_8_dual_neon, .-vpx_lpf_horizontal_8_dual_neon @ ENDP @ |vpx_lpf_horizontal_8_dual_neon| +.size vpx_lpf_horizontal_8_dual_neon, .-vpx_lpf_horizontal_8_dual_neon @ ENDP @ |vpx_lpf_horizontal_8_dual_neon| @ void vpx_lpf_vertical_8_neon(uint8_t *s, @ int pitch, @@ -119,8 +117,7 @@ _vpx_lpf_horizontal_8_dual_neon: @ r2 const uint8_t *blimit, @ r3 const uint8_t *limit, @ sp const uint8_t *thresh, -_vpx_lpf_vertical_8_neon: - vpx_lpf_vertical_8_neon: @ PROC +vpx_lpf_vertical_8_neon: @ PROC push {r4-r5, lr} vld1.8 {d0[]}, [r2] @ duplicate *blimit @@ -182,7 +179,7 @@ _vpx_lpf_vertical_8_neon: vst2.8 {d4[7], d5[7]}, [r3] pop {r4-r5, pc} - .size vpx_lpf_vertical_8_neon, .-vpx_lpf_vertical_8_neon @ ENDP @ |vpx_lpf_vertical_8_neon| +.size vpx_lpf_vertical_8_neon, .-vpx_lpf_vertical_8_neon @ ENDP @ |vpx_lpf_vertical_8_neon| @void vpx_lpf_vertical_8_dual_neon(uint8_t *s, @ int pitch, @@ -200,8 +197,7 @@ _vpx_lpf_vertical_8_neon: @ sp + 4 const uint8_t *blimit1, @ sp + 8 const uint8_t *limit1, @ sp + 12 const uint8_t *thresh1, -_vpx_lpf_vertical_8_dual_neon: - vpx_lpf_vertical_8_dual_neon: @ PROC +vpx_lpf_vertical_8_dual_neon: @ PROC push {r0-r1, lr} ldr lr, [sp, #12] push {lr} @ thresh0 @@ -215,7 +211,7 @@ _vpx_lpf_vertical_8_dual_neon: pop {r0-r1, lr} add r0, r0, r1, lsl #3 @ s + 8 * pitch b vpx_lpf_vertical_8_neon - .size vpx_lpf_vertical_8_dual_neon, .-vpx_lpf_vertical_8_dual_neon @ ENDP @ |vpx_lpf_vertical_8_dual_neon| +.size vpx_lpf_vertical_8_dual_neon, .-vpx_lpf_vertical_8_dual_neon @ ENDP @ |vpx_lpf_vertical_8_dual_neon| @ void vpx_mbloop_filter_neon(); @ This is a helper function for the loopfilters. The invidual functions do the @@ -243,8 +239,7 @@ _vpx_lpf_vertical_8_dual_neon: @ d3 oq0 @ d4 oq1 @ d5 oq2 -_vpx_mbloop_filter_neon: - vpx_mbloop_filter_neon: @ PROC +vpx_mbloop_filter_neon: @ PROC @ filter_mask vabd.u8 d19, d3, d4 @ m1 = abs(p3 - p2) vabd.u8 d20, d4, d5 @ m2 = abs(p2 - p1) @@ -499,6 +494,6 @@ filter_branch_only: bx lr - .size vpx_mbloop_filter_neon, .-vpx_mbloop_filter_neon @ ENDP @ |vpx_mbloop_filter_neon| +.size vpx_mbloop_filter_neon, .-vpx_mbloop_filter_neon @ ENDP @ |vpx_mbloop_filter_neon| - .section .note.GNU-stack,"",%progbits + .section .note.GNU-stack,"",%progbits |