| OLD | NEW |
| 1 /* | 1 /* |
| 2 * ARM NEON optimised MDCT | 2 * ARM NEON optimised MDCT |
| 3 * Copyright (c) 2009 Mans Rullgard <mans@mansr.com> | 3 * Copyright (c) 2009 Mans Rullgard <mans@mansr.com> |
| 4 * | 4 * |
| 5 * This file is part of FFmpeg. | 5 * This file is part of FFmpeg. |
| 6 * | 6 * |
| 7 * FFmpeg is free software; you can redistribute it and/or | 7 * FFmpeg is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Lesser General Public | 8 * modify it under the terms of the GNU Lesser General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2.1 of the License, or (at your option) any later version. | 10 * version 2.1 of the License, or (at your option) any later version. |
| 11 * | 11 * |
| 12 * FFmpeg is distributed in the hope that it will be useful, | 12 * FFmpeg is distributed in the hope that it will be useful, |
| 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 15 * Lesser General Public License for more details. | 15 * Lesser General Public License for more details. |
| 16 * | 16 * |
| 17 * You should have received a copy of the GNU Lesser General Public | 17 * You should have received a copy of the GNU Lesser General Public |
| 18 * License along with FFmpeg; if not, write to the Free Software | 18 * License along with FFmpeg; if not, write to the Free Software |
| 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
| 20 */ | 20 */ |
| 21 | 21 |
| 22 #include "asm.S" | 22 #include "asm.S" |
| 23 | 23 |
| 24 preserve8 |
| 25 |
| 24 .text | 26 .text |
| 25 | 27 |
| 26 #define ff_fft_calc_neon X(ff_fft_calc_neon) | 28 #define ff_fft_calc_neon X(ff_fft_calc_neon) |
| 27 | 29 |
| 28 function ff_imdct_half_neon, export=1 | 30 function ff_imdct_half_neon, export=1 |
| 29 push {r4-r8,lr} | 31 push {r4-r8,lr} |
| 30 | 32 |
| 31 mov r12, #1 | 33 mov r12, #1 |
| 32 ldr lr, [r0, #28] @ mdct_bits | 34 ldr lr, [r0, #28] @ mdct_bits |
| 33 ldr r4, [r0, #32] @ tcos | 35 ldr r4, [r0, #32] @ tcos |
| (...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 vst2.32 {d4,d6}, [r0,:128], r7 | 294 vst2.32 {d4,d6}, [r0,:128], r7 |
| 293 vst2.32 {d5,d7}, [r8,:128]! | 295 vst2.32 {d5,d7}, [r8,:128]! |
| 294 b 1b | 296 b 1b |
| 295 1: | 297 1: |
| 296 vrev64.32 q3, q3 | 298 vrev64.32 q3, q3 |
| 297 vst2.32 {d4,d6}, [r0,:128] | 299 vst2.32 {d4,d6}, [r0,:128] |
| 298 vst2.32 {d5,d7}, [r8,:128] | 300 vst2.32 {d5,d7}, [r8,:128] |
| 299 | 301 |
| 300 pop {r4-r10,pc} | 302 pop {r4-r10,pc} |
| 301 .endfunc | 303 .endfunc |
| OLD | NEW |