Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 05eaf105 authored by Narayan Kamath's avatar Narayan Kamath Committed by Gerrit Code Review
Browse files

Merge "Mp3decoder: Remove unused arm assembly files"

parents 6ed77c13 bd278f7c
Loading
Loading
Loading
Loading
+0 −210
Original line number Diff line number Diff line
; ------------------------------------------------------------------
; Copyright (C) 1998-2009 PacketVideo
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
;      http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
; express or implied.
; See the License for the specific language governing permissions
; and limitations under the License.
; -------------------------------------------------------------------

;
;
;   Filename: pvmp3_dct_9.s
;
;------------------------------------------------------------------------------
; REVISION HISTORY
;
;
; Who:                                   Date: MM/DD/YYYY
; Description: 
;
;------------------------------------------------------------------------------

  AREA  |.drectve|, DRECTVE

    DCB "-defaultlib:coredll.lib "
    DCB "-defaultlib:corelibc.lib "

  IMPORT pvmp3_mdct_18 ; pvmp3_mdct_18.cpp

;------------------------------------------------------------------------------

  AREA  |.rdata|, DATA, READONLY
  % 4


;------------------------------------------------------------------------------

  AREA  |.text|, CODE, READONLY


;------------------------------------------------------------------------------

 EXPORT |pvmp3_dct_9|

|pvmp3_dct_9| PROC
        stmfd    sp!,{r4-r10,lr}
        ldr      r2, [r0, #0x20]
        ldr      r3, [r0]
        ldr      r12,[r0, #4]
        add      r1,r2,r3
        sub      lr,r2,r3
        ldr      r3,[r0, #0x1c]
        ldr      r4,[r0, #0x18]
        add      r2,r3,r12
        ldr      r5,[r0,#8]
        sub      r3,r3,r12
        add      r12,r4,r5
        sub      r4,r4,r5
        ldr      r5,[r0, #0x14]
        ldr      r7,[r0, #0xc]
        ldr      r9,[r0, #0x10]
        add      r6,r5,r7
        sub      r5,r5,r7
        add      r7,r1,r12
        add      r8,r9,r2
        add      r7,r7,r6
        add      r10,r7,r8
        rsb      r7,r8,r7,asr #1
        str      r7,[r0, #0x18]
        rsb      r2,r9,r2,asr #1
        str      r10,[r0]
        ldr      r11,|cos_2pi_9|
        rsb      r7,r2,#0

        mov      r9,r1,lsl #1
		mov      r1,r9			;;;;;;  !!!!!!
        mov      r8,r7

;    vec[4]  = fxp_mac32_Q32( vec[4], tmp0<<1, cos_2pi_9); 

        smlal    r1,r8,r11,r9
        ldr      r10,|cos_4pi_9|
        ldr      r11,|cos_pi_9|

;    vec[8]  = fxp_mac32_Q32( vec[8], tmp0<<1, cos_4pi_9);

        smlal    r1,r7,r10,r9



;    vec[2]  = fxp_mac32_Q32( vec[2], tmp0<<1, cos_pi_9);

        smlal    r9,r2,r11,r9
        mov      r1,r12,lsl #1
        rsb      r9,r10,#0
        ldr      r11,|cos_5pi_9|

        smlal    r12,r2,r9,r1



;    vec[2]  = fxp_mac32_Q32( vec[2], tmp2<<1, cos_5pi_9);

        ldr      r9,|cos_2pi_9|
        mov      r12,r1			;;;;;;  !!!!!!
        smlal    r12,r8,r11,r1


;    vec[8]  = fxp_mac32_Q32( vec[8], tmp2<<1, cos_2pi_9);

        smlal    r1,r7,r9,r1
        mov      r1,r6,lsl #1
        smlal    r12,r7,r11,r1
        and      r6,r10,r11,asr #14
        smlal    r12,r8,r6,r1
        ldr      r10,|cos_11pi_18|
        add      r12,r11,r6
        smlal    r1,r2,r12,r1
        ldr      r9,|cos_8pi_9|
        str      r2,[r0,#8]
        mov      r1,r5,lsl #1

;    vec[8]  = fxp_mac32_Q32( vec[8], tmp3<<1, cos_8pi_9);

        smull    r2,r6,r9,r1
        str      r7,[r0,#0x20]
        mov      r2,r4,lsl #1
        ldr      r7,|cos_13pi_18|
        smlal    r12,r6,r10,r2

        mov      r3,r3,lsl #1

;    vec[5]  = fxp_mac32_Q32( vec[5], tmp8<<1, cos_13pi_18);

        smlal    r12,r6,r7,r3
        add      r4,r5,r4
        mov      r12,lr,lsl #1
        sub      lr,r4,lr
        ldr      r7,|cos_17pi_18|
        str      r8,[r0, #0x10]
        ldr      r4,|cos_pi_6|

        mov      lr,lr,lsl #1

;    vec[1]  = fxp_mac32_Q32( vec[1], tmp8<<1, cos_17pi_18);

        smlal    r8,r6,r7,r12

;    vec[3]  = fxp_mul32_Q32((tmp5 + tmp6  - tmp8)<<1, cos_pi_6);

        smull    r5,lr,r4,lr
        str      r6,[r0, #4]
        str      lr,[r0, #0xc]


;    vec[5]  = fxp_mul32_Q32(tmp5<<1, cos_17pi_18);
        smull    r5,lr,r7,r1
        rsb      r6,r9,#0
;    vec[5]  = fxp_mac32_Q32( vec[5], tmp6<<1,  cos_7pi_18);
        smlal    r5,lr,r6,r2
;    vec[5]  = fxp_mac32_Q32( vec[5], tmp7<<1,    cos_pi_6);
        smlal    r5,lr,r4,r3
;    vec[5]  = fxp_mac32_Q32( vec[5], tmp8<<1, cos_13pi_18);
        smlal    r5,lr,r10,r12
        str      lr,[r0, #0x14]
        rsb      lr,r10,#0

;    vec[7]  = fxp_mul32_Q32(tmp5<<1, cos_5pi_18);
        smull    r5,r1,lr,r1
;    vec[7]  = fxp_mac32_Q32( vec[7], tmp6<<1, cos_17pi_18);
        smlal    r2,r1,r7,r2
;    vec[7]  = fxp_mac32_Q32( vec[7], tmp7<<1,    cos_pi_6);
        smlal    r3,r1,r4,r3
;    vec[7]  = fxp_mac32_Q32( vec[7], tmp8<<1, cos_11pi_18);
        smlal    r12,r1,r9,r12
        str      r1,[r0, #0x1c]
        ldmfd    sp!,{r4-r10,pc}
|cos_2pi_9|
        DCD      0x620dbe80
|cos_4pi_9|
        DCD      0x163a1a80
|cos_pi_9|
        DCD      0x7847d900
|cos_5pi_9|
        DCD      0x87b82700
|cos_8pi_9|
        DCD      0xd438af00
|cos_11pi_18|
        DCD      0xadb92280
|cos_13pi_18|
        DCD      0x91261480
|cos_17pi_18|
        DCD      0x81f1d200
|cos_pi_6|
        DCD      0x6ed9eb80
        ENDP





        END
+0 −369
Original line number Diff line number Diff line
; ------------------------------------------------------------------
; Copyright (C) 1998-2009 PacketVideo
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
;      http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
; express or implied.
; See the License for the specific language governing permissions
; and limitations under the License.
; -------------------------------------------------------------------

;
;
;   Filename: pvmp3_dct_18.s
;
;------------------------------------------------------------------------------
; REVISION HISTORY
;
;
; Who:                                   Date: MM/DD/YYYY
; Description: 
;
;------------------------------------------------------------------------------

        EXPORT pvmp3_mdct_18

        IMPORT ||Lib$$Request$$armlib|| [WEAK]
        IMPORT ||Lib$$Request$$cpplib|| [WEAK]
        IMPORT pvmp3_dct_9


;------------------------------------------------------------------------------

 AREA |.text|, CODE, READONLY, ALIGN=2


;------------------------------------------------------------------------------

|pvmp3_mdct_18| PROC
        stmfd    sp!,{r4-r10,lr}
        mov      r7,r2
        ldr      r2,table
        mov      r6,r1
        add      r3,r2,#0x24
        add      r12,r3,#0x44
        add      r1,r0,#0x44
        mov      r5,r0

;    for ( i=9; i!=0; i--)
;    {

        mov      r4,#9
Loop_1

;       tmp  = *(pt_vec);
;		tmp1 = *(pt_vec_o);

        ldr      lr,[r0]		;; tmp  == lr
        ldr      r8,[r3],#4		;; tmp1 == r8

;        tmp  = fxp_mul32_Q32( tmp<<1,  *(pt_cos++  ));
;        tmp1 = fxp_mul32_Q27( tmp1, *(pt_cos_x--));

        mov      lr,lr,lsl #1
        smull    r10,lr,r8,lr
        ldr      r8,[r12],#-4
        ldr      r9,[r1]
        subs     r4,r4,#1
        smull    r9,r10,r8,r9
        mov      r8,r9,lsr #27
        add      r8,r8,r10,lsl #5

;        *(pt_vec++)   =   tmp + tmp1 ;
;        *(pt_vec_o--) = fxp_mul32_Q28( (tmp - tmp1), *(pt_cos_split++));

        add      r9,lr,r8
        sub      r8,lr,r8
        ldr      lr,[r2],#4
        str      r9,[r0],#4
        smull    r8,r9,lr,r8
        mov      lr,r8,lsr #28
        add      lr,lr,r9,lsl #4
        str      lr,[r1],#-4
        bne      Loop_1

;		}

        mov      r0,r5			;; r0 = vec
        bl       pvmp3_dct_9
        add      r0,r5,#0x24	;; r0 = &vec[9]
        bl       pvmp3_dct_9

        ldr      r0,[r5,#0x20]
        ldr      r2,[r5,#0x40]
        str      r0,[r5,#0x40]
        ldr      r0,[r5,#0x1c]
        ldr      r3,[r5,#0x38]
        str      r0,[r5,#0x38]
        ldr      r1,[r5,#0x18]
        ldr      r0,[r5,#0x30]
        str      r1,[r5,#0x30]
        ldr      r12,[r5,#0x14]
        ldr      r1,[r5,#0x28]
        str      r12,[r5,#0x28]
        ldr      r12,[r5,#0x10]
        str      r12,[r5,#0x20]
        ldr      r12,[r5,#0xc]
        str      r12,[r5,#0x18]
        ldr      r12,[r5,#8]
        str      r12,[r5,#0x10]
        ldr      r12,[r5,#4]
        str      r12,[r5,#8]
        ldr      r12,[r5,#0x24]
        sub      r12,r12,r1
        str      r12,[r5,#4]
        ldr      r12,[r5,#0x2c]
        sub      r1,r12,r1
        str      r1,[r5,#0xc]
        sub      r1,r12,r0
        str      r1,[r5,#0x14]
        ldr      r1,[r5,#0x34]
        sub      r0,r1,r0
        str      r0,[r5,#0x1c]
        sub      r0,r1,r3
        str      r0,[r5,#0x24]
        ldr      r1,[r5,#0x3c]
        sub      r3,r1,r3
        sub      r1,r1,r2
        str      r1,[r5,#0x34]
        str      r3,[r5,#0x2c]
        ldr      r1,[r5,#0x44]
        sub      r1,r1,r2
        str      r1,[r5,#0x3c]
        ldr      r12,[r5,#0]

Loop_2
        add      r1,r5,r4,lsl #2
        ldr      r2,[r1,#0x28]
        ldr      r3,[r6,r4,lsl #2]
        add      r0,r0,r2
        str      r0,[r1,#0x28]
        ldr      lr,[r7,r4,lsl #2]
        ldr      r1,[r1,#4]
        smlal    r0,r3,lr,r0
        mov      r0,r2
        add      r2,r12,r1
        rsb      r2,r2,#0
        str      r3,[r5,r4,lsl #2]
        str      r2,[r6,r4,lsl #2]
        add      r4,r4,#1
        cmp      r4,#6
        mov      r12,r1

        blt      Loop_2

        ldr      r1,[r5,#0x40]
        ldr      r2,[r6,#0x18]
        add      r3,r0,r1
        str      r3,[r5,#0x40]
        ldr      lr,[r7,r4,lsl #2]
        mov      r3,r3,lsl #1
        ldr      r0,[r5,#0x1c]
        smlal    r3,r2,lr,r3
        add      r3,r12,r0
        str      r2,[r5,#0x18]
        ldr      r2,[r6,#0x1c]
        rsb      r3,r3,#0
        str      r3,[r6,#0x18]
        ldr      r3,[r5,#0x20]
        add      r0,r3,r0
        rsb      r0,r0,#0
        str      r0,[r6,#0x1c]
        ldr      r3,[r5,#0x44]
        ldr      r0,[r6,#0x20]
        add      r3,r3,r1
        mov      r1,r2
        ldr      r10,[r7,#0x1c]
        mov      r2,r3,lsl #1
        smlal    r12,r1,r10,r2
        str      r1,[r5,#0x1c]
        ldr      r1,[r5,#0x20]
        ldr      r3,[r5,#0x24]
        add      r1,r1,r3
        rsb      r1,r1,#0
        str      r1,[r6,#0x20]
        ldr      r1,[r5,#0x44]
        ldr      r3,[r7,#0x20]
        mov      r1,r1,lsl #1
        smlal    r12,r0,r3,r1
        ldr      lr,[r7,#0x24]
        ldr      r3,[r6,#0x24]
        str      r0,[r5,#0x20]
        smlal    r1,r3,lr,r1
        ldr      r0,[r6,#0x40]
        ldr      r12,[r6,#0x44]
        str      r3,[r5,#0x24]
        ldr      r1,[r5,#0x28]
        ldr      r3,[r7,#0x44]
        mov      r1,r1,lsl #1
        smlal    r1,r12,r3,r1
        ldr      r1,[r5,#0x40]
        str      r12,[r5,#0x44]
        rsb      r8,r1,#0
        str      r8,[r5,#0x28]
        ldr      r1,[r5,#0x2c]
        ldr      r3,[r7,#0x40]
        mov      r1,r1,lsl #1
        smlal    r1,r0,r3,r1
        str      r0,[r5,#0x40]
        ldr      r0,[r5,#0x3c]
        ldr      r1,[r6,#0x38]
        ldr      r3,[r6,#0x3c]
        rsb      r9,r0,#0
        str      r9,[r5,#0x2c]
        ldr      r0,[r5,#0x30]
        ldr      r12,[r7,#0x3c]
        mov      r0,r0,lsl #1
        smlal    r0,r3,r12,r0
        str      r3,[r5,#0x3c]
        ldr      r0,[r5,#0x38]
        rsb      r0,r0,#0
        str      r0,[r5,#0x30]
        ldr      r3,[r5,#0x34]
        ldr      r12,[r7,#0x38]
        mov      r3,r3,lsl #1
        smlal    r3,r1,r12,r3
        mov      r0,r0,lsl #1
        str      r1,[r5,#0x38]
        ldr      r4,[r7,#0x34]
        ldr      r1,[r6,#0x34]
        ldr      r3,[r6,#0x30]
        smlal    r0,r1,r4,r0
        ldr      r12,[r6,#0x2c]
        ldr      lr,[r6,#0x28]
        str      r1,[r5,#0x34]
        ldr      r1,[r7,#0x30]
        mov      r0,r9,lsl #1
        smlal    r0,r3,r1,r0
        mov      r0,r8,lsl #1
        ldr      r1,[r7,#0x2c]
        str      r3,[r5,#0x30]
        smlal    r0,r12,r1,r0
        ldr      r0,[r7,#0x28]
        str      r12,[r5,#0x2c]
        smlal    r2,lr,r0,r2
        str      lr,[r5,#0x28]
        ldr      r1,[r6,#4]
        ldr      r12,[r7,#0x48]
        mov      r2,r1,lsl #1
        ldr      r1,[r6,#0x20]
        ldr      r0,[r6]
        mov      r1,r1,lsl #1
        smull    r4,lr,r12,r1
        ldr      r3,[r6,#0x1c]
        str      lr,[r6]
        ldr      r12,[r7,#0x4c]
        mov      r3,r3,lsl #1
        smull    r4,lr,r12,r3
        mov      r0,r0,lsl #1
        ldr      r12,[r7,#0x64]
        str      lr,[r6,#4]
        smull    r4,lr,r12,r2
        ldr      r12,[r7,#0x68]
        str      lr,[r6,#0x1c]
        smull    r4,lr,r12,r0
        ldr      r12,[r7,#0x6c]
        str      lr,[r6,#0x20]
        smull    lr,r0,r12,r0
        ldr      r12,[r7,#0x70]
        str      r0,[r6,#0x24]
        smull    r0,r2,r12,r2
        ldr      r0,[r7,#0x88]
        str      r2,[r6,#0x28]
        smull    r3,r2,r0,r3
        ldr      r0,[r7,#0x8c]
        str      r2,[r6,#0x40]
        smull    r2,r1,r0,r1
        str      r1,[r6,#0x44]
        ldr      r0,[r6,#0x18]
        ldr      lr,[r7,#0x50]
        mov      r1,r0,lsl #1
        ldr      r0,[r6,#0x14]
        smull    r5,r4,lr,r1
        ldr      r12,[r6,#0x10]
        mov      r3,r0,lsl #1
        ldr      r0,[r6,#0xc]
        mov      r12,r12,lsl #1
        mov      r2,r0,lsl #1
        ldr      r0,[r6,#8]
        str      r4,[r6,#8]
        ldr      lr,[r7,#0x54]
        mov      r0,r0,lsl #1
        smull    r5,r4,lr,r3
        ldr      lr,[r7,#0x58]
        str      r4,[r6,#0xc]
        smull    r5,r4,lr,r12
        ldr      lr,[r7,#0x5c]
        str      r4,[r6,#0x10]
        smull    r5,r4,lr,r2
        ldr      lr,[r7,#0x60]
        str      r4,[r6,#0x14]
        smull    r5,r4,lr,r0
        ldr      lr,[r7,#0x74]
        str      r4,[r6,#0x18]
        smull    r4,r0,lr,r0
        ldr      lr,[r7,#0x78]
        str      r0,[r6,#0x2c]
        smull    r0,r2,lr,r2
        ldr      r0,[r7,#0x7c]
        str      r2,[r6,#0x30]
        smull    r12,r2,r0,r12
        ldr      r0,[r7,#0x80]
        str      r2,[r6,#0x34]
        smull    r3,r2,r0,r3
        ldr      r0,[r7,#0x84]
        str      r2,[r6,#0x38]
        smull    r2,r1,r0,r1
        str      r1,[r6,#0x3c]
        ldmfd    sp!,{r4-r10,pc}
table
        DCD      ||.constdata$1||
        ENDP

;------------------------------------------------------------------------------

 AREA |.constdata|, DATA, READONLY, ALIGN=2

;------------------------------------------------------------------------------

||.constdata$1||
cosTerms_dct18
        DCD      0x0807d2b0
        DCD      0x08483ee0
        DCD      0x08d3b7d0
        DCD      0x09c42570
        DCD      0x0b504f30
        DCD      0x0df29440
        DCD      0x12edfb20
        DCD      0x1ee8dd40
        DCD      0x5bca2a00
cosTerms_1_ov_cos_phi
        DCD      0x400f9c00
        DCD      0x408d6080
        DCD      0x418dcb80
        DCD      0x431b1a00
        DCD      0x4545ea00
        DCD      0x48270680
        DCD      0x4be25480
        DCD      0x50ab9480
        DCD      0x56ce4d80
        DCD      0x05ebb630
        DCD      0x06921a98
        DCD      0x0771d3a8
        DCD      0x08a9a830
        DCD      0x0a73d750
        DCD      0x0d4d5260
        DCD      0x127b1ca0
        DCD      0x1ea52b40
        DCD      0x5bb3cc80



        END
+0 −366

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −237
Original line number Diff line number Diff line
; ------------------------------------------------------------------
; Copyright (C) 1998-2009 PacketVideo
;
; Licensed under the Apache License, Version 2.0 (the "License");
; you may not use this file except in compliance with the License.
; You may obtain a copy of the License at
;
;      http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing, software
; distributed under the License is distributed on an "AS IS" BASIS,
; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
; express or implied.
; See the License for the specific language governing permissions
; and limitations under the License.
; -------------------------------------------------------------------

;
;
;   Filename: pvmp3_polyphase_filter_window.s
;
;------------------------------------------------------------------------------
; REVISION HISTORY
;
;
; Who:                                   Date: MM/DD/YYYY
; Description: 
;
;------------------------------------------------------------------------------

        EXPORT pvmp3_polyphase_filter_window

        IMPORT ||Lib$$Request$$armlib|| [WEAK]
        IMPORT ||Lib$$Request$$cpplib|| [WEAK]
        IMPORT pqmfSynthWin



;------------------------------------------------------------------------------

 AREA |.text|, CODE, READONLY, ALIGN=2


;------------------------------------------------------------------------------

|pvmp3_polyphase_filter_window| PROC

        stmfd    sp!,{r0-r2,r4-r11,lr}

        sub      sp,sp,#4
        ldr      r2,[sp,#0xc]
        ldr      r1,PolyPh_filter_coeff
		
        sub      r2,r2,#1
        mov      r10,#1
        str      r2,[sp]

; Accumulators r9, r11::> Initialization

Loop_j
        mov      r9,  #0x20
        mov      r11, #0x20
        mov      r4,  #0x10
Loop_i
        add      r2,r4,r10
        add      r3,r0,r2,lsl #2
        sub      r2,r4,r10
        ldr      r5,[r3]
        ldr      lr,[r1]
        add      r12,r0,r2,lsl #2
        ldr      r6,[r12,#0x780]
        smlal    r2,r9,lr,r5
        smlal    r2,r11,lr,r6
        ldr      r2,[r1,#4]
        ldr      r7,[r12,#0x80]
        smlal    r5,r11,r2,r5
        smull    r6,r5,r2,r6
        sub      r9,r9,r5
        ldr      r5,[r1,#8]
        ldr      r8,[r3,#0x700]
        add      r4,r4,#0x200
        smlal    r6,r9,r5,r7
        smull    r6,r2,r5,r8
        ldr      r5,[r1,#0xc]
        sub      r11,r11,r2
        smlal    r8,r9,r5,r8
        smlal    r7,r11,r5,r7
        ldr      r5,[r3,#0x100]
        ldr      r2,[r1,#0x10]
        ldr      r6,[r12,#0x680]
        smlal    lr,r9,r2,r5
        smlal    lr,r11,r2,r6
        ldr      r2,[r1,#0x14]
        ldr      r7,[r12,#0x180]
        smlal    r5,r11,r2,r5
        smull    r6,r5,r2,r6
        ldr      r6,[r1,#0x18]
        ldr      r8,[r3,#0x600]
        sub      r9,r9,r5
        smlal    r5,r9,r6,r7
        smull    r2,r5,r6,r8
        ldr      r6,[r1,#0x1c]
        sub      r11,r11,r5
        smlal    r8,r9,r6,r8
        ldr      r2,[r1,#0x20]
        ldr      r5,[r3,#0x200]
        smlal    r7,r11,r6,r7
        ldr      r6,[r12,#0x580]
        smlal    lr,r9,r2,r5
        smlal    lr,r11,r2,r6
        ldr      r2,[r1,#0x24]
        ldr      r7,[r12,#0x280]
        smlal    r5,r11,r2,r5
        smull    r6,r5,r2,r6
        ldr      r6,[r1,#0x28]
        ldr      r8,[r3,#0x500]
        sub      r9,r9,r5
        smlal    r5,r9,r6,r7
        smull    r2,r5,r6,r8
        ldr      r6,[r1,#0x2c]
        sub      r11,r11,r5

        smlal    r8,r9,r6,r8
        smlal    r7,r11,r6,r7
        ldr      r5,[r3,#0x300]
        ldr      r8,[r1,#0x30]
        ldr      r6,[r12,#0x480]
        smlal    r7,r9,r8,r5
        smlal    r7,r11,r8,r6
        ldr      r8,[r1,#0x34]
        ldr      r12,[r12,#0x380]
        smlal    r5,r11,r8,r5
        smull    r6,r5,r8,r6
        ldr      r6,[r1,#0x38]


        ldr      r3,[r3,#0x400]
        sub      r9,r9,r5
        smlal    r7,r9,r6,r12
        smull    r8,r7,r6,r3
        cmp      r4,#0x210
        sub      r11,r11,r7

        ldr      r2,[r1,#0x3c]
        add      r1,r1,#0x40
        smlal    r3,r9,r2,r3
        smlal    r12,r11,r2,r12

        blt      Loop_i

        mov      r3,r9, asr #6
        mov      r4,r3, asr #15
        teq      r4,r3, asr #31
        ldr      r12,LOW_16BITS
        ldr      r2,[sp]
        eorne    r3,r12,r3,asr #31
        ldr      r4,[sp,#8]
        mov      r2,r10,lsl r2
        add      r4,r4,r2,lsl #1
        strh     r3,[r4]

        mov      r3,r11,asr #6
        mov      r4,r3,asr #15
        teq      r4,r3,asr #31
        eorne    r3,r12,r3,asr #31
        ldr      r12,[sp,#0xc]
        ldr      r11,[sp,#8]
        rsb      r2,r2,r12,lsl #5
        add      r2,r11,r2,lsl #1
        strh     r3,[r2]

        add      r10,r10,#1
        cmp      r10,#0x10
        blt      Loop_j

; Accumulators r4, r5 Initialization

        mov      r4,#0x20
        mov      r5,#0x20
        mov      r3,#0x10
PolyPh_filter_loop2
        add      r2,r0,r3,lsl #2
        ldr      r12,[r2]
        ldr      r8,[r1]
        ldr      r6,[r2,#0x80]
        smlal    r12,r4,r8,r12
        ldr      r12,[r1,#4]
        ldr      r7,[r2,#0x40]
        smlal    r6,r4,r12,r6

        ldr      r12,[r1,#8]
        ldr      r6,[r2,#0x180]
        smlal    r7,r5,r12,r7
        ldr      r12,[r2,#0x100]
        ldr      r7,[r1,#0xc]
        ldr      r2,[r2,#0x140]
        smlal    r12,r4,r7,r12
        ldr      r12,[r1,#0x10]
        add      r3,r3,#0x80
        smlal    r6,r4,r12,r6
        ldr      r6,[r1,#0x14]
        cmp      r3,#0x210
        smlal    r2,r5,r6,r2
        add      r1,r1,#0x18

        blt      PolyPh_filter_loop2
        mov      r0,r4,asr #6
        mov      r2,r0,asr #15
        teq      r2,r0,asr #31
        ldrne    r12,LOW_16BITS
        ldr      r1,[sp,#8]
        eorne    r0,r12,r0,asr #31
        strh     r0,[r1,#0]
        mov      r0,r5,asr #6
        mov      r2,r0,asr #15
        teq      r2,r0,asr #31
        ldrne    r12,LOW_16BITS
        ldr      r2,[sp]
        mov      r1,#0x10
        eorne    r0,r12,r0,asr #31
        ldr      r12,[sp,#8]
        mov      r1,r1,lsl r2
        add      r1,r12,r1,lsl #1
        strh     r0,[r1]
        add      sp,sp,#0x10
        ldmfd    sp!,{r4-r11,pc}


PolyPh_filter_coeff
        DCD      pqmfSynthWin
LOW_16BITS
        DCD      0x00007fff

        ENDP


        END
+0 −231

File deleted.

Preview size limit exceeded, changes collapsed.