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_idct16x16_1_add_neon| | 11 EXPORT |vpx_idct16x16_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_idct16x16_1_add_neon(int16_t *input, uint8_t *dest, | 18 ;void vpx_idct16x16_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_idct16x16_1_add_neon| PROC | 25 |vpx_idct16x16_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 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 vqmovun.s16 d2, q9 ; clip_pixel | 186 vqmovun.s16 d2, q9 ; clip_pixel |
187 vqmovun.s16 d3, q10 ; clip_pixel | 187 vqmovun.s16 d3, q10 ; clip_pixel |
188 vqmovun.s16 d30, q11 ; clip_pixel | 188 vqmovun.s16 d30, q11 ; clip_pixel |
189 vqmovun.s16 d31, q12 ; clip_pixel | 189 vqmovun.s16 d31, q12 ; clip_pixel |
190 vst1.64 {d2}, [r12], r0 | 190 vst1.64 {d2}, [r12], r0 |
191 vst1.64 {d3}, [r12], r2 | 191 vst1.64 {d3}, [r12], r2 |
192 vst1.64 {d30}, [r12], r0 | 192 vst1.64 {d30}, [r12], r0 |
193 vst1.64 {d31}, [r12], r2 | 193 vst1.64 {d31}, [r12], r2 |
194 | 194 |
195 bx lr | 195 bx lr |
196 ENDP ; |vp9_idct16x16_1_add_neon| | 196 ENDP ; |vpx_idct16x16_1_add_neon| |
197 | 197 |
198 END | 198 END |
OLD | NEW |