1d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; ------------------------------------------------------------------
2d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Copyright (C) 1998-2009 PacketVideo
3d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;
4d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Licensed under the Apache License, Version 2.0 (the "License");
5d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; you may not use this file except in compliance with the License.
6d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; You may obtain a copy of the License at
7d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;
8d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;      http://www.apache.org/licenses/LICENSE-2.0
9d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;
10d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Unless required by applicable law or agreed to in writing, software
11d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; distributed under the License is distributed on an "AS IS" BASIS,
12d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; express or implied.
14d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; See the License for the specific language governing permissions
15d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; and limitations under the License.
16d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; -------------------------------------------------------------------
17d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
18d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;
19d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;
20d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;   Filename: pvmp3_polyphase_filter_window.s
21d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;
22d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;------------------------------------------------------------------------------
23d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; REVISION HISTORY
24d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;
25d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;
26d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Who:                                   Date: MM/DD/YYYY
27d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Description:
28d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;
29d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;------------------------------------------------------------------------------
30d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
31d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        EXPORT pvmp3_polyphase_filter_window
32d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
33d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        IMPORT ||Lib$$Request$$armlib|| [WEAK]
34d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        IMPORT ||Lib$$Request$$cpplib|| [WEAK]
35d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        IMPORT pqmfSynthWin
36d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
37d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
38d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
39d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;------------------------------------------------------------------------------
40d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
41d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber AREA |.text|, CODE, READONLY, ALIGN=2
42d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
43d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
44d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;------------------------------------------------------------------------------
45d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
46d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber|pvmp3_polyphase_filter_window| PROC
47d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
48d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        stmfd    sp!,{r0-r2,r4-r11,lr}
49d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
50d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      sp,sp,#4
51d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[sp,#0xc]
52d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,PolyPh_filter_coeff
53d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
54d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r2,r2,#1
55d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r10,#1
56d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        str      r2,[sp]
57d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
58d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Accumulators r9, r11::> Initialization
59d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
60d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HuberLoop_j
61d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r9,  #0x20
62d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r11, #0x20
63d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r4,  #0x10
64d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HuberLoop_i
65d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r2,r4,r10
66d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r0,r2,lsl #2
67d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r2,r4,r10
68d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r5,[r3]
69d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      lr,[r1]
70d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r12,r0,r2,lsl #2
71d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,[r12,#0x780]
72d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r2,r9,lr,r5
73d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r2,r11,lr,r6
74d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[r1,#4]
75d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r7,[r12,#0x80]
76d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r5,r11,r2,r5
77d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r6,r5,r2,r6
78d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r9,r9,r5
79d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r5,[r1,#8]
80d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r8,[r3,#0x700]
81d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r4,r4,#0x200
82d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r6,r9,r5,r7
83d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r6,r2,r5,r8
84d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r5,[r1,#0xc]
85d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r11,r11,r2
86d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r8,r9,r5,r8
87d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r7,r11,r5,r7
88d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r5,[r3,#0x100]
89d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[r1,#0x10]
90d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,[r12,#0x680]
91d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    lr,r9,r2,r5
92d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    lr,r11,r2,r6
93d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[r1,#0x14]
94d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r7,[r12,#0x180]
95d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r5,r11,r2,r5
96d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r6,r5,r2,r6
97d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,[r1,#0x18]
98d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r8,[r3,#0x600]
99d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r9,r9,r5
100d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r5,r9,r6,r7
101d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r2,r5,r6,r8
102d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,[r1,#0x1c]
103d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r11,r11,r5
104d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r8,r9,r6,r8
105d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[r1,#0x20]
106d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r5,[r3,#0x200]
107d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r7,r11,r6,r7
108d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,[r12,#0x580]
109d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    lr,r9,r2,r5
110d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    lr,r11,r2,r6
111d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[r1,#0x24]
112d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r7,[r12,#0x280]
113d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r5,r11,r2,r5
114d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r6,r5,r2,r6
115d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,[r1,#0x28]
116d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r8,[r3,#0x500]
117d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r9,r9,r5
118d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r5,r9,r6,r7
119d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r2,r5,r6,r8
120d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,[r1,#0x2c]
121d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r11,r11,r5
122d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
123d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r8,r9,r6,r8
124d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r7,r11,r6,r7
125d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r5,[r3,#0x300]
126d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r8,[r1,#0x30]
127d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,[r12,#0x480]
128d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r7,r9,r8,r5
129d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r7,r11,r8,r6
130d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r8,[r1,#0x34]
131d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r12,#0x380]
132d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r5,r11,r8,r5
133d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r6,r5,r8,r6
134d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,[r1,#0x38]
135d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
136d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
137d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r3,[r3,#0x400]
138d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r9,r9,r5
139d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r7,r9,r6,r12
140d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smull    r8,r7,r6,r3
141d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        cmp      r4,#0x210
142d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        sub      r11,r11,r7
143d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
144d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[r1,#0x3c]
145d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r1,#0x40
146d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r3,r9,r2,r3
147d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r12,r11,r2,r12
148d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
149d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        blt      Loop_i
150d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
151d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r3,r9, asr #6
152d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r4,r3, asr #15
153d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        teq      r4,r3, asr #31
154d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,LOW_16BITS
155d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[sp]
156d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        eorne    r3,r12,r3,asr #31
157d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r4,[sp,#8]
158d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r2,r10,lsl r2
159d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r4,r4,r2,lsl #1
160d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        strh     r3,[r4]
161d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
162d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r3,r11,asr #6
163d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r4,r3,asr #15
164d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        teq      r4,r3,asr #31
165d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        eorne    r3,r12,r3,asr #31
166d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[sp,#0xc]
167d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r11,[sp,#8]
168d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        rsb      r2,r2,r12,lsl #5
169d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r2,r11,r2,lsl #1
170d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        strh     r3,[r2]
171d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
172d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r10,r10,#1
173d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        cmp      r10,#0x10
174d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        blt      Loop_j
175d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
176d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Accumulators r4, r5 Initialization
177d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
178d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r4,#0x20
179d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r5,#0x20
180d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r3,#0x10
181d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HuberPolyPh_filter_loop2
182d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r2,r0,r3,lsl #2
183d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r2]
184d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r8,[r1]
185d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,[r2,#0x80]
186d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r12,r4,r8,r12
187d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r1,#4]
188d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r7,[r2,#0x40]
189d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r6,r4,r12,r6
190d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
191d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r1,#8]
192d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,[r2,#0x180]
193d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r7,r5,r12,r7
194d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r2,#0x100]
195d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r7,[r1,#0xc]
196d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[r2,#0x140]
197d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r12,r4,r7,r12
198d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[r1,#0x10]
199d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r3,r3,#0x80
200d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r6,r4,r12,r6
201d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r6,[r1,#0x14]
202d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        cmp      r3,#0x210
203d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        smlal    r2,r5,r6,r2
204d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r1,#0x18
205d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
206d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        blt      PolyPh_filter_loop2
207d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r0,r4,asr #6
208d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r2,r0,asr #15
209d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        teq      r2,r0,asr #31
210d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldrne    r12,LOW_16BITS
211d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r1,[sp,#8]
212d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        eorne    r0,r12,r0,asr #31
213d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        strh     r0,[r1,#0]
214d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r0,r5,asr #6
215d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r2,r0,asr #15
216d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        teq      r2,r0,asr #31
217d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldrne    r12,LOW_16BITS
218d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r2,[sp]
219d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r1,#0x10
220d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        eorne    r0,r12,r0,asr #31
221d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldr      r12,[sp,#8]
222d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        mov      r1,r1,lsl r2
223d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      r1,r12,r1,lsl #1
224d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        strh     r0,[r1]
225d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        add      sp,sp,#0x10
226d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ldmfd    sp!,{r4-r11,pc}
227d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
228d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
229d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HuberPolyPh_filter_coeff
230d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        DCD      pqmfSynthWin
231d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HuberLOW_16BITS
232d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        DCD      0x00007fff
233d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
234d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        ENDP
235d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
236d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber
237d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber        END
238