⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sbrqmfsk.s

📁 实现aac编码 解码的源代码!
💻 S
字号:
@ ***** BEGIN LICENSE BLOCK *****  @ Source last modified: $Id: sbrqmfsk.s,v 1.1 2005/04/08 21:59:46 jrecker Exp $ @ @ Portions Copyright (c) 1995-2005 RealNetworks, Inc. All Rights Reserved.  @ @ The contents of this file, and the files included with this file, @ are subject to the current version of the RealNetworks Public @ Source License (the "RPSL") available at @ http://www.helixcommunity.org/content/rpsl unless you have licensed @ the file under the current version of the RealNetworks Community @ Source License (the "RCSL") available at @ http://www.helixcommunity.org/content/rcsl, in which case the RCSL @ will apply. You may also obtain the license terms directly from @ RealNetworks.  You may not use this file except in compliance with @ the RPSL or, if you have a valid RCSL with RealNetworks applicable @ to this file, the RCSL.  Please see the applicable RPSL or RCSL for @ the rights, obligations and limitations governing use of the @ contents of the file. @ @ This file is part of the Helix DNA Technology. RealNetworks is the @ developer and/or licensor of the Original Code and owns the  @ copyrights in the portions it created. @   @ This file, and the files included with this file, is distributed @ and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY @ KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS @ ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES @ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET @ ENJOYMENT OR NON-INFRINGEMENT. @  @ Technology Compatibility Kit Test Suite(s) Location:  @    http://www.helixcommunity.org/content/tck  @  @ Contributor(s):  @   @ ***** END LICENSE BLOCK *****          .text        .code 32        .align@ void QMFSynthesisConv(int *cPtr, int *delay, int dIdx, short *outbuf, int nChans);@   see comments in sbrqmf.c        .global raac_QMFSynthesisConvraac_QMFSynthesisConv:        stmfd   sp!, {r4-r11, r14}        ldr     r9, [r13, #4*9]     @ we saved 9 registers on stack        mov     r5, r2, lsl #7      @ dOff0 = 128*dIdx        subs    r6, r5, #1          @ dOff1 = dOff0 - 1        addlt   r6, r6, #1280       @ if (dOff1 < 0) then dOff1 += 1280        mov     r4, #64SRC_Loop_Start:        ldr     r10, [r0], #4        ldr     r12, [r0], #4        ldr     r11, [r1, r5, lsl #2]        ldr     r14, [r1, r6, lsl #2]        smull   r7, r8, r10, r11        subs    r5, r5, #256        addlt   r5, r5, #1280        smlal   r7, r8, r12, r14        subs    r6, r6, #256        addlt   r6, r6, #1280        ldr     r10, [r0], #4        ldr     r12, [r0], #4        ldr     r11, [r1, r5, lsl #2]        ldr     r14, [r1, r6, lsl #2]        smlal   r7, r8, r10, r11        subs    r5, r5, #256        addlt   r5, r5, #1280        smlal   r7, r8, r12, r14        subs    r6, r6, #256        addlt   r6, r6, #1280        ldr     r10, [r0], #4        ldr     r12, [r0], #4        ldr     r11, [r1, r5, lsl #2]        ldr     r14, [r1, r6, lsl #2]        smlal   r7, r8, r10, r11        subs    r5, r5, #256        addlt   r5, r5, #1280        smlal   r7, r8, r12, r14        subs    r6, r6, #256        addlt   r6, r6, #1280        ldr     r10, [r0], #4        ldr     r12, [r0], #4        ldr     r11, [r1, r5, lsl #2]        ldr     r14, [r1, r6, lsl #2]        smlal   r7, r8, r10, r11        subs    r5, r5, #256        addlt   r5, r5, #1280        smlal   r7, r8, r12, r14        subs    r6, r6, #256        addlt   r6, r6, #1280        ldr     r10, [r0], #4        ldr     r12, [r0], #4        ldr     r11, [r1, r5, lsl #2]        ldr     r14, [r1, r6, lsl #2]        smlal   r7, r8, r10, r11        subs    r5, r5, #256        addlt   r5, r5, #1280        smlal   r7, r8, r12, r14        subs    r6, r6, #256        addlt   r6, r6, #1280        add     r5, r5, #1        sub     r6, r6, #1                add     r8, r8, #0x04        mov     r8, r8, asr #3    @ FBITS_OUT_QMFS        mov     r7, r8, asr #31        cmp     r7, r8, asr #15        eorne   r8, r7, #0x7f00   @ takes 2 instructions for immediate value of 0x7fffffff        eorne   r8, r8, #0x00ff        strh    r8, [r3, #0]        add     r3, r3, r9, lsl #1           subs    r4, r4, #1        bne     SRC_Loop_Start        ldmfd   sp!, {r4-r11, pc}        .end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -