1# pass through functions
2
3.function audiopanoramam_orc_process_s16_ch1_none
4.source 2 s1 gint16
5.dest 4 d1 gint16
6
7mergewl d1 s1 s1
8
9
10.function audiopanoramam_orc_process_f32_ch1_none
11.source 4 s1 gfloat
12.dest 8 d1 gfloat
13
14mergelq d1 s1 s1
15
16
17.function audiopanoramam_orc_process_s16_ch2_none
18.source 4 s1 gint16
19.dest 4 d1 gint16
20
21x2 copyw d1 s1
22
23
24.function audiopanoramam_orc_process_f32_ch2_none
25.source 8 s1 gfloat
26.dest 8 d1 gfloat
27
28x2 copyl d1 s1
29
30
31# psychoacoustic processing function
32
33.function audiopanoramam_orc_process_s16_ch1_psy
34.source 2 s1 gint16
35.dest 4 d1 gint16
36.floatparam 4 lpan
37.floatparam 4 rpan
38.temp 8 t1
39.temp 4 left
40.temp 4 right
41
42convswl left s1
43convlf left left
44mulf right left rpan
45mulf left left lpan
46mergelq t1 left right
47x2 convfl t1 t1
48x2 convssslw d1 t1
49
50
51.function audiopanoramam_orc_process_f32_ch1_psy
52.source 4 s1 gfloat
53.dest 8 d1 gfloat
54.floatparam 4 lpan
55.floatparam 4 rpan
56.temp 4 left
57.temp 4 right
58
59mulf right s1 rpan
60mulf left s1 lpan
61mergelq d1 left right
62
63
64.function audiopanoramam_orc_process_s16_ch2_psy_right
65.source 4 s1 gint16
66.dest 4 d1 gint16
67.floatparam 4 llpan
68.floatparam 4 rlpan
69.temp 8 t1
70.temp 4 left
71.temp 4 right
72.temp 4 right1
73
74x2 convswl t1 s1
75x2 convlf t1 t1
76select0ql left t1
77select1ql right t1
78mulf right1 left rlpan
79mulf left left llpan
80addf right right1 right
81mergelq t1 left right
82x2 convfl t1 t1
83x2 convssslw d1 t1
84
85
86.function audiopanoramam_orc_process_s16_ch2_psy_left
87.source 4 s1 gint16
88.dest 4 d1 gint16
89.floatparam 4 lrpan
90.floatparam 4 rrpan
91.temp 8 t1
92.temp 4 left
93.temp 4 left1
94.temp 4 right
95
96x2 convswl t1 s1
97x2 convlf t1 t1
98select0ql left t1
99select1ql right t1
100mulf left1 right lrpan
101mulf right right rrpan
102addf left left1 left
103mergelq t1 left right
104x2 convfl t1 t1
105x2 convssslw d1 t1
106
107
108.function audiopanoramam_orc_process_f32_ch2_psy_right
109.source 8 s1 gfloat
110.dest 8 d1 gfloat
111.floatparam 4 llpan
112.floatparam 4 rlpan
113.temp 4 left
114.temp 4 right
115.temp 4 right1
116
117select0ql left s1
118select1ql right s1
119mulf right1 left rlpan
120mulf left left llpan
121addf right right1 right
122mergelq d1 left right
123
124
125.function audiopanoramam_orc_process_f32_ch2_psy_left
126.source 8 s1 gfloat
127.dest 8 d1 gfloat
128.floatparam 4 lrpan
129.floatparam 4 rrpan
130.temp 4 left
131.temp 4 left1
132.temp 4 right
133
134select0ql left s1
135select1ql right s1
136mulf left1 right lrpan
137mulf right right rrpan
138addf left left1 left
139mergelq d1 left right
140
141# simple processing functions
142
143.function audiopanoramam_orc_process_s16_ch1_sim_right
144.source 2 s1 gint16
145.dest 4 d1 gint16
146.floatparam 4 rpan
147.temp 8 t1
148.temp 4 left
149.temp 4 right
150
151convswl left s1
152convlf left left
153mulf right left rpan
154mergelq t1 left right
155x2 convfl t1 t1
156x2 convssslw d1 t1
157
158
159.function audiopanoramam_orc_process_s16_ch1_sim_left
160.source 2 s1 gint16
161.dest 4 d1 gint16
162.floatparam 4 lpan
163.temp 8 t1
164.temp 4 left
165.temp 4 right
166
167convswl right s1
168convlf right right
169mulf left right lpan
170mergelq t1 left right
171x2 convfl t1 t1
172x2 convssslw d1 t1
173
174
175.function audiopanoramam_orc_process_s16_ch2_sim_right
176.source 4 s1 gint16
177.dest 4 d1 gint16
178.floatparam 4 rpan
179.temp 8 t1
180.temp 4 left
181.temp 4 right
182
183x2 convswl t1 s1
184x2 convlf t1 t1
185select0ql left t1
186select1ql right t1
187mulf right right rpan
188mergelq t1 left right
189x2 convfl t1 t1
190x2 convssslw d1 t1
191
192
193.function audiopanoramam_orc_process_s16_ch2_sim_left
194.source 4 s1 gint16
195.dest 4 d1 gint16
196.floatparam 4 lpan
197.temp 8 t1
198.temp 4 left
199.temp 4 right
200
201x2 convswl t1 s1
202x2 convlf t1 t1
203select0ql left t1
204select1ql right t1
205mulf left left lpan
206mergelq t1 left right
207x2 convfl t1 t1
208x2 convssslw d1 t1
209
210
211.function audiopanoramam_orc_process_f32_ch1_sim_right
212.source 4 s1 gfloat
213.dest 8 d1 gfloat
214.floatparam 4 rpan
215.temp 4 left
216.temp 4 right
217
218copyl left s1
219mulf right s1 rpan
220mergelq d1 left right
221
222
223.function audiopanoramam_orc_process_f32_ch1_sim_left
224.source 4 s1 gfloat
225.dest 8 d1 gfloat
226.floatparam 4 lpan
227.temp 4 left
228.temp 4 right
229
230mulf left s1 lpan
231copyl right s1
232mergelq d1 left right
233
234
235.function audiopanoramam_orc_process_f32_ch2_sim_right
236.source 8 s1 gfloat
237.dest 8 d1 gfloat
238.floatparam 4 rpan
239.temp 4 left
240.temp 4 right
241
242select0ql left s1
243select1ql right s1
244mulf right right rpan
245mergelq d1 left right
246
247.function audiopanoramam_orc_process_f32_ch2_sim_left
248.source 8 s1 gfloat
249.dest 8 d1 gfloat
250.floatparam 4 lpan
251.temp 4 left
252.temp 4 right
253
254select0ql left s1
255select1ql right s1
256mulf left left lpan
257mergelq d1 left right
258
259