OLD | NEW |
1 ; | 1 ; |
2 ; Copyright (c) 2013 The WebM project authors. All Rights Reserved. | 2 ; Copyright (c) 2013 The WebM project authors. All Rights Reserved. |
3 ; | 3 ; |
4 ; Use of this source code is governed by a BSD-style license and patent | 4 ; Use of this source code is governed by a BSD-style license and patent |
5 ; grant that can be found in the LICENSE file in the root of the source | 5 ; grant that can be found in the LICENSE file in the root of the source |
6 ; tree. All contributing project authors may be found in the AUTHORS | 6 ; tree. All contributing project authors may be found in the AUTHORS |
7 ; file in the root of the source tree. | 7 ; file in the root of the source tree. |
8 ; | 8 ; |
9 | 9 |
10 | 10 |
11 EXPORT |vp9_idct4x4_1_add_neon| | 11 EXPORT |vpx_idct4x4_1_add_neon| |
12 ARM | 12 ARM |
13 REQUIRE8 | 13 REQUIRE8 |
14 PRESERVE8 | 14 PRESERVE8 |
15 | 15 |
16 AREA ||.text||, CODE, READONLY, ALIGN=2 | 16 AREA ||.text||, CODE, READONLY, ALIGN=2 |
17 | 17 |
18 ;void vp9_idct4x4_1_add_neon(int16_t *input, uint8_t *dest, | 18 ;void vpx_idct4x4_1_add_neon(int16_t *input, uint8_t *dest, |
19 ; int dest_stride) | 19 ; int dest_stride) |
20 ; | 20 ; |
21 ; r0 int16_t input | 21 ; r0 int16_t input |
22 ; r1 uint8_t *dest | 22 ; r1 uint8_t *dest |
23 ; r2 int dest_stride) | 23 ; r2 int dest_stride) |
24 | 24 |
25 |vp9_idct4x4_1_add_neon| PROC | 25 |vpx_idct4x4_1_add_neon| PROC |
26 ldrsh r0, [r0] | 26 ldrsh r0, [r0] |
27 | 27 |
28 ; generate cospi_16_64 = 11585 | 28 ; generate cospi_16_64 = 11585 |
29 mov r12, #0x2d00 | 29 mov r12, #0x2d00 |
30 add r12, #0x41 | 30 add r12, #0x41 |
31 | 31 |
32 ; out = dct_const_round_shift(input[0] * cospi_16_64) | 32 ; out = dct_const_round_shift(input[0] * cospi_16_64) |
33 mul r0, r0, r12 ; input[0] * cospi_16_64 | 33 mul r0, r0, r12 ; input[0] * cospi_16_64 |
34 add r0, r0, #0x2000 ; +(1 << ((DCT_CONST_BITS) - 1)) | 34 add r0, r0, #0x2000 ; +(1 << ((DCT_CONST_BITS) - 1)) |
35 asr r0, r0, #14 ; >> DCT_CONST_BITS | 35 asr r0, r0, #14 ; >> DCT_CONST_BITS |
(...skipping 20 matching lines...) Expand all Loading... |
56 | 56 |
57 vqmovun.s16 d6, q8 ; clip_pixel | 57 vqmovun.s16 d6, q8 ; clip_pixel |
58 vqmovun.s16 d7, q9 | 58 vqmovun.s16 d7, q9 |
59 | 59 |
60 vst1.32 {d6[0]}, [r12], r2 | 60 vst1.32 {d6[0]}, [r12], r2 |
61 vst1.32 {d6[1]}, [r12], r2 | 61 vst1.32 {d6[1]}, [r12], r2 |
62 vst1.32 {d7[0]}, [r12], r2 | 62 vst1.32 {d7[0]}, [r12], r2 |
63 vst1.32 {d7[1]}, [r12] | 63 vst1.32 {d7[1]}, [r12] |
64 | 64 |
65 bx lr | 65 bx lr |
66 ENDP ; |vp9_idct4x4_1_add_neon| | 66 ENDP ; |vpx_idct4x4_1_add_neon| |
67 | 67 |
68 END | 68 END |
OLD | NEW |