tizen 2.0 init
[framework/multimedia/gst-plugins-base0.10.git] / gst / volume / gstvolumeorc.orc
1
2 .init gst_volume_orc_init
3
4 .function orc_scalarmultiply_f64_ns
5 .dest 8 d1 double
6 .doubleparam 8 p1
7
8 muld d1, d1, p1
9
10 .function orc_scalarmultiply_f32_ns
11 .dest 4 d1 float
12 .floatparam 4 p1
13
14 mulf d1, d1, p1
15
16 .function orc_process_int32
17 .dest 4 d1 gint32
18 .param 4 p1
19 .temp 8 t1
20
21 mulslq t1, d1, p1
22 shrsq t1, t1, 27
23 convql d1, t1
24
25 .function orc_process_int32_clamp
26 .dest 4 d1 gint32
27 .param 4 p1
28 .temp 8 t1
29
30 mulslq t1, d1, p1
31 shrsq t1, t1, 27
32 convsssql d1, t1
33
34 .function orc_process_int16
35 .dest 2 d1 gint16
36 .param 2 p1
37 .temp 4 t1
38
39 mulswl t1, d1, p1
40 shrsl t1, t1, 11
41 convlw d1, t1
42
43
44 .function orc_process_int16_clamp
45 .dest 2 d1 gint16
46 .param 2 p1
47 .temp 4 t1
48
49 mulswl t1, d1, p1
50 shrsl t1, t1, 11
51 convssslw d1, t1
52
53 .function orc_process_int8
54 .dest 1 d1 gint8
55 .param 1 p1
56 .temp 2 t1
57
58 mulsbw t1, d1, p1
59 shrsw t1, t1, 3
60 convwb d1, t1
61
62
63 .function orc_process_int8_clamp
64 .dest 1 d1 gint8
65 .param 1 p1
66 .temp 2 t1
67
68 mulsbw t1, d1, p1
69 shrsw t1, t1, 3
70 convssswb d1, t1
71
72 .function orc_memset_f64
73 .dest 8 d1 gdouble
74 .doubleparam 8 p1
75
76 copyq d1, p1
77
78 .function orc_prepare_volumes
79 .dest 8 d1 gdouble
80 .source 4 s1 gboolean
81 .temp 8 t1
82
83 convld t1, s1
84 subd t1, 0x3FF0000000000000L, t1
85 muld d1, d1, t1
86
87 .function orc_process_controlled_f64_1ch
88 .dest 8 d1 gdouble
89 .source 8 s1 gdouble
90
91 muld d1, d1, s1
92
93 .function orc_process_controlled_f32_1ch
94 .dest 4 d1 gfloat
95 .source 8 s1 gdouble
96 .temp 4 t1
97
98 convdf t1, s1
99 mulf d1, d1, t1
100
101 .function orc_process_controlled_f32_2ch
102 .dest 8 d1 gfloat
103 .source 8 s1 gdouble
104 .temp 4 t1
105 .temp 8 t2
106
107 convdf t1, s1
108 mergelq t2, t1, t1
109 x2 mulf d1, d1, t2
110
111 .function orc_process_controlled_int32_1ch
112 .dest 4 d1 gint32
113 .source 8 s1 gdouble
114 .temp 8 t1
115
116 convld t1, d1
117 muld t1, t1, s1
118 convdl d1, t1
119
120 .function orc_process_controlled_int16_1ch
121 .dest 2 d1 gint16
122 .source 8 s1 gdouble
123 .temp 4 t1
124 .temp 4 t2
125
126 convswl t1, d1
127 convlf t1, t1
128 convdf t2, s1
129 mulf t1, t1, t2
130 convfl t1, t1
131 convssslw d1, t1
132
133 .function orc_process_controlled_int16_2ch
134 .dest 4 d1 gint16
135 .source 8 s1 gdouble
136 .temp 8 t1
137 .temp 4 t2
138 .temp 8 t3
139
140 x2 convswl t1, d1
141 x2 convlf t1, t1
142 convdf t2, s1
143 mergelq t3, t2, t2
144 x2 mulf t3, t3, t1
145 x2 convfl t3, t3
146 x2 convssslw d1, t3
147
148 .function orc_process_controlled_int8_1ch
149 .dest 1 d1 gint8
150 .source 8 s1 gdouble
151 .temp 2 t1
152 .temp 4 t2
153 .temp 4 t3
154
155 convsbw t1, d1
156 convswl t2, t1
157 convlf t2, t2
158 convdf t3, s1
159 mulf t2, t2, t3
160 convfl t2, t2
161 convlw t1, t2
162 convssswb d1, t1
163
164 .function orc_process_controlled_int8_2ch
165 .dest 2 d1 gint8
166 .source 8 s1 gdouble
167 .temp 4 t1
168 .temp 8 t2
169 .temp 8 t3
170
171 x2 convsbw t1, d1
172 x2 convswl t2, t1
173 x2 convlf t2, t2
174 convdf t1, s1
175 mergelq t3, t1, t1
176 x2 mulf t2, t2, t3
177 x2 convfl t2, t2
178 x2 convlw t1, t2
179 x2 convssswb d1, t1
180