2 /* autogenerated from gstaudioconvertorc.orc */
9 #ifndef _ORC_INTEGER_TYPEDEFS_
10 #define _ORC_INTEGER_TYPEDEFS_
11 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
13 typedef int8_t orc_int8;
14 typedef int16_t orc_int16;
15 typedef int32_t orc_int32;
16 typedef int64_t orc_int64;
17 typedef uint8_t orc_uint8;
18 typedef uint16_t orc_uint16;
19 typedef uint32_t orc_uint32;
20 typedef uint64_t orc_uint64;
21 #define ORC_UINT64_C(x) UINT64_C(x)
22 #elif defined(_MSC_VER)
23 typedef signed __int8 orc_int8;
24 typedef signed __int16 orc_int16;
25 typedef signed __int32 orc_int32;
26 typedef signed __int64 orc_int64;
27 typedef unsigned __int8 orc_uint8;
28 typedef unsigned __int16 orc_uint16;
29 typedef unsigned __int32 orc_uint32;
30 typedef unsigned __int64 orc_uint64;
31 #define ORC_UINT64_C(x) (x##Ui64)
32 #define inline __inline
35 typedef signed char orc_int8;
36 typedef short orc_int16;
37 typedef int orc_int32;
38 typedef unsigned char orc_uint8;
39 typedef unsigned short orc_uint16;
40 typedef unsigned int orc_uint32;
41 #if INT_MAX == LONG_MAX
42 typedef long long orc_int64;
43 typedef unsigned long long orc_uint64;
44 #define ORC_UINT64_C(x) (x##ULL)
46 typedef long orc_int64;
47 typedef unsigned long orc_uint64;
48 #define ORC_UINT64_C(x) (x##UL)
73 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
74 #define ORC_RESTRICT restrict
75 #elif defined(__GNUC__) && __GNUC__ >= 4
76 #define ORC_RESTRICT __restrict__
85 void orc_audio_convert_unpack_u8 (gint32 * ORC_RESTRICT d1,
86 const guint8 * ORC_RESTRICT s1, int p1, int n);
87 void orc_audio_convert_unpack_s8 (gint32 * ORC_RESTRICT d1,
88 const guint8 * ORC_RESTRICT s1, int p1, int n);
89 void orc_audio_convert_unpack_u16 (gint32 * ORC_RESTRICT d1,
90 const guint8 * ORC_RESTRICT s1, int p1, int n);
91 void orc_audio_convert_unpack_s16 (gint32 * ORC_RESTRICT d1,
92 const guint8 * ORC_RESTRICT s1, int p1, int n);
93 void orc_audio_convert_unpack_u16_swap (gint32 * ORC_RESTRICT d1,
94 const guint8 * ORC_RESTRICT s1, int p1, int n);
95 void orc_audio_convert_unpack_s16_swap (gint32 * ORC_RESTRICT d1,
96 const guint8 * ORC_RESTRICT s1, int p1, int n);
97 void orc_audio_convert_unpack_u32 (gint32 * ORC_RESTRICT d1,
98 const guint8 * ORC_RESTRICT s1, int p1, int n);
99 void orc_audio_convert_unpack_s32 (gint32 * ORC_RESTRICT d1,
100 const guint8 * ORC_RESTRICT s1, int p1, int n);
101 void orc_audio_convert_unpack_u32_swap (gint32 * ORC_RESTRICT d1,
102 const guint8 * ORC_RESTRICT s1, int p1, int n);
103 void orc_audio_convert_unpack_s32_swap (gint32 * ORC_RESTRICT d1,
104 const guint8 * ORC_RESTRICT s1, int p1, int n);
105 void orc_audio_convert_unpack_float_s32 (guint32 * ORC_RESTRICT d1,
106 const gfloat * ORC_RESTRICT s1, int n);
107 void orc_audio_convert_unpack_float_s32_swap (guint32 * ORC_RESTRICT d1,
108 const gfloat * ORC_RESTRICT s1, int n);
109 void orc_audio_convert_unpack_double_s32 (guint32 * ORC_RESTRICT d1,
110 const gdouble * ORC_RESTRICT s1, int n);
111 void orc_audio_convert_unpack_double_s32_swap (guint32 * ORC_RESTRICT d1,
112 const gdouble * ORC_RESTRICT s1, int n);
113 void orc_audio_convert_unpack_float_double (gdouble * ORC_RESTRICT d1,
114 const gfloat * ORC_RESTRICT s1, int n);
115 void orc_audio_convert_unpack_float_double_swap (gdouble * ORC_RESTRICT d1,
116 const gfloat * ORC_RESTRICT s1, int n);
117 void orc_audio_convert_unpack_double_double (gdouble * ORC_RESTRICT d1,
118 const gdouble * ORC_RESTRICT s1, int n);
119 void orc_audio_convert_unpack_double_double_swap (gdouble * ORC_RESTRICT d1,
120 const gdouble * ORC_RESTRICT s1, int n);
121 void orc_audio_convert_unpack_u8_double (gdouble * ORC_RESTRICT d1,
122 const guint8 * ORC_RESTRICT s1, int p1, int n);
123 void orc_audio_convert_unpack_s8_double (gdouble * ORC_RESTRICT d1,
124 const guint8 * ORC_RESTRICT s1, int p1, int n);
125 void orc_audio_convert_unpack_u16_double (gdouble * ORC_RESTRICT d1,
126 const guint8 * ORC_RESTRICT s1, int p1, int n);
127 void orc_audio_convert_unpack_s16_double (gdouble * ORC_RESTRICT d1,
128 const guint8 * ORC_RESTRICT s1, int p1, int n);
129 void orc_audio_convert_unpack_u16_double_swap (gdouble * ORC_RESTRICT d1,
130 const guint8 * ORC_RESTRICT s1, int p1, int n);
131 void orc_audio_convert_unpack_s16_double_swap (gdouble * ORC_RESTRICT d1,
132 const guint8 * ORC_RESTRICT s1, int p1, int n);
133 void orc_audio_convert_unpack_u32_double (gdouble * ORC_RESTRICT d1,
134 const guint8 * ORC_RESTRICT s1, int p1, int n);
135 void orc_audio_convert_unpack_s32_double (gdouble * ORC_RESTRICT d1,
136 const guint8 * ORC_RESTRICT s1, int p1, int n);
137 void orc_audio_convert_unpack_u32_double_swap (gdouble * ORC_RESTRICT d1,
138 const guint8 * ORC_RESTRICT s1, int p1, int n);
139 void orc_audio_convert_unpack_s32_double_swap (gdouble * ORC_RESTRICT d1,
140 const guint8 * ORC_RESTRICT s1, int p1, int n);
141 void orc_audio_convert_pack_u8 (guint8 * ORC_RESTRICT d1,
142 const gint32 * ORC_RESTRICT s1, int p1, int n);
143 void orc_audio_convert_pack_s8 (guint8 * ORC_RESTRICT d1,
144 const gint32 * ORC_RESTRICT s1, int p1, int n);
145 void orc_audio_convert_pack_u16 (guint8 * ORC_RESTRICT d1,
146 const gint32 * ORC_RESTRICT s1, int p1, int n);
147 void orc_audio_convert_pack_s16 (guint8 * ORC_RESTRICT d1,
148 const gint32 * ORC_RESTRICT s1, int p1, int n);
149 void orc_audio_convert_pack_u16_swap (guint8 * ORC_RESTRICT d1,
150 const gint32 * ORC_RESTRICT s1, int p1, int n);
151 void orc_audio_convert_pack_s16_swap (guint8 * ORC_RESTRICT d1,
152 const gint32 * ORC_RESTRICT s1, int p1, int n);
153 void orc_audio_convert_pack_u32 (guint8 * ORC_RESTRICT d1,
154 const gint32 * ORC_RESTRICT s1, int p1, int n);
155 void orc_audio_convert_pack_s32 (guint8 * ORC_RESTRICT d1,
156 const gint32 * ORC_RESTRICT s1, int p1, int n);
157 void orc_audio_convert_pack_u32_swap (guint8 * ORC_RESTRICT d1,
158 const gint32 * ORC_RESTRICT s1, int p1, int n);
159 void orc_audio_convert_pack_s32_swap (guint8 * ORC_RESTRICT d1,
160 const gint32 * ORC_RESTRICT s1, int p1, int n);
161 void orc_audio_convert_pack_s32_float (gfloat * ORC_RESTRICT d1,
162 const gint32 * ORC_RESTRICT s1, int n);
163 void orc_audio_convert_pack_s32_float_swap (gfloat * ORC_RESTRICT d1,
164 const gint32 * ORC_RESTRICT s1, int n);
165 void orc_audio_convert_pack_s32_double (gdouble * ORC_RESTRICT d1,
166 const gint32 * ORC_RESTRICT s1, int n);
167 void orc_audio_convert_pack_s32_double_swap (gdouble * ORC_RESTRICT d1,
168 const gint32 * ORC_RESTRICT s1, int n);
169 void orc_audio_convert_pack_double_float (gfloat * ORC_RESTRICT d1,
170 const gdouble * ORC_RESTRICT s1, int n);
171 void orc_audio_convert_pack_double_float_swap (gfloat * ORC_RESTRICT d1,
172 const gdouble * ORC_RESTRICT s1, int n);
173 void orc_audio_convert_pack_double_u8 (guint8 * ORC_RESTRICT d1,
174 const gdouble * ORC_RESTRICT s1, int p1, int n);
175 void orc_audio_convert_pack_double_s8 (guint8 * ORC_RESTRICT d1,
176 const gdouble * ORC_RESTRICT s1, int p1, int n);
177 void orc_audio_convert_pack_double_u16 (guint8 * ORC_RESTRICT d1,
178 const gdouble * ORC_RESTRICT s1, int p1, int n);
179 void orc_audio_convert_pack_double_s16 (guint8 * ORC_RESTRICT d1,
180 const gdouble * ORC_RESTRICT s1, int p1, int n);
181 void orc_audio_convert_pack_double_u16_swap (guint8 * ORC_RESTRICT d1,
182 const gdouble * ORC_RESTRICT s1, int p1, int n);
183 void orc_audio_convert_pack_double_s16_swap (guint8 * ORC_RESTRICT d1,
184 const gdouble * ORC_RESTRICT s1, int p1, int n);
185 void orc_audio_convert_pack_double_u32 (guint8 * ORC_RESTRICT d1,
186 const gdouble * ORC_RESTRICT s1, int p1, int n);
187 void orc_audio_convert_pack_double_s32 (guint8 * ORC_RESTRICT d1,
188 const gdouble * ORC_RESTRICT s1, int p1, int n);
189 void orc_audio_convert_pack_double_u32_swap (guint8 * ORC_RESTRICT d1,
190 const gdouble * ORC_RESTRICT s1, int p1, int n);
191 void orc_audio_convert_pack_double_s32_swap (guint8 * ORC_RESTRICT d1,
192 const gdouble * ORC_RESTRICT s1, int p1, int n);
195 /* begin Orc C target preamble */
196 #define ORC_CLAMP(x,a,b) ((x)<(a) ? (a) : ((x)>(b) ? (b) : (x)))
197 #define ORC_ABS(a) ((a)<0 ? -(a) : (a))
198 #define ORC_MIN(a,b) ((a)<(b) ? (a) : (b))
199 #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
200 #define ORC_SB_MAX 127
201 #define ORC_SB_MIN (-1-ORC_SB_MAX)
202 #define ORC_UB_MAX 255
204 #define ORC_SW_MAX 32767
205 #define ORC_SW_MIN (-1-ORC_SW_MAX)
206 #define ORC_UW_MAX 65535
208 #define ORC_SL_MAX 2147483647
209 #define ORC_SL_MIN (-1-ORC_SL_MAX)
210 #define ORC_UL_MAX 4294967295U
212 #define ORC_CLAMP_SB(x) ORC_CLAMP(x,ORC_SB_MIN,ORC_SB_MAX)
213 #define ORC_CLAMP_UB(x) ORC_CLAMP(x,ORC_UB_MIN,ORC_UB_MAX)
214 #define ORC_CLAMP_SW(x) ORC_CLAMP(x,ORC_SW_MIN,ORC_SW_MAX)
215 #define ORC_CLAMP_UW(x) ORC_CLAMP(x,ORC_UW_MIN,ORC_UW_MAX)
216 #define ORC_CLAMP_SL(x) ORC_CLAMP(x,ORC_SL_MIN,ORC_SL_MAX)
217 #define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)
218 #define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
219 #define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
220 #define ORC_SWAP_Q(x) ((((x)&ORC_UINT64_C(0xff))<<56) | (((x)&ORC_UINT64_C(0xff00))<<40) | (((x)&ORC_UINT64_C(0xff0000))<<24) | (((x)&ORC_UINT64_C(0xff000000))<<8) | (((x)&ORC_UINT64_C(0xff00000000))>>8) | (((x)&ORC_UINT64_C(0xff0000000000))>>24) | (((x)&ORC_UINT64_C(0xff000000000000))>>40) | (((x)&ORC_UINT64_C(0xff00000000000000))>>56))
221 #define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
222 #define ORC_DENORMAL(x) ((x) & ((((x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))
223 #define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
224 #define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
225 #define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
227 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
228 #define ORC_RESTRICT restrict
229 #elif defined(__GNUC__) && __GNUC__ >= 4
230 #define ORC_RESTRICT __restrict__
235 /* end Orc C target preamble */
239 /* orc_audio_convert_unpack_u8 */
242 orc_audio_convert_unpack_u8 (gint32 * ORC_RESTRICT d1,
243 const guint8 * ORC_RESTRICT s1, int p1, int n)
246 orc_union32 *ORC_RESTRICT ptr0;
247 const orc_int8 *ORC_RESTRICT ptr4;
255 ptr0 = (orc_union32 *) d1;
256 ptr4 = (orc_int8 *) s1;
259 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
261 for (i = 0; i < n; i++) {
265 var37.i = (orc_uint8) var34;
267 var38.i = (orc_uint16) var37.i;
269 var39.i = var38.i << p1;
271 var36.i = var39.i ^ var35.i;
280 _backup_orc_audio_convert_unpack_u8 (OrcExecutor * ORC_RESTRICT ex)
284 orc_union32 *ORC_RESTRICT ptr0;
285 const orc_int8 *ORC_RESTRICT ptr4;
293 ptr0 = (orc_union32 *) ex->arrays[0];
294 ptr4 = (orc_int8 *) ex->arrays[4];
297 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
299 for (i = 0; i < n; i++) {
303 var37.i = (orc_uint8) var34;
305 var38.i = (orc_uint16) var37.i;
307 var39.i = var38.i << ex->params[24];
309 var36.i = var39.i ^ var35.i;
317 orc_audio_convert_unpack_u8 (gint32 * ORC_RESTRICT d1,
318 const guint8 * ORC_RESTRICT s1, int p1, int n)
320 OrcExecutor _ex, *ex = &_ex;
321 static int p_inited = 0;
322 static OrcProgram *p = 0;
323 void (*func) (OrcExecutor *);
326 orc_once_mutex_lock ();
329 p = orc_program_new ();
330 orc_program_set_name (p, "orc_audio_convert_unpack_u8");
331 orc_program_set_backup_function (p, _backup_orc_audio_convert_unpack_u8);
332 orc_program_add_destination (p, 4, "d1");
333 orc_program_add_source (p, 1, "s1");
334 orc_program_add_constant (p, 4, 0x80000000, "c1");
335 orc_program_add_parameter (p, 4, "p1");
336 orc_program_add_temporary (p, 2, "t1");
337 orc_program_add_temporary (p, 4, "t2");
339 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
341 orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
343 orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
345 orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C1,
348 orc_program_compile (p);
351 orc_once_mutex_unlock ();
356 ex->arrays[ORC_VAR_D1] = d1;
357 ex->arrays[ORC_VAR_S1] = (void *) s1;
358 ex->params[ORC_VAR_P1] = p1;
366 /* orc_audio_convert_unpack_s8 */
369 orc_audio_convert_unpack_s8 (gint32 * ORC_RESTRICT d1,
370 const guint8 * ORC_RESTRICT s1, int p1, int n)
373 orc_union32 *ORC_RESTRICT ptr0;
374 const orc_int8 *ORC_RESTRICT ptr4;
380 ptr0 = (orc_union32 *) d1;
381 ptr4 = (orc_int8 *) s1;
384 for (i = 0; i < n; i++) {
388 var36.i = (orc_uint8) var34;
390 var37.i = (orc_uint16) var36.i;
392 var35.i = var37.i << p1;
401 _backup_orc_audio_convert_unpack_s8 (OrcExecutor * ORC_RESTRICT ex)
405 orc_union32 *ORC_RESTRICT ptr0;
406 const orc_int8 *ORC_RESTRICT ptr4;
412 ptr0 = (orc_union32 *) ex->arrays[0];
413 ptr4 = (orc_int8 *) ex->arrays[4];
416 for (i = 0; i < n; i++) {
420 var36.i = (orc_uint8) var34;
422 var37.i = (orc_uint16) var36.i;
424 var35.i = var37.i << ex->params[24];
432 orc_audio_convert_unpack_s8 (gint32 * ORC_RESTRICT d1,
433 const guint8 * ORC_RESTRICT s1, int p1, int n)
435 OrcExecutor _ex, *ex = &_ex;
436 static int p_inited = 0;
437 static OrcProgram *p = 0;
438 void (*func) (OrcExecutor *);
441 orc_once_mutex_lock ();
444 p = orc_program_new ();
445 orc_program_set_name (p, "orc_audio_convert_unpack_s8");
446 orc_program_set_backup_function (p, _backup_orc_audio_convert_unpack_s8);
447 orc_program_add_destination (p, 4, "d1");
448 orc_program_add_source (p, 1, "s1");
449 orc_program_add_parameter (p, 4, "p1");
450 orc_program_add_temporary (p, 2, "t1");
451 orc_program_add_temporary (p, 4, "t2");
453 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
455 orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
457 orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_P1,
460 orc_program_compile (p);
463 orc_once_mutex_unlock ();
468 ex->arrays[ORC_VAR_D1] = d1;
469 ex->arrays[ORC_VAR_S1] = (void *) s1;
470 ex->params[ORC_VAR_P1] = p1;
478 /* orc_audio_convert_unpack_u16 */
481 orc_audio_convert_unpack_u16 (gint32 * ORC_RESTRICT d1,
482 const guint8 * ORC_RESTRICT s1, int p1, int n)
485 orc_union32 *ORC_RESTRICT ptr0;
486 const orc_union16 *ORC_RESTRICT ptr4;
493 ptr0 = (orc_union32 *) d1;
494 ptr4 = (orc_union16 *) s1;
497 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
499 for (i = 0; i < n; i++) {
503 var36.i = (orc_uint16) var33.i;
505 var37.i = var36.i << p1;
507 var35.i = var37.i ^ var34.i;
516 _backup_orc_audio_convert_unpack_u16 (OrcExecutor * ORC_RESTRICT ex)
520 orc_union32 *ORC_RESTRICT ptr0;
521 const orc_union16 *ORC_RESTRICT ptr4;
528 ptr0 = (orc_union32 *) ex->arrays[0];
529 ptr4 = (orc_union16 *) ex->arrays[4];
532 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
534 for (i = 0; i < n; i++) {
538 var36.i = (orc_uint16) var33.i;
540 var37.i = var36.i << ex->params[24];
542 var35.i = var37.i ^ var34.i;
550 orc_audio_convert_unpack_u16 (gint32 * ORC_RESTRICT d1,
551 const guint8 * ORC_RESTRICT s1, int p1, int n)
553 OrcExecutor _ex, *ex = &_ex;
554 static int p_inited = 0;
555 static OrcProgram *p = 0;
556 void (*func) (OrcExecutor *);
559 orc_once_mutex_lock ();
562 p = orc_program_new ();
563 orc_program_set_name (p, "orc_audio_convert_unpack_u16");
564 orc_program_set_backup_function (p, _backup_orc_audio_convert_unpack_u16);
565 orc_program_add_destination (p, 4, "d1");
566 orc_program_add_source (p, 2, "s1");
567 orc_program_add_constant (p, 4, 0x80000000, "c1");
568 orc_program_add_parameter (p, 4, "p1");
569 orc_program_add_temporary (p, 4, "t1");
571 orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
573 orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
575 orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
578 orc_program_compile (p);
581 orc_once_mutex_unlock ();
586 ex->arrays[ORC_VAR_D1] = d1;
587 ex->arrays[ORC_VAR_S1] = (void *) s1;
588 ex->params[ORC_VAR_P1] = p1;
596 /* orc_audio_convert_unpack_s16 */
599 orc_audio_convert_unpack_s16 (gint32 * ORC_RESTRICT d1,
600 const guint8 * ORC_RESTRICT s1, int p1, int n)
603 orc_union32 *ORC_RESTRICT ptr0;
604 const orc_union16 *ORC_RESTRICT ptr4;
609 ptr0 = (orc_union32 *) d1;
610 ptr4 = (orc_union16 *) s1;
613 for (i = 0; i < n; i++) {
617 var35.i = (orc_uint16) var33.i;
619 var34.i = var35.i << p1;
628 _backup_orc_audio_convert_unpack_s16 (OrcExecutor * ORC_RESTRICT ex)
632 orc_union32 *ORC_RESTRICT ptr0;
633 const orc_union16 *ORC_RESTRICT ptr4;
638 ptr0 = (orc_union32 *) ex->arrays[0];
639 ptr4 = (orc_union16 *) ex->arrays[4];
642 for (i = 0; i < n; i++) {
646 var35.i = (orc_uint16) var33.i;
648 var34.i = var35.i << ex->params[24];
656 orc_audio_convert_unpack_s16 (gint32 * ORC_RESTRICT d1,
657 const guint8 * ORC_RESTRICT s1, int p1, int n)
659 OrcExecutor _ex, *ex = &_ex;
660 static int p_inited = 0;
661 static OrcProgram *p = 0;
662 void (*func) (OrcExecutor *);
665 orc_once_mutex_lock ();
668 p = orc_program_new ();
669 orc_program_set_name (p, "orc_audio_convert_unpack_s16");
670 orc_program_set_backup_function (p, _backup_orc_audio_convert_unpack_s16);
671 orc_program_add_destination (p, 4, "d1");
672 orc_program_add_source (p, 2, "s1");
673 orc_program_add_parameter (p, 4, "p1");
674 orc_program_add_temporary (p, 4, "t1");
676 orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
678 orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_P1,
681 orc_program_compile (p);
684 orc_once_mutex_unlock ();
689 ex->arrays[ORC_VAR_D1] = d1;
690 ex->arrays[ORC_VAR_S1] = (void *) s1;
691 ex->params[ORC_VAR_P1] = p1;
699 /* orc_audio_convert_unpack_u16_swap */
702 orc_audio_convert_unpack_u16_swap (gint32 * ORC_RESTRICT d1,
703 const guint8 * ORC_RESTRICT s1, int p1, int n)
706 orc_union32 *ORC_RESTRICT ptr0;
707 const orc_union16 *ORC_RESTRICT ptr4;
715 ptr0 = (orc_union32 *) d1;
716 ptr4 = (orc_union16 *) s1;
719 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
721 for (i = 0; i < n; i++) {
725 var37.i = ORC_SWAP_W (var34.i);
727 var38.i = (orc_uint16) var37.i;
729 var39.i = var38.i << p1;
731 var36.i = var39.i ^ var35.i;
740 _backup_orc_audio_convert_unpack_u16_swap (OrcExecutor * ORC_RESTRICT ex)
744 orc_union32 *ORC_RESTRICT ptr0;
745 const orc_union16 *ORC_RESTRICT ptr4;
753 ptr0 = (orc_union32 *) ex->arrays[0];
754 ptr4 = (orc_union16 *) ex->arrays[4];
757 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
759 for (i = 0; i < n; i++) {
763 var37.i = ORC_SWAP_W (var34.i);
765 var38.i = (orc_uint16) var37.i;
767 var39.i = var38.i << ex->params[24];
769 var36.i = var39.i ^ var35.i;
777 orc_audio_convert_unpack_u16_swap (gint32 * ORC_RESTRICT d1,
778 const guint8 * ORC_RESTRICT s1, int p1, int n)
780 OrcExecutor _ex, *ex = &_ex;
781 static int p_inited = 0;
782 static OrcProgram *p = 0;
783 void (*func) (OrcExecutor *);
786 orc_once_mutex_lock ();
789 p = orc_program_new ();
790 orc_program_set_name (p, "orc_audio_convert_unpack_u16_swap");
791 orc_program_set_backup_function (p,
792 _backup_orc_audio_convert_unpack_u16_swap);
793 orc_program_add_destination (p, 4, "d1");
794 orc_program_add_source (p, 2, "s1");
795 orc_program_add_constant (p, 4, 0x80000000, "c1");
796 orc_program_add_parameter (p, 4, "p1");
797 orc_program_add_temporary (p, 2, "t1");
798 orc_program_add_temporary (p, 4, "t2");
800 orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
802 orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
804 orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
806 orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C1,
809 orc_program_compile (p);
812 orc_once_mutex_unlock ();
817 ex->arrays[ORC_VAR_D1] = d1;
818 ex->arrays[ORC_VAR_S1] = (void *) s1;
819 ex->params[ORC_VAR_P1] = p1;
827 /* orc_audio_convert_unpack_s16_swap */
830 orc_audio_convert_unpack_s16_swap (gint32 * ORC_RESTRICT d1,
831 const guint8 * ORC_RESTRICT s1, int p1, int n)
834 orc_union32 *ORC_RESTRICT ptr0;
835 const orc_union16 *ORC_RESTRICT ptr4;
841 ptr0 = (orc_union32 *) d1;
842 ptr4 = (orc_union16 *) s1;
845 for (i = 0; i < n; i++) {
849 var36.i = ORC_SWAP_W (var34.i);
851 var37.i = (orc_uint16) var36.i;
853 var35.i = var37.i << p1;
862 _backup_orc_audio_convert_unpack_s16_swap (OrcExecutor * ORC_RESTRICT ex)
866 orc_union32 *ORC_RESTRICT ptr0;
867 const orc_union16 *ORC_RESTRICT ptr4;
873 ptr0 = (orc_union32 *) ex->arrays[0];
874 ptr4 = (orc_union16 *) ex->arrays[4];
877 for (i = 0; i < n; i++) {
881 var36.i = ORC_SWAP_W (var34.i);
883 var37.i = (orc_uint16) var36.i;
885 var35.i = var37.i << ex->params[24];
893 orc_audio_convert_unpack_s16_swap (gint32 * ORC_RESTRICT d1,
894 const guint8 * ORC_RESTRICT s1, int p1, int n)
896 OrcExecutor _ex, *ex = &_ex;
897 static int p_inited = 0;
898 static OrcProgram *p = 0;
899 void (*func) (OrcExecutor *);
902 orc_once_mutex_lock ();
905 p = orc_program_new ();
906 orc_program_set_name (p, "orc_audio_convert_unpack_s16_swap");
907 orc_program_set_backup_function (p,
908 _backup_orc_audio_convert_unpack_s16_swap);
909 orc_program_add_destination (p, 4, "d1");
910 orc_program_add_source (p, 2, "s1");
911 orc_program_add_parameter (p, 4, "p1");
912 orc_program_add_temporary (p, 2, "t1");
913 orc_program_add_temporary (p, 4, "t2");
915 orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
917 orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
919 orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_P1,
922 orc_program_compile (p);
925 orc_once_mutex_unlock ();
930 ex->arrays[ORC_VAR_D1] = d1;
931 ex->arrays[ORC_VAR_S1] = (void *) s1;
932 ex->params[ORC_VAR_P1] = p1;
940 /* orc_audio_convert_unpack_u32 */
943 orc_audio_convert_unpack_u32 (gint32 * ORC_RESTRICT d1,
944 const guint8 * ORC_RESTRICT s1, int p1, int n)
947 orc_union32 *ORC_RESTRICT ptr0;
948 const orc_union32 *ORC_RESTRICT ptr4;
954 ptr0 = (orc_union32 *) d1;
955 ptr4 = (orc_union32 *) s1;
958 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
960 for (i = 0; i < n; i++) {
964 var36.i = var33.i << p1;
966 var35.i = var36.i ^ var34.i;
975 _backup_orc_audio_convert_unpack_u32 (OrcExecutor * ORC_RESTRICT ex)
979 orc_union32 *ORC_RESTRICT ptr0;
980 const orc_union32 *ORC_RESTRICT ptr4;
986 ptr0 = (orc_union32 *) ex->arrays[0];
987 ptr4 = (orc_union32 *) ex->arrays[4];
990 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
992 for (i = 0; i < n; i++) {
996 var36.i = var33.i << ex->params[24];
998 var35.i = var36.i ^ var34.i;
1006 orc_audio_convert_unpack_u32 (gint32 * ORC_RESTRICT d1,
1007 const guint8 * ORC_RESTRICT s1, int p1, int n)
1009 OrcExecutor _ex, *ex = &_ex;
1010 static int p_inited = 0;
1011 static OrcProgram *p = 0;
1012 void (*func) (OrcExecutor *);
1015 orc_once_mutex_lock ();
1018 p = orc_program_new ();
1019 orc_program_set_name (p, "orc_audio_convert_unpack_u32");
1020 orc_program_set_backup_function (p, _backup_orc_audio_convert_unpack_u32);
1021 orc_program_add_destination (p, 4, "d1");
1022 orc_program_add_source (p, 4, "s1");
1023 orc_program_add_constant (p, 4, 0x80000000, "c1");
1024 orc_program_add_parameter (p, 4, "p1");
1025 orc_program_add_temporary (p, 4, "t1");
1027 orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
1029 orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
1032 orc_program_compile (p);
1035 orc_once_mutex_unlock ();
1040 ex->arrays[ORC_VAR_D1] = d1;
1041 ex->arrays[ORC_VAR_S1] = (void *) s1;
1042 ex->params[ORC_VAR_P1] = p1;
1044 func = p->code_exec;
1050 /* orc_audio_convert_unpack_s32 */
1053 orc_audio_convert_unpack_s32 (gint32 * ORC_RESTRICT d1,
1054 const guint8 * ORC_RESTRICT s1, int p1, int n)
1057 orc_union32 *ORC_RESTRICT ptr0;
1058 const orc_union32 *ORC_RESTRICT ptr4;
1062 ptr0 = (orc_union32 *) d1;
1063 ptr4 = (orc_union32 *) s1;
1066 for (i = 0; i < n; i++) {
1070 var33.i = var32.i << p1;
1079 _backup_orc_audio_convert_unpack_s32 (OrcExecutor * ORC_RESTRICT ex)
1083 orc_union32 *ORC_RESTRICT ptr0;
1084 const orc_union32 *ORC_RESTRICT ptr4;
1088 ptr0 = (orc_union32 *) ex->arrays[0];
1089 ptr4 = (orc_union32 *) ex->arrays[4];
1092 for (i = 0; i < n; i++) {
1096 var33.i = var32.i << ex->params[24];
1104 orc_audio_convert_unpack_s32 (gint32 * ORC_RESTRICT d1,
1105 const guint8 * ORC_RESTRICT s1, int p1, int n)
1107 OrcExecutor _ex, *ex = &_ex;
1108 static int p_inited = 0;
1109 static OrcProgram *p = 0;
1110 void (*func) (OrcExecutor *);
1113 orc_once_mutex_lock ();
1116 p = orc_program_new ();
1117 orc_program_set_name (p, "orc_audio_convert_unpack_s32");
1118 orc_program_set_backup_function (p, _backup_orc_audio_convert_unpack_s32);
1119 orc_program_add_destination (p, 4, "d1");
1120 orc_program_add_source (p, 4, "s1");
1121 orc_program_add_parameter (p, 4, "p1");
1123 orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_P1,
1126 orc_program_compile (p);
1129 orc_once_mutex_unlock ();
1134 ex->arrays[ORC_VAR_D1] = d1;
1135 ex->arrays[ORC_VAR_S1] = (void *) s1;
1136 ex->params[ORC_VAR_P1] = p1;
1138 func = p->code_exec;
1144 /* orc_audio_convert_unpack_u32_swap */
1147 orc_audio_convert_unpack_u32_swap (gint32 * ORC_RESTRICT d1,
1148 const guint8 * ORC_RESTRICT s1, int p1, int n)
1151 orc_union32 *ORC_RESTRICT ptr0;
1152 const orc_union32 *ORC_RESTRICT ptr4;
1159 ptr0 = (orc_union32 *) d1;
1160 ptr4 = (orc_union32 *) s1;
1163 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
1165 for (i = 0; i < n; i++) {
1169 var36.i = ORC_SWAP_L (var33.i);
1171 var37.i = var36.i << p1;
1173 var35.i = var37.i ^ var34.i;
1182 _backup_orc_audio_convert_unpack_u32_swap (OrcExecutor * ORC_RESTRICT ex)
1186 orc_union32 *ORC_RESTRICT ptr0;
1187 const orc_union32 *ORC_RESTRICT ptr4;
1194 ptr0 = (orc_union32 *) ex->arrays[0];
1195 ptr4 = (orc_union32 *) ex->arrays[4];
1198 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
1200 for (i = 0; i < n; i++) {
1204 var36.i = ORC_SWAP_L (var33.i);
1206 var37.i = var36.i << ex->params[24];
1208 var35.i = var37.i ^ var34.i;
1216 orc_audio_convert_unpack_u32_swap (gint32 * ORC_RESTRICT d1,
1217 const guint8 * ORC_RESTRICT s1, int p1, int n)
1219 OrcExecutor _ex, *ex = &_ex;
1220 static int p_inited = 0;
1221 static OrcProgram *p = 0;
1222 void (*func) (OrcExecutor *);
1225 orc_once_mutex_lock ();
1228 p = orc_program_new ();
1229 orc_program_set_name (p, "orc_audio_convert_unpack_u32_swap");
1230 orc_program_set_backup_function (p,
1231 _backup_orc_audio_convert_unpack_u32_swap);
1232 orc_program_add_destination (p, 4, "d1");
1233 orc_program_add_source (p, 4, "s1");
1234 orc_program_add_constant (p, 4, 0x80000000, "c1");
1235 orc_program_add_parameter (p, 4, "p1");
1236 orc_program_add_temporary (p, 4, "t1");
1238 orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1240 orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
1242 orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
1245 orc_program_compile (p);
1248 orc_once_mutex_unlock ();
1253 ex->arrays[ORC_VAR_D1] = d1;
1254 ex->arrays[ORC_VAR_S1] = (void *) s1;
1255 ex->params[ORC_VAR_P1] = p1;
1257 func = p->code_exec;
1263 /* orc_audio_convert_unpack_s32_swap */
1266 orc_audio_convert_unpack_s32_swap (gint32 * ORC_RESTRICT d1,
1267 const guint8 * ORC_RESTRICT s1, int p1, int n)
1270 orc_union32 *ORC_RESTRICT ptr0;
1271 const orc_union32 *ORC_RESTRICT ptr4;
1276 ptr0 = (orc_union32 *) d1;
1277 ptr4 = (orc_union32 *) s1;
1280 for (i = 0; i < n; i++) {
1284 var35.i = ORC_SWAP_L (var33.i);
1286 var34.i = var35.i << p1;
1295 _backup_orc_audio_convert_unpack_s32_swap (OrcExecutor * ORC_RESTRICT ex)
1299 orc_union32 *ORC_RESTRICT ptr0;
1300 const orc_union32 *ORC_RESTRICT ptr4;
1305 ptr0 = (orc_union32 *) ex->arrays[0];
1306 ptr4 = (orc_union32 *) ex->arrays[4];
1309 for (i = 0; i < n; i++) {
1313 var35.i = ORC_SWAP_L (var33.i);
1315 var34.i = var35.i << ex->params[24];
1323 orc_audio_convert_unpack_s32_swap (gint32 * ORC_RESTRICT d1,
1324 const guint8 * ORC_RESTRICT s1, int p1, int n)
1326 OrcExecutor _ex, *ex = &_ex;
1327 static int p_inited = 0;
1328 static OrcProgram *p = 0;
1329 void (*func) (OrcExecutor *);
1332 orc_once_mutex_lock ();
1335 p = orc_program_new ();
1336 orc_program_set_name (p, "orc_audio_convert_unpack_s32_swap");
1337 orc_program_set_backup_function (p,
1338 _backup_orc_audio_convert_unpack_s32_swap);
1339 orc_program_add_destination (p, 4, "d1");
1340 orc_program_add_source (p, 4, "s1");
1341 orc_program_add_parameter (p, 4, "p1");
1342 orc_program_add_temporary (p, 4, "t1");
1344 orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1346 orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_P1,
1349 orc_program_compile (p);
1352 orc_once_mutex_unlock ();
1357 ex->arrays[ORC_VAR_D1] = d1;
1358 ex->arrays[ORC_VAR_S1] = (void *) s1;
1359 ex->params[ORC_VAR_P1] = p1;
1361 func = p->code_exec;
1367 /* orc_audio_convert_unpack_float_s32 */
1370 orc_audio_convert_unpack_float_s32 (guint32 * ORC_RESTRICT d1,
1371 const gfloat * ORC_RESTRICT s1, int n)
1374 orc_union32 *ORC_RESTRICT ptr0;
1375 const orc_union32 *ORC_RESTRICT ptr4;
1383 ptr0 = (orc_union32 *) d1;
1384 ptr4 = (orc_union32 *) s1;
1387 var33.i = (int) 0x4f000000; /* 1325400064 or 6.54835e-315f */
1389 var34.i = (int) 0x3f000000; /* 1056964608 or 5.2221e-315f */
1391 for (i = 0; i < n; i++) {
1399 _src1.i = ORC_DENORMAL (var36.i);
1400 _src2.i = ORC_DENORMAL (var33.i);
1401 _dest1.f = _src1.f * _src2.f;
1402 var37.i = ORC_DENORMAL (_dest1.i);
1409 _src1.i = ORC_DENORMAL (var37.i);
1410 _src2.i = ORC_DENORMAL (var34.i);
1411 _dest1.f = _src1.f + _src2.f;
1412 var38.i = ORC_DENORMAL (_dest1.i);
1417 tmp = (int) var38.f;
1418 if (tmp == 0x80000000 && !(var38.i & 0x80000000))
1430 _backup_orc_audio_convert_unpack_float_s32 (OrcExecutor * ORC_RESTRICT ex)
1434 orc_union32 *ORC_RESTRICT ptr0;
1435 const orc_union32 *ORC_RESTRICT ptr4;
1443 ptr0 = (orc_union32 *) ex->arrays[0];
1444 ptr4 = (orc_union32 *) ex->arrays[4];
1447 var33.i = (int) 0x4f000000; /* 1325400064 or 6.54835e-315f */
1449 var34.i = (int) 0x3f000000; /* 1056964608 or 5.2221e-315f */
1451 for (i = 0; i < n; i++) {
1459 _src1.i = ORC_DENORMAL (var36.i);
1460 _src2.i = ORC_DENORMAL (var33.i);
1461 _dest1.f = _src1.f * _src2.f;
1462 var37.i = ORC_DENORMAL (_dest1.i);
1469 _src1.i = ORC_DENORMAL (var37.i);
1470 _src2.i = ORC_DENORMAL (var34.i);
1471 _dest1.f = _src1.f + _src2.f;
1472 var38.i = ORC_DENORMAL (_dest1.i);
1477 tmp = (int) var38.f;
1478 if (tmp == 0x80000000 && !(var38.i & 0x80000000))
1489 orc_audio_convert_unpack_float_s32 (guint32 * ORC_RESTRICT d1,
1490 const gfloat * ORC_RESTRICT s1, int n)
1492 OrcExecutor _ex, *ex = &_ex;
1493 static int p_inited = 0;
1494 static OrcProgram *p = 0;
1495 void (*func) (OrcExecutor *);
1498 orc_once_mutex_lock ();
1501 p = orc_program_new ();
1502 orc_program_set_name (p, "orc_audio_convert_unpack_float_s32");
1503 orc_program_set_backup_function (p,
1504 _backup_orc_audio_convert_unpack_float_s32);
1505 orc_program_add_destination (p, 4, "d1");
1506 orc_program_add_source (p, 4, "s1");
1507 orc_program_add_constant (p, 4, 0x4f000000, "c1");
1508 orc_program_add_constant (p, 4, 0x3f000000, "c2");
1509 orc_program_add_temporary (p, 4, "t1");
1511 orc_program_append_2 (p, "loadl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1513 orc_program_append_2 (p, "mulf", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
1515 orc_program_append_2 (p, "addf", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
1517 orc_program_append_2 (p, "convfl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
1520 orc_program_compile (p);
1523 orc_once_mutex_unlock ();
1528 ex->arrays[ORC_VAR_D1] = d1;
1529 ex->arrays[ORC_VAR_S1] = (void *) s1;
1531 func = p->code_exec;
1537 /* orc_audio_convert_unpack_float_s32_swap */
1540 orc_audio_convert_unpack_float_s32_swap (guint32 * ORC_RESTRICT d1,
1541 const gfloat * ORC_RESTRICT s1, int n)
1544 orc_union32 *ORC_RESTRICT ptr0;
1545 const orc_union32 *ORC_RESTRICT ptr4;
1554 ptr0 = (orc_union32 *) d1;
1555 ptr4 = (orc_union32 *) s1;
1558 var34.i = (int) 0x4f000000; /* 1325400064 or 6.54835e-315f */
1560 var35.i = (int) 0x3f000000; /* 1056964608 or 5.2221e-315f */
1562 for (i = 0; i < n; i++) {
1566 var37.i = ORC_SWAP_L (var33.i);
1572 _src1.i = ORC_DENORMAL (var37.i);
1573 _src2.i = ORC_DENORMAL (var34.i);
1574 _dest1.f = _src1.f * _src2.f;
1575 var38.i = ORC_DENORMAL (_dest1.i);
1582 _src1.i = ORC_DENORMAL (var38.i);
1583 _src2.i = ORC_DENORMAL (var35.i);
1584 _dest1.f = _src1.f + _src2.f;
1585 var39.i = ORC_DENORMAL (_dest1.i);
1590 tmp = (int) var39.f;
1591 if (tmp == 0x80000000 && !(var39.i & 0x80000000))
1603 _backup_orc_audio_convert_unpack_float_s32_swap (OrcExecutor * ORC_RESTRICT ex)
1607 orc_union32 *ORC_RESTRICT ptr0;
1608 const orc_union32 *ORC_RESTRICT ptr4;
1617 ptr0 = (orc_union32 *) ex->arrays[0];
1618 ptr4 = (orc_union32 *) ex->arrays[4];
1621 var34.i = (int) 0x4f000000; /* 1325400064 or 6.54835e-315f */
1623 var35.i = (int) 0x3f000000; /* 1056964608 or 5.2221e-315f */
1625 for (i = 0; i < n; i++) {
1629 var37.i = ORC_SWAP_L (var33.i);
1635 _src1.i = ORC_DENORMAL (var37.i);
1636 _src2.i = ORC_DENORMAL (var34.i);
1637 _dest1.f = _src1.f * _src2.f;
1638 var38.i = ORC_DENORMAL (_dest1.i);
1645 _src1.i = ORC_DENORMAL (var38.i);
1646 _src2.i = ORC_DENORMAL (var35.i);
1647 _dest1.f = _src1.f + _src2.f;
1648 var39.i = ORC_DENORMAL (_dest1.i);
1653 tmp = (int) var39.f;
1654 if (tmp == 0x80000000 && !(var39.i & 0x80000000))
1665 orc_audio_convert_unpack_float_s32_swap (guint32 * ORC_RESTRICT d1,
1666 const gfloat * ORC_RESTRICT s1, int n)
1668 OrcExecutor _ex, *ex = &_ex;
1669 static int p_inited = 0;
1670 static OrcProgram *p = 0;
1671 void (*func) (OrcExecutor *);
1674 orc_once_mutex_lock ();
1677 p = orc_program_new ();
1678 orc_program_set_name (p, "orc_audio_convert_unpack_float_s32_swap");
1679 orc_program_set_backup_function (p,
1680 _backup_orc_audio_convert_unpack_float_s32_swap);
1681 orc_program_add_destination (p, 4, "d1");
1682 orc_program_add_source (p, 4, "s1");
1683 orc_program_add_constant (p, 4, 0x4f000000, "c1");
1684 orc_program_add_constant (p, 4, 0x3f000000, "c2");
1685 orc_program_add_temporary (p, 4, "t1");
1687 orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1689 orc_program_append_2 (p, "mulf", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
1691 orc_program_append_2 (p, "addf", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
1693 orc_program_append_2 (p, "convfl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
1696 orc_program_compile (p);
1699 orc_once_mutex_unlock ();
1704 ex->arrays[ORC_VAR_D1] = d1;
1705 ex->arrays[ORC_VAR_S1] = (void *) s1;
1707 func = p->code_exec;
1713 /* orc_audio_convert_unpack_double_s32 */
1716 orc_audio_convert_unpack_double_s32 (guint32 * ORC_RESTRICT d1,
1717 const gdouble * ORC_RESTRICT s1, int n)
1720 orc_union32 *ORC_RESTRICT ptr0;
1721 const orc_union64 *ORC_RESTRICT ptr4;
1729 ptr0 = (orc_union32 *) d1;
1730 ptr4 = (orc_union64 *) s1;
1733 var33.i = ORC_UINT64_C (0x41dfffffffc00000); /* 2.14748e+09f */
1735 var34.i = ORC_UINT64_C (0x3fe0000000000000); /* 0.5f */
1737 for (i = 0; i < n; i++) {
1745 _src1.i = ORC_DENORMAL_DOUBLE (var36.i);
1746 _src2.i = ORC_DENORMAL_DOUBLE (var33.i);
1747 _dest1.f = _src1.f * _src2.f;
1748 var37.i = ORC_DENORMAL_DOUBLE (_dest1.i);
1755 _src1.i = ORC_DENORMAL_DOUBLE (var37.i);
1756 _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
1757 _dest1.f = _src1.f + _src2.f;
1758 var38.i = ORC_DENORMAL_DOUBLE (_dest1.i);
1764 if (tmp == 0x80000000 && !(var38.i & ORC_UINT64_C (0x8000000000000000)))
1776 _backup_orc_audio_convert_unpack_double_s32 (OrcExecutor * ORC_RESTRICT ex)
1780 orc_union32 *ORC_RESTRICT ptr0;
1781 const orc_union64 *ORC_RESTRICT ptr4;
1789 ptr0 = (orc_union32 *) ex->arrays[0];
1790 ptr4 = (orc_union64 *) ex->arrays[4];
1793 var33.i = ORC_UINT64_C (0x41dfffffffc00000); /* 2.14748e+09f */
1795 var34.i = ORC_UINT64_C (0x3fe0000000000000); /* 0.5f */
1797 for (i = 0; i < n; i++) {
1805 _src1.i = ORC_DENORMAL_DOUBLE (var36.i);
1806 _src2.i = ORC_DENORMAL_DOUBLE (var33.i);
1807 _dest1.f = _src1.f * _src2.f;
1808 var37.i = ORC_DENORMAL_DOUBLE (_dest1.i);
1815 _src1.i = ORC_DENORMAL_DOUBLE (var37.i);
1816 _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
1817 _dest1.f = _src1.f + _src2.f;
1818 var38.i = ORC_DENORMAL_DOUBLE (_dest1.i);
1824 if (tmp == 0x80000000 && !(var38.i & ORC_UINT64_C (0x8000000000000000)))
1835 orc_audio_convert_unpack_double_s32 (guint32 * ORC_RESTRICT d1,
1836 const gdouble * ORC_RESTRICT s1, int n)
1838 OrcExecutor _ex, *ex = &_ex;
1839 static int p_inited = 0;
1840 static OrcProgram *p = 0;
1841 void (*func) (OrcExecutor *);
1844 orc_once_mutex_lock ();
1847 p = orc_program_new ();
1848 orc_program_set_name (p, "orc_audio_convert_unpack_double_s32");
1849 orc_program_set_backup_function (p,
1850 _backup_orc_audio_convert_unpack_double_s32);
1851 orc_program_add_destination (p, 4, "d1");
1852 orc_program_add_source (p, 8, "s1");
1853 orc_program_add_constant_int64 (p, 8, 0x41dfffffffc00000ULL, "c1");
1854 orc_program_add_constant_int64 (p, 8, 0x3fe0000000000000ULL, "c2");
1855 orc_program_add_temporary (p, 8, "t1");
1857 orc_program_append_2 (p, "loadq", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1859 orc_program_append_2 (p, "muld", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
1861 orc_program_append_2 (p, "addd", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
1863 orc_program_append_2 (p, "convdl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
1866 orc_program_compile (p);
1869 orc_once_mutex_unlock ();
1874 ex->arrays[ORC_VAR_D1] = d1;
1875 ex->arrays[ORC_VAR_S1] = (void *) s1;
1877 func = p->code_exec;
1883 /* orc_audio_convert_unpack_double_s32_swap */
1886 orc_audio_convert_unpack_double_s32_swap (guint32 * ORC_RESTRICT d1,
1887 const gdouble * ORC_RESTRICT s1, int n)
1890 orc_union32 *ORC_RESTRICT ptr0;
1891 const orc_union64 *ORC_RESTRICT ptr4;
1900 ptr0 = (orc_union32 *) d1;
1901 ptr4 = (orc_union64 *) s1;
1904 var34.i = ORC_UINT64_C (0x41dfffffffc00000); /* 2.14748e+09f */
1906 var35.i = ORC_UINT64_C (0x3fe0000000000000); /* 0.5f */
1908 for (i = 0; i < n; i++) {
1912 var37.i = ORC_SWAP_Q (var33.i);
1918 _src1.i = ORC_DENORMAL_DOUBLE (var37.i);
1919 _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
1920 _dest1.f = _src1.f * _src2.f;
1921 var38.i = ORC_DENORMAL_DOUBLE (_dest1.i);
1928 _src1.i = ORC_DENORMAL_DOUBLE (var38.i);
1929 _src2.i = ORC_DENORMAL_DOUBLE (var35.i);
1930 _dest1.f = _src1.f + _src2.f;
1931 var39.i = ORC_DENORMAL_DOUBLE (_dest1.i);
1937 if (tmp == 0x80000000 && !(var39.i & ORC_UINT64_C (0x8000000000000000)))
1949 _backup_orc_audio_convert_unpack_double_s32_swap (OrcExecutor * ORC_RESTRICT ex)
1953 orc_union32 *ORC_RESTRICT ptr0;
1954 const orc_union64 *ORC_RESTRICT ptr4;
1963 ptr0 = (orc_union32 *) ex->arrays[0];
1964 ptr4 = (orc_union64 *) ex->arrays[4];
1967 var34.i = ORC_UINT64_C (0x41dfffffffc00000); /* 2.14748e+09f */
1969 var35.i = ORC_UINT64_C (0x3fe0000000000000); /* 0.5f */
1971 for (i = 0; i < n; i++) {
1975 var37.i = ORC_SWAP_Q (var33.i);
1981 _src1.i = ORC_DENORMAL_DOUBLE (var37.i);
1982 _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
1983 _dest1.f = _src1.f * _src2.f;
1984 var38.i = ORC_DENORMAL_DOUBLE (_dest1.i);
1991 _src1.i = ORC_DENORMAL_DOUBLE (var38.i);
1992 _src2.i = ORC_DENORMAL_DOUBLE (var35.i);
1993 _dest1.f = _src1.f + _src2.f;
1994 var39.i = ORC_DENORMAL_DOUBLE (_dest1.i);
2000 if (tmp == 0x80000000 && !(var39.i & ORC_UINT64_C (0x8000000000000000)))
2011 orc_audio_convert_unpack_double_s32_swap (guint32 * ORC_RESTRICT d1,
2012 const gdouble * ORC_RESTRICT s1, int n)
2014 OrcExecutor _ex, *ex = &_ex;
2015 static int p_inited = 0;
2016 static OrcProgram *p = 0;
2017 void (*func) (OrcExecutor *);
2020 orc_once_mutex_lock ();
2023 p = orc_program_new ();
2024 orc_program_set_name (p, "orc_audio_convert_unpack_double_s32_swap");
2025 orc_program_set_backup_function (p,
2026 _backup_orc_audio_convert_unpack_double_s32_swap);
2027 orc_program_add_destination (p, 4, "d1");
2028 orc_program_add_source (p, 8, "s1");
2029 orc_program_add_constant_int64 (p, 8, 0x41dfffffffc00000ULL, "c1");
2030 orc_program_add_constant_int64 (p, 8, 0x3fe0000000000000ULL, "c2");
2031 orc_program_add_temporary (p, 8, "t1");
2033 orc_program_append_2 (p, "swapq", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
2035 orc_program_append_2 (p, "muld", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
2037 orc_program_append_2 (p, "addd", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
2039 orc_program_append_2 (p, "convdl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
2042 orc_program_compile (p);
2045 orc_once_mutex_unlock ();
2050 ex->arrays[ORC_VAR_D1] = d1;
2051 ex->arrays[ORC_VAR_S1] = (void *) s1;
2053 func = p->code_exec;
2059 /* orc_audio_convert_unpack_float_double */
2062 orc_audio_convert_unpack_float_double (gdouble * ORC_RESTRICT d1,
2063 const gfloat * ORC_RESTRICT s1, int n)
2066 orc_union64 *ORC_RESTRICT ptr0;
2067 const orc_union32 *ORC_RESTRICT ptr4;
2071 ptr0 = (orc_union64 *) d1;
2072 ptr4 = (orc_union32 *) s1;
2075 for (i = 0; i < n; i++) {
2081 _src1.i = ORC_DENORMAL (var32.i);
2092 _backup_orc_audio_convert_unpack_float_double (OrcExecutor * ORC_RESTRICT ex)
2096 orc_union64 *ORC_RESTRICT ptr0;
2097 const orc_union32 *ORC_RESTRICT ptr4;
2101 ptr0 = (orc_union64 *) ex->arrays[0];
2102 ptr4 = (orc_union32 *) ex->arrays[4];
2105 for (i = 0; i < n; i++) {
2111 _src1.i = ORC_DENORMAL (var32.i);
2121 orc_audio_convert_unpack_float_double (gdouble * ORC_RESTRICT d1,
2122 const gfloat * ORC_RESTRICT s1, int n)
2124 OrcExecutor _ex, *ex = &_ex;
2125 static int p_inited = 0;
2126 static OrcProgram *p = 0;
2127 void (*func) (OrcExecutor *);
2130 orc_once_mutex_lock ();
2133 p = orc_program_new ();
2134 orc_program_set_name (p, "orc_audio_convert_unpack_float_double");
2135 orc_program_set_backup_function (p,
2136 _backup_orc_audio_convert_unpack_float_double);
2137 orc_program_add_destination (p, 8, "d1");
2138 orc_program_add_source (p, 4, "s1");
2140 orc_program_append_2 (p, "convfd", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
2143 orc_program_compile (p);
2146 orc_once_mutex_unlock ();
2151 ex->arrays[ORC_VAR_D1] = d1;
2152 ex->arrays[ORC_VAR_S1] = (void *) s1;
2154 func = p->code_exec;
2160 /* orc_audio_convert_unpack_float_double_swap */
2163 orc_audio_convert_unpack_float_double_swap (gdouble * ORC_RESTRICT d1,
2164 const gfloat * ORC_RESTRICT s1, int n)
2167 orc_union64 *ORC_RESTRICT ptr0;
2168 const orc_union32 *ORC_RESTRICT ptr4;
2173 ptr0 = (orc_union64 *) d1;
2174 ptr4 = (orc_union32 *) s1;
2177 for (i = 0; i < n; i++) {
2181 var35.i = ORC_SWAP_L (var33.i);
2185 _src1.i = ORC_DENORMAL (var35.i);
2196 _backup_orc_audio_convert_unpack_float_double_swap (OrcExecutor *
2201 orc_union64 *ORC_RESTRICT ptr0;
2202 const orc_union32 *ORC_RESTRICT ptr4;
2207 ptr0 = (orc_union64 *) ex->arrays[0];
2208 ptr4 = (orc_union32 *) ex->arrays[4];
2211 for (i = 0; i < n; i++) {
2215 var35.i = ORC_SWAP_L (var33.i);
2219 _src1.i = ORC_DENORMAL (var35.i);
2229 orc_audio_convert_unpack_float_double_swap (gdouble * ORC_RESTRICT d1,
2230 const gfloat * ORC_RESTRICT s1, int n)
2232 OrcExecutor _ex, *ex = &_ex;
2233 static int p_inited = 0;
2234 static OrcProgram *p = 0;
2235 void (*func) (OrcExecutor *);
2238 orc_once_mutex_lock ();
2241 p = orc_program_new ();
2242 orc_program_set_name (p, "orc_audio_convert_unpack_float_double_swap");
2243 orc_program_set_backup_function (p,
2244 _backup_orc_audio_convert_unpack_float_double_swap);
2245 orc_program_add_destination (p, 8, "d1");
2246 orc_program_add_source (p, 4, "s1");
2247 orc_program_add_temporary (p, 4, "t1");
2249 orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
2251 orc_program_append_2 (p, "convfd", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
2254 orc_program_compile (p);
2257 orc_once_mutex_unlock ();
2262 ex->arrays[ORC_VAR_D1] = d1;
2263 ex->arrays[ORC_VAR_S1] = (void *) s1;
2265 func = p->code_exec;
2271 /* orc_audio_convert_unpack_double_double */
2274 orc_audio_convert_unpack_double_double (gdouble * ORC_RESTRICT d1,
2275 const gdouble * ORC_RESTRICT s1, int n)
2278 orc_union64 *ORC_RESTRICT ptr0;
2279 const orc_union64 *ORC_RESTRICT ptr4;
2283 ptr0 = (orc_union64 *) d1;
2284 ptr4 = (orc_union64 *) s1;
2287 for (i = 0; i < n; i++) {
2300 _backup_orc_audio_convert_unpack_double_double (OrcExecutor * ORC_RESTRICT ex)
2304 orc_union64 *ORC_RESTRICT ptr0;
2305 const orc_union64 *ORC_RESTRICT ptr4;
2309 ptr0 = (orc_union64 *) ex->arrays[0];
2310 ptr4 = (orc_union64 *) ex->arrays[4];
2313 for (i = 0; i < n; i++) {
2325 orc_audio_convert_unpack_double_double (gdouble * ORC_RESTRICT d1,
2326 const gdouble * ORC_RESTRICT s1, int n)
2328 OrcExecutor _ex, *ex = &_ex;
2329 static int p_inited = 0;
2330 static OrcProgram *p = 0;
2331 void (*func) (OrcExecutor *);
2334 orc_once_mutex_lock ();
2337 p = orc_program_new ();
2338 orc_program_set_name (p, "orc_audio_convert_unpack_double_double");
2339 orc_program_set_backup_function (p,
2340 _backup_orc_audio_convert_unpack_double_double);
2341 orc_program_add_destination (p, 8, "d1");
2342 orc_program_add_source (p, 8, "s1");
2344 orc_program_append_2 (p, "copyq", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
2347 orc_program_compile (p);
2350 orc_once_mutex_unlock ();
2355 ex->arrays[ORC_VAR_D1] = d1;
2356 ex->arrays[ORC_VAR_S1] = (void *) s1;
2358 func = p->code_exec;
2364 /* orc_audio_convert_unpack_double_double_swap */
2367 orc_audio_convert_unpack_double_double_swap (gdouble * ORC_RESTRICT d1,
2368 const gdouble * ORC_RESTRICT s1, int n)
2371 orc_union64 *ORC_RESTRICT ptr0;
2372 const orc_union64 *ORC_RESTRICT ptr4;
2376 ptr0 = (orc_union64 *) d1;
2377 ptr4 = (orc_union64 *) s1;
2380 for (i = 0; i < n; i++) {
2384 var33.i = ORC_SWAP_Q (var32.i);
2393 _backup_orc_audio_convert_unpack_double_double_swap (OrcExecutor *
2398 orc_union64 *ORC_RESTRICT ptr0;
2399 const orc_union64 *ORC_RESTRICT ptr4;
2403 ptr0 = (orc_union64 *) ex->arrays[0];
2404 ptr4 = (orc_union64 *) ex->arrays[4];
2407 for (i = 0; i < n; i++) {
2411 var33.i = ORC_SWAP_Q (var32.i);
2419 orc_audio_convert_unpack_double_double_swap (gdouble * ORC_RESTRICT d1,
2420 const gdouble * ORC_RESTRICT s1, int n)
2422 OrcExecutor _ex, *ex = &_ex;
2423 static int p_inited = 0;
2424 static OrcProgram *p = 0;
2425 void (*func) (OrcExecutor *);
2428 orc_once_mutex_lock ();
2431 p = orc_program_new ();
2432 orc_program_set_name (p, "orc_audio_convert_unpack_double_double_swap");
2433 orc_program_set_backup_function (p,
2434 _backup_orc_audio_convert_unpack_double_double_swap);
2435 orc_program_add_destination (p, 8, "d1");
2436 orc_program_add_source (p, 8, "s1");
2438 orc_program_append_2 (p, "swapq", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
2441 orc_program_compile (p);
2444 orc_once_mutex_unlock ();
2449 ex->arrays[ORC_VAR_D1] = d1;
2450 ex->arrays[ORC_VAR_S1] = (void *) s1;
2452 func = p->code_exec;
2458 /* orc_audio_convert_unpack_u8_double */
2461 orc_audio_convert_unpack_u8_double (gdouble * ORC_RESTRICT d1,
2462 const guint8 * ORC_RESTRICT s1, int p1, int n)
2465 orc_union64 *ORC_RESTRICT ptr0;
2466 const orc_int8 *ORC_RESTRICT ptr4;
2475 ptr0 = (orc_union64 *) d1;
2476 ptr4 = (orc_int8 *) s1;
2479 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
2481 for (i = 0; i < n; i++) {
2485 var37.i = (orc_uint8) var34;
2487 var38.i = (orc_uint16) var37.i;
2489 var39.i = var38.i << p1;
2491 var40.i = var39.i ^ var35.i;
2502 _backup_orc_audio_convert_unpack_u8_double (OrcExecutor * ORC_RESTRICT ex)
2506 orc_union64 *ORC_RESTRICT ptr0;
2507 const orc_int8 *ORC_RESTRICT ptr4;
2516 ptr0 = (orc_union64 *) ex->arrays[0];
2517 ptr4 = (orc_int8 *) ex->arrays[4];
2520 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
2522 for (i = 0; i < n; i++) {
2526 var37.i = (orc_uint8) var34;
2528 var38.i = (orc_uint16) var37.i;
2530 var39.i = var38.i << ex->params[24];
2532 var40.i = var39.i ^ var35.i;
2542 orc_audio_convert_unpack_u8_double (gdouble * ORC_RESTRICT d1,
2543 const guint8 * ORC_RESTRICT s1, int p1, int n)
2545 OrcExecutor _ex, *ex = &_ex;
2546 static int p_inited = 0;
2547 static OrcProgram *p = 0;
2548 void (*func) (OrcExecutor *);
2551 orc_once_mutex_lock ();
2554 p = orc_program_new ();
2555 orc_program_set_name (p, "orc_audio_convert_unpack_u8_double");
2556 orc_program_set_backup_function (p,
2557 _backup_orc_audio_convert_unpack_u8_double);
2558 orc_program_add_destination (p, 8, "d1");
2559 orc_program_add_source (p, 1, "s1");
2560 orc_program_add_constant (p, 4, 0x80000000, "c1");
2561 orc_program_add_parameter (p, 4, "p1");
2562 orc_program_add_temporary (p, 2, "t1");
2563 orc_program_add_temporary (p, 4, "t2");
2565 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
2567 orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
2569 orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
2571 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
2573 orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
2576 orc_program_compile (p);
2579 orc_once_mutex_unlock ();
2584 ex->arrays[ORC_VAR_D1] = d1;
2585 ex->arrays[ORC_VAR_S1] = (void *) s1;
2586 ex->params[ORC_VAR_P1] = p1;
2588 func = p->code_exec;
2594 /* orc_audio_convert_unpack_s8_double */
2597 orc_audio_convert_unpack_s8_double (gdouble * ORC_RESTRICT d1,
2598 const guint8 * ORC_RESTRICT s1, int p1, int n)
2601 orc_union64 *ORC_RESTRICT ptr0;
2602 const orc_int8 *ORC_RESTRICT ptr4;
2609 ptr0 = (orc_union64 *) d1;
2610 ptr4 = (orc_int8 *) s1;
2613 for (i = 0; i < n; i++) {
2617 var36.i = (orc_uint8) var34;
2619 var37.i = (orc_uint16) var36.i;
2621 var38.i = var37.i << p1;
2632 _backup_orc_audio_convert_unpack_s8_double (OrcExecutor * ORC_RESTRICT ex)
2636 orc_union64 *ORC_RESTRICT ptr0;
2637 const orc_int8 *ORC_RESTRICT ptr4;
2644 ptr0 = (orc_union64 *) ex->arrays[0];
2645 ptr4 = (orc_int8 *) ex->arrays[4];
2648 for (i = 0; i < n; i++) {
2652 var36.i = (orc_uint8) var34;
2654 var37.i = (orc_uint16) var36.i;
2656 var38.i = var37.i << ex->params[24];
2666 orc_audio_convert_unpack_s8_double (gdouble * ORC_RESTRICT d1,
2667 const guint8 * ORC_RESTRICT s1, int p1, int n)
2669 OrcExecutor _ex, *ex = &_ex;
2670 static int p_inited = 0;
2671 static OrcProgram *p = 0;
2672 void (*func) (OrcExecutor *);
2675 orc_once_mutex_lock ();
2678 p = orc_program_new ();
2679 orc_program_set_name (p, "orc_audio_convert_unpack_s8_double");
2680 orc_program_set_backup_function (p,
2681 _backup_orc_audio_convert_unpack_s8_double);
2682 orc_program_add_destination (p, 8, "d1");
2683 orc_program_add_source (p, 1, "s1");
2684 orc_program_add_parameter (p, 4, "p1");
2685 orc_program_add_temporary (p, 2, "t1");
2686 orc_program_add_temporary (p, 4, "t2");
2688 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
2690 orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
2692 orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
2694 orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
2697 orc_program_compile (p);
2700 orc_once_mutex_unlock ();
2705 ex->arrays[ORC_VAR_D1] = d1;
2706 ex->arrays[ORC_VAR_S1] = (void *) s1;
2707 ex->params[ORC_VAR_P1] = p1;
2709 func = p->code_exec;
2715 /* orc_audio_convert_unpack_u16_double */
2718 orc_audio_convert_unpack_u16_double (gdouble * ORC_RESTRICT d1,
2719 const guint8 * ORC_RESTRICT s1, int p1, int n)
2722 orc_union64 *ORC_RESTRICT ptr0;
2723 const orc_union16 *ORC_RESTRICT ptr4;
2731 ptr0 = (orc_union64 *) d1;
2732 ptr4 = (orc_union16 *) s1;
2735 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
2737 for (i = 0; i < n; i++) {
2741 var36.i = (orc_uint16) var33.i;
2743 var37.i = var36.i << p1;
2745 var38.i = var37.i ^ var34.i;
2756 _backup_orc_audio_convert_unpack_u16_double (OrcExecutor * ORC_RESTRICT ex)
2760 orc_union64 *ORC_RESTRICT ptr0;
2761 const orc_union16 *ORC_RESTRICT ptr4;
2769 ptr0 = (orc_union64 *) ex->arrays[0];
2770 ptr4 = (orc_union16 *) ex->arrays[4];
2773 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
2775 for (i = 0; i < n; i++) {
2779 var36.i = (orc_uint16) var33.i;
2781 var37.i = var36.i << ex->params[24];
2783 var38.i = var37.i ^ var34.i;
2793 orc_audio_convert_unpack_u16_double (gdouble * ORC_RESTRICT d1,
2794 const guint8 * ORC_RESTRICT s1, int p1, int n)
2796 OrcExecutor _ex, *ex = &_ex;
2797 static int p_inited = 0;
2798 static OrcProgram *p = 0;
2799 void (*func) (OrcExecutor *);
2802 orc_once_mutex_lock ();
2805 p = orc_program_new ();
2806 orc_program_set_name (p, "orc_audio_convert_unpack_u16_double");
2807 orc_program_set_backup_function (p,
2808 _backup_orc_audio_convert_unpack_u16_double);
2809 orc_program_add_destination (p, 8, "d1");
2810 orc_program_add_source (p, 2, "s1");
2811 orc_program_add_constant (p, 4, 0x80000000, "c1");
2812 orc_program_add_parameter (p, 4, "p1");
2813 orc_program_add_temporary (p, 4, "t1");
2815 orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
2817 orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
2819 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
2821 orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
2824 orc_program_compile (p);
2827 orc_once_mutex_unlock ();
2832 ex->arrays[ORC_VAR_D1] = d1;
2833 ex->arrays[ORC_VAR_S1] = (void *) s1;
2834 ex->params[ORC_VAR_P1] = p1;
2836 func = p->code_exec;
2842 /* orc_audio_convert_unpack_s16_double */
2845 orc_audio_convert_unpack_s16_double (gdouble * ORC_RESTRICT d1,
2846 const guint8 * ORC_RESTRICT s1, int p1, int n)
2849 orc_union64 *ORC_RESTRICT ptr0;
2850 const orc_union16 *ORC_RESTRICT ptr4;
2856 ptr0 = (orc_union64 *) d1;
2857 ptr4 = (orc_union16 *) s1;
2860 for (i = 0; i < n; i++) {
2864 var35.i = (orc_uint16) var33.i;
2866 var36.i = var35.i << p1;
2877 _backup_orc_audio_convert_unpack_s16_double (OrcExecutor * ORC_RESTRICT ex)
2881 orc_union64 *ORC_RESTRICT ptr0;
2882 const orc_union16 *ORC_RESTRICT ptr4;
2888 ptr0 = (orc_union64 *) ex->arrays[0];
2889 ptr4 = (orc_union16 *) ex->arrays[4];
2892 for (i = 0; i < n; i++) {
2896 var35.i = (orc_uint16) var33.i;
2898 var36.i = var35.i << ex->params[24];
2908 orc_audio_convert_unpack_s16_double (gdouble * ORC_RESTRICT d1,
2909 const guint8 * ORC_RESTRICT s1, int p1, int n)
2911 OrcExecutor _ex, *ex = &_ex;
2912 static int p_inited = 0;
2913 static OrcProgram *p = 0;
2914 void (*func) (OrcExecutor *);
2917 orc_once_mutex_lock ();
2920 p = orc_program_new ();
2921 orc_program_set_name (p, "orc_audio_convert_unpack_s16_double");
2922 orc_program_set_backup_function (p,
2923 _backup_orc_audio_convert_unpack_s16_double);
2924 orc_program_add_destination (p, 8, "d1");
2925 orc_program_add_source (p, 2, "s1");
2926 orc_program_add_parameter (p, 4, "p1");
2927 orc_program_add_temporary (p, 4, "t1");
2929 orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
2931 orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
2933 orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
2936 orc_program_compile (p);
2939 orc_once_mutex_unlock ();
2944 ex->arrays[ORC_VAR_D1] = d1;
2945 ex->arrays[ORC_VAR_S1] = (void *) s1;
2946 ex->params[ORC_VAR_P1] = p1;
2948 func = p->code_exec;
2954 /* orc_audio_convert_unpack_u16_double_swap */
2957 orc_audio_convert_unpack_u16_double_swap (gdouble * ORC_RESTRICT d1,
2958 const guint8 * ORC_RESTRICT s1, int p1, int n)
2961 orc_union64 *ORC_RESTRICT ptr0;
2962 const orc_union16 *ORC_RESTRICT ptr4;
2971 ptr0 = (orc_union64 *) d1;
2972 ptr4 = (orc_union16 *) s1;
2975 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
2977 for (i = 0; i < n; i++) {
2981 var37.i = ORC_SWAP_W (var34.i);
2983 var38.i = (orc_uint16) var37.i;
2985 var39.i = var38.i << p1;
2987 var40.i = var39.i ^ var35.i;
2998 _backup_orc_audio_convert_unpack_u16_double_swap (OrcExecutor * ORC_RESTRICT ex)
3002 orc_union64 *ORC_RESTRICT ptr0;
3003 const orc_union16 *ORC_RESTRICT ptr4;
3012 ptr0 = (orc_union64 *) ex->arrays[0];
3013 ptr4 = (orc_union16 *) ex->arrays[4];
3016 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
3018 for (i = 0; i < n; i++) {
3022 var37.i = ORC_SWAP_W (var34.i);
3024 var38.i = (orc_uint16) var37.i;
3026 var39.i = var38.i << ex->params[24];
3028 var40.i = var39.i ^ var35.i;
3038 orc_audio_convert_unpack_u16_double_swap (gdouble * ORC_RESTRICT d1,
3039 const guint8 * ORC_RESTRICT s1, int p1, int n)
3041 OrcExecutor _ex, *ex = &_ex;
3042 static int p_inited = 0;
3043 static OrcProgram *p = 0;
3044 void (*func) (OrcExecutor *);
3047 orc_once_mutex_lock ();
3050 p = orc_program_new ();
3051 orc_program_set_name (p, "orc_audio_convert_unpack_u16_double_swap");
3052 orc_program_set_backup_function (p,
3053 _backup_orc_audio_convert_unpack_u16_double_swap);
3054 orc_program_add_destination (p, 8, "d1");
3055 orc_program_add_source (p, 2, "s1");
3056 orc_program_add_constant (p, 4, 0x80000000, "c1");
3057 orc_program_add_parameter (p, 4, "p1");
3058 orc_program_add_temporary (p, 2, "t1");
3059 orc_program_add_temporary (p, 4, "t2");
3061 orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
3063 orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
3065 orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
3067 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
3069 orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
3072 orc_program_compile (p);
3075 orc_once_mutex_unlock ();
3080 ex->arrays[ORC_VAR_D1] = d1;
3081 ex->arrays[ORC_VAR_S1] = (void *) s1;
3082 ex->params[ORC_VAR_P1] = p1;
3084 func = p->code_exec;
3090 /* orc_audio_convert_unpack_s16_double_swap */
3093 orc_audio_convert_unpack_s16_double_swap (gdouble * ORC_RESTRICT d1,
3094 const guint8 * ORC_RESTRICT s1, int p1, int n)
3097 orc_union64 *ORC_RESTRICT ptr0;
3098 const orc_union16 *ORC_RESTRICT ptr4;
3105 ptr0 = (orc_union64 *) d1;
3106 ptr4 = (orc_union16 *) s1;
3109 for (i = 0; i < n; i++) {
3113 var36.i = ORC_SWAP_W (var34.i);
3115 var37.i = (orc_uint16) var36.i;
3117 var38.i = var37.i << p1;
3128 _backup_orc_audio_convert_unpack_s16_double_swap (OrcExecutor * ORC_RESTRICT ex)
3132 orc_union64 *ORC_RESTRICT ptr0;
3133 const orc_union16 *ORC_RESTRICT ptr4;
3140 ptr0 = (orc_union64 *) ex->arrays[0];
3141 ptr4 = (orc_union16 *) ex->arrays[4];
3144 for (i = 0; i < n; i++) {
3148 var36.i = ORC_SWAP_W (var34.i);
3150 var37.i = (orc_uint16) var36.i;
3152 var38.i = var37.i << ex->params[24];
3162 orc_audio_convert_unpack_s16_double_swap (gdouble * ORC_RESTRICT d1,
3163 const guint8 * ORC_RESTRICT s1, int p1, int n)
3165 OrcExecutor _ex, *ex = &_ex;
3166 static int p_inited = 0;
3167 static OrcProgram *p = 0;
3168 void (*func) (OrcExecutor *);
3171 orc_once_mutex_lock ();
3174 p = orc_program_new ();
3175 orc_program_set_name (p, "orc_audio_convert_unpack_s16_double_swap");
3176 orc_program_set_backup_function (p,
3177 _backup_orc_audio_convert_unpack_s16_double_swap);
3178 orc_program_add_destination (p, 8, "d1");
3179 orc_program_add_source (p, 2, "s1");
3180 orc_program_add_parameter (p, 4, "p1");
3181 orc_program_add_temporary (p, 2, "t1");
3182 orc_program_add_temporary (p, 4, "t2");
3184 orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
3186 orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
3188 orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
3190 orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
3193 orc_program_compile (p);
3196 orc_once_mutex_unlock ();
3201 ex->arrays[ORC_VAR_D1] = d1;
3202 ex->arrays[ORC_VAR_S1] = (void *) s1;
3203 ex->params[ORC_VAR_P1] = p1;
3205 func = p->code_exec;
3211 /* orc_audio_convert_unpack_u32_double */
3214 orc_audio_convert_unpack_u32_double (gdouble * ORC_RESTRICT d1,
3215 const guint8 * ORC_RESTRICT s1, int p1, int n)
3218 orc_union64 *ORC_RESTRICT ptr0;
3219 const orc_union32 *ORC_RESTRICT ptr4;
3226 ptr0 = (orc_union64 *) d1;
3227 ptr4 = (orc_union32 *) s1;
3230 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
3232 for (i = 0; i < n; i++) {
3236 var36.i = var33.i << p1;
3238 var37.i = var36.i ^ var34.i;
3249 _backup_orc_audio_convert_unpack_u32_double (OrcExecutor * ORC_RESTRICT ex)
3253 orc_union64 *ORC_RESTRICT ptr0;
3254 const orc_union32 *ORC_RESTRICT ptr4;
3261 ptr0 = (orc_union64 *) ex->arrays[0];
3262 ptr4 = (orc_union32 *) ex->arrays[4];
3265 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
3267 for (i = 0; i < n; i++) {
3271 var36.i = var33.i << ex->params[24];
3273 var37.i = var36.i ^ var34.i;
3283 orc_audio_convert_unpack_u32_double (gdouble * ORC_RESTRICT d1,
3284 const guint8 * ORC_RESTRICT s1, int p1, int n)
3286 OrcExecutor _ex, *ex = &_ex;
3287 static int p_inited = 0;
3288 static OrcProgram *p = 0;
3289 void (*func) (OrcExecutor *);
3292 orc_once_mutex_lock ();
3295 p = orc_program_new ();
3296 orc_program_set_name (p, "orc_audio_convert_unpack_u32_double");
3297 orc_program_set_backup_function (p,
3298 _backup_orc_audio_convert_unpack_u32_double);
3299 orc_program_add_destination (p, 8, "d1");
3300 orc_program_add_source (p, 4, "s1");
3301 orc_program_add_constant (p, 4, 0x80000000, "c1");
3302 orc_program_add_parameter (p, 4, "p1");
3303 orc_program_add_temporary (p, 4, "t1");
3305 orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
3307 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
3309 orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
3312 orc_program_compile (p);
3315 orc_once_mutex_unlock ();
3320 ex->arrays[ORC_VAR_D1] = d1;
3321 ex->arrays[ORC_VAR_S1] = (void *) s1;
3322 ex->params[ORC_VAR_P1] = p1;
3324 func = p->code_exec;
3330 /* orc_audio_convert_unpack_s32_double */
3333 orc_audio_convert_unpack_s32_double (gdouble * ORC_RESTRICT d1,
3334 const guint8 * ORC_RESTRICT s1, int p1, int n)
3337 orc_union64 *ORC_RESTRICT ptr0;
3338 const orc_union32 *ORC_RESTRICT ptr4;
3343 ptr0 = (orc_union64 *) d1;
3344 ptr4 = (orc_union32 *) s1;
3347 for (i = 0; i < n; i++) {
3351 var35.i = var33.i << p1;
3362 _backup_orc_audio_convert_unpack_s32_double (OrcExecutor * ORC_RESTRICT ex)
3366 orc_union64 *ORC_RESTRICT ptr0;
3367 const orc_union32 *ORC_RESTRICT ptr4;
3372 ptr0 = (orc_union64 *) ex->arrays[0];
3373 ptr4 = (orc_union32 *) ex->arrays[4];
3376 for (i = 0; i < n; i++) {
3380 var35.i = var33.i << ex->params[24];
3390 orc_audio_convert_unpack_s32_double (gdouble * ORC_RESTRICT d1,
3391 const guint8 * ORC_RESTRICT s1, int p1, int n)
3393 OrcExecutor _ex, *ex = &_ex;
3394 static int p_inited = 0;
3395 static OrcProgram *p = 0;
3396 void (*func) (OrcExecutor *);
3399 orc_once_mutex_lock ();
3402 p = orc_program_new ();
3403 orc_program_set_name (p, "orc_audio_convert_unpack_s32_double");
3404 orc_program_set_backup_function (p,
3405 _backup_orc_audio_convert_unpack_s32_double);
3406 orc_program_add_destination (p, 8, "d1");
3407 orc_program_add_source (p, 4, "s1");
3408 orc_program_add_parameter (p, 4, "p1");
3409 orc_program_add_temporary (p, 4, "t1");
3411 orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
3413 orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
3416 orc_program_compile (p);
3419 orc_once_mutex_unlock ();
3424 ex->arrays[ORC_VAR_D1] = d1;
3425 ex->arrays[ORC_VAR_S1] = (void *) s1;
3426 ex->params[ORC_VAR_P1] = p1;
3428 func = p->code_exec;
3434 /* orc_audio_convert_unpack_u32_double_swap */
3437 orc_audio_convert_unpack_u32_double_swap (gdouble * ORC_RESTRICT d1,
3438 const guint8 * ORC_RESTRICT s1, int p1, int n)
3441 orc_union64 *ORC_RESTRICT ptr0;
3442 const orc_union32 *ORC_RESTRICT ptr4;
3450 ptr0 = (orc_union64 *) d1;
3451 ptr4 = (orc_union32 *) s1;
3454 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
3456 for (i = 0; i < n; i++) {
3460 var36.i = ORC_SWAP_L (var33.i);
3462 var37.i = var36.i << p1;
3464 var38.i = var37.i ^ var34.i;
3475 _backup_orc_audio_convert_unpack_u32_double_swap (OrcExecutor * ORC_RESTRICT ex)
3479 orc_union64 *ORC_RESTRICT ptr0;
3480 const orc_union32 *ORC_RESTRICT ptr4;
3488 ptr0 = (orc_union64 *) ex->arrays[0];
3489 ptr4 = (orc_union32 *) ex->arrays[4];
3492 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
3494 for (i = 0; i < n; i++) {
3498 var36.i = ORC_SWAP_L (var33.i);
3500 var37.i = var36.i << ex->params[24];
3502 var38.i = var37.i ^ var34.i;
3512 orc_audio_convert_unpack_u32_double_swap (gdouble * ORC_RESTRICT d1,
3513 const guint8 * ORC_RESTRICT s1, int p1, int n)
3515 OrcExecutor _ex, *ex = &_ex;
3516 static int p_inited = 0;
3517 static OrcProgram *p = 0;
3518 void (*func) (OrcExecutor *);
3521 orc_once_mutex_lock ();
3524 p = orc_program_new ();
3525 orc_program_set_name (p, "orc_audio_convert_unpack_u32_double_swap");
3526 orc_program_set_backup_function (p,
3527 _backup_orc_audio_convert_unpack_u32_double_swap);
3528 orc_program_add_destination (p, 8, "d1");
3529 orc_program_add_source (p, 4, "s1");
3530 orc_program_add_constant (p, 4, 0x80000000, "c1");
3531 orc_program_add_parameter (p, 4, "p1");
3532 orc_program_add_temporary (p, 4, "t1");
3534 orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
3536 orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
3538 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
3540 orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
3543 orc_program_compile (p);
3546 orc_once_mutex_unlock ();
3551 ex->arrays[ORC_VAR_D1] = d1;
3552 ex->arrays[ORC_VAR_S1] = (void *) s1;
3553 ex->params[ORC_VAR_P1] = p1;
3555 func = p->code_exec;
3561 /* orc_audio_convert_unpack_s32_double_swap */
3564 orc_audio_convert_unpack_s32_double_swap (gdouble * ORC_RESTRICT d1,
3565 const guint8 * ORC_RESTRICT s1, int p1, int n)
3568 orc_union64 *ORC_RESTRICT ptr0;
3569 const orc_union32 *ORC_RESTRICT ptr4;
3575 ptr0 = (orc_union64 *) d1;
3576 ptr4 = (orc_union32 *) s1;
3579 for (i = 0; i < n; i++) {
3583 var35.i = ORC_SWAP_L (var33.i);
3585 var36.i = var35.i << p1;
3596 _backup_orc_audio_convert_unpack_s32_double_swap (OrcExecutor * ORC_RESTRICT ex)
3600 orc_union64 *ORC_RESTRICT ptr0;
3601 const orc_union32 *ORC_RESTRICT ptr4;
3607 ptr0 = (orc_union64 *) ex->arrays[0];
3608 ptr4 = (orc_union32 *) ex->arrays[4];
3611 for (i = 0; i < n; i++) {
3615 var35.i = ORC_SWAP_L (var33.i);
3617 var36.i = var35.i << ex->params[24];
3627 orc_audio_convert_unpack_s32_double_swap (gdouble * ORC_RESTRICT d1,
3628 const guint8 * ORC_RESTRICT s1, int p1, int n)
3630 OrcExecutor _ex, *ex = &_ex;
3631 static int p_inited = 0;
3632 static OrcProgram *p = 0;
3633 void (*func) (OrcExecutor *);
3636 orc_once_mutex_lock ();
3639 p = orc_program_new ();
3640 orc_program_set_name (p, "orc_audio_convert_unpack_s32_double_swap");
3641 orc_program_set_backup_function (p,
3642 _backup_orc_audio_convert_unpack_s32_double_swap);
3643 orc_program_add_destination (p, 8, "d1");
3644 orc_program_add_source (p, 4, "s1");
3645 orc_program_add_parameter (p, 4, "p1");
3646 orc_program_add_temporary (p, 4, "t1");
3648 orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
3650 orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
3652 orc_program_append_2 (p, "convld", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
3655 orc_program_compile (p);
3658 orc_once_mutex_unlock ();
3663 ex->arrays[ORC_VAR_D1] = d1;
3664 ex->arrays[ORC_VAR_S1] = (void *) s1;
3665 ex->params[ORC_VAR_P1] = p1;
3667 func = p->code_exec;
3673 /* orc_audio_convert_pack_u8 */
3676 orc_audio_convert_pack_u8 (guint8 * ORC_RESTRICT d1,
3677 const gint32 * ORC_RESTRICT s1, int p1, int n)
3680 orc_int8 *ORC_RESTRICT ptr0;
3681 const orc_union32 *ORC_RESTRICT ptr4;
3689 ptr0 = (orc_int8 *) d1;
3690 ptr4 = (orc_union32 *) s1;
3693 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
3695 for (i = 0; i < n; i++) {
3699 var37.i = var34.i ^ var35.i;
3701 var38.i = ((orc_uint32) var37.i) >> p1;
3714 _backup_orc_audio_convert_pack_u8 (OrcExecutor * ORC_RESTRICT ex)
3718 orc_int8 *ORC_RESTRICT ptr0;
3719 const orc_union32 *ORC_RESTRICT ptr4;
3727 ptr0 = (orc_int8 *) ex->arrays[0];
3728 ptr4 = (orc_union32 *) ex->arrays[4];
3731 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
3733 for (i = 0; i < n; i++) {
3737 var37.i = var34.i ^ var35.i;
3739 var38.i = ((orc_uint32) var37.i) >> ex->params[24];
3751 orc_audio_convert_pack_u8 (guint8 * ORC_RESTRICT d1,
3752 const gint32 * ORC_RESTRICT s1, int p1, int n)
3754 OrcExecutor _ex, *ex = &_ex;
3755 static int p_inited = 0;
3756 static OrcProgram *p = 0;
3757 void (*func) (OrcExecutor *);
3760 orc_once_mutex_lock ();
3763 p = orc_program_new ();
3764 orc_program_set_name (p, "orc_audio_convert_pack_u8");
3765 orc_program_set_backup_function (p, _backup_orc_audio_convert_pack_u8);
3766 orc_program_add_destination (p, 1, "d1");
3767 orc_program_add_source (p, 4, "s1");
3768 orc_program_add_constant (p, 4, 0x80000000, "c1");
3769 orc_program_add_parameter (p, 4, "p1");
3770 orc_program_add_temporary (p, 4, "t1");
3771 orc_program_add_temporary (p, 2, "t2");
3773 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
3775 orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
3777 orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
3779 orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
3782 orc_program_compile (p);
3785 orc_once_mutex_unlock ();
3790 ex->arrays[ORC_VAR_D1] = d1;
3791 ex->arrays[ORC_VAR_S1] = (void *) s1;
3792 ex->params[ORC_VAR_P1] = p1;
3794 func = p->code_exec;
3800 /* orc_audio_convert_pack_s8 */
3803 orc_audio_convert_pack_s8 (guint8 * ORC_RESTRICT d1,
3804 const gint32 * ORC_RESTRICT s1, int p1, int n)
3807 orc_int8 *ORC_RESTRICT ptr0;
3808 const orc_union32 *ORC_RESTRICT ptr4;
3814 ptr0 = (orc_int8 *) d1;
3815 ptr4 = (orc_union32 *) s1;
3818 for (i = 0; i < n; i++) {
3822 var36.i = var34.i >> p1;
3835 _backup_orc_audio_convert_pack_s8 (OrcExecutor * ORC_RESTRICT ex)
3839 orc_int8 *ORC_RESTRICT ptr0;
3840 const orc_union32 *ORC_RESTRICT ptr4;
3846 ptr0 = (orc_int8 *) ex->arrays[0];
3847 ptr4 = (orc_union32 *) ex->arrays[4];
3850 for (i = 0; i < n; i++) {
3854 var36.i = var34.i >> ex->params[24];
3866 orc_audio_convert_pack_s8 (guint8 * ORC_RESTRICT d1,
3867 const gint32 * ORC_RESTRICT s1, int p1, int n)
3869 OrcExecutor _ex, *ex = &_ex;
3870 static int p_inited = 0;
3871 static OrcProgram *p = 0;
3872 void (*func) (OrcExecutor *);
3875 orc_once_mutex_lock ();
3878 p = orc_program_new ();
3879 orc_program_set_name (p, "orc_audio_convert_pack_s8");
3880 orc_program_set_backup_function (p, _backup_orc_audio_convert_pack_s8);
3881 orc_program_add_destination (p, 1, "d1");
3882 orc_program_add_source (p, 4, "s1");
3883 orc_program_add_parameter (p, 4, "p1");
3884 orc_program_add_temporary (p, 4, "t1");
3885 orc_program_add_temporary (p, 2, "t2");
3887 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
3889 orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
3891 orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
3894 orc_program_compile (p);
3897 orc_once_mutex_unlock ();
3902 ex->arrays[ORC_VAR_D1] = d1;
3903 ex->arrays[ORC_VAR_S1] = (void *) s1;
3904 ex->params[ORC_VAR_P1] = p1;
3906 func = p->code_exec;
3912 /* orc_audio_convert_pack_u16 */
3915 orc_audio_convert_pack_u16 (guint8 * ORC_RESTRICT d1,
3916 const gint32 * ORC_RESTRICT s1, int p1, int n)
3919 orc_union16 *ORC_RESTRICT ptr0;
3920 const orc_union32 *ORC_RESTRICT ptr4;
3927 ptr0 = (orc_union16 *) d1;
3928 ptr4 = (orc_union32 *) s1;
3931 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
3933 for (i = 0; i < n; i++) {
3937 var36.i = var33.i ^ var34.i;
3939 var37.i = ((orc_uint32) var36.i) >> p1;
3950 _backup_orc_audio_convert_pack_u16 (OrcExecutor * ORC_RESTRICT ex)
3954 orc_union16 *ORC_RESTRICT ptr0;
3955 const orc_union32 *ORC_RESTRICT ptr4;
3962 ptr0 = (orc_union16 *) ex->arrays[0];
3963 ptr4 = (orc_union32 *) ex->arrays[4];
3966 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
3968 for (i = 0; i < n; i++) {
3972 var36.i = var33.i ^ var34.i;
3974 var37.i = ((orc_uint32) var36.i) >> ex->params[24];
3984 orc_audio_convert_pack_u16 (guint8 * ORC_RESTRICT d1,
3985 const gint32 * ORC_RESTRICT s1, int p1, int n)
3987 OrcExecutor _ex, *ex = &_ex;
3988 static int p_inited = 0;
3989 static OrcProgram *p = 0;
3990 void (*func) (OrcExecutor *);
3993 orc_once_mutex_lock ();
3996 p = orc_program_new ();
3997 orc_program_set_name (p, "orc_audio_convert_pack_u16");
3998 orc_program_set_backup_function (p, _backup_orc_audio_convert_pack_u16);
3999 orc_program_add_destination (p, 2, "d1");
4000 orc_program_add_source (p, 4, "s1");
4001 orc_program_add_constant (p, 4, 0x80000000, "c1");
4002 orc_program_add_parameter (p, 4, "p1");
4003 orc_program_add_temporary (p, 4, "t1");
4005 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
4007 orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
4009 orc_program_append_2 (p, "convlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
4012 orc_program_compile (p);
4015 orc_once_mutex_unlock ();
4020 ex->arrays[ORC_VAR_D1] = d1;
4021 ex->arrays[ORC_VAR_S1] = (void *) s1;
4022 ex->params[ORC_VAR_P1] = p1;
4024 func = p->code_exec;
4030 /* orc_audio_convert_pack_s16 */
4033 orc_audio_convert_pack_s16 (guint8 * ORC_RESTRICT d1,
4034 const gint32 * ORC_RESTRICT s1, int p1, int n)
4037 orc_union16 *ORC_RESTRICT ptr0;
4038 const orc_union32 *ORC_RESTRICT ptr4;
4043 ptr0 = (orc_union16 *) d1;
4044 ptr4 = (orc_union32 *) s1;
4047 for (i = 0; i < n; i++) {
4051 var35.i = var33.i >> p1;
4062 _backup_orc_audio_convert_pack_s16 (OrcExecutor * ORC_RESTRICT ex)
4066 orc_union16 *ORC_RESTRICT ptr0;
4067 const orc_union32 *ORC_RESTRICT ptr4;
4072 ptr0 = (orc_union16 *) ex->arrays[0];
4073 ptr4 = (orc_union32 *) ex->arrays[4];
4076 for (i = 0; i < n; i++) {
4080 var35.i = var33.i >> ex->params[24];
4090 orc_audio_convert_pack_s16 (guint8 * ORC_RESTRICT d1,
4091 const gint32 * ORC_RESTRICT s1, int p1, int n)
4093 OrcExecutor _ex, *ex = &_ex;
4094 static int p_inited = 0;
4095 static OrcProgram *p = 0;
4096 void (*func) (OrcExecutor *);
4099 orc_once_mutex_lock ();
4102 p = orc_program_new ();
4103 orc_program_set_name (p, "orc_audio_convert_pack_s16");
4104 orc_program_set_backup_function (p, _backup_orc_audio_convert_pack_s16);
4105 orc_program_add_destination (p, 2, "d1");
4106 orc_program_add_source (p, 4, "s1");
4107 orc_program_add_parameter (p, 4, "p1");
4108 orc_program_add_temporary (p, 4, "t1");
4110 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
4112 orc_program_append_2 (p, "convlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
4115 orc_program_compile (p);
4118 orc_once_mutex_unlock ();
4123 ex->arrays[ORC_VAR_D1] = d1;
4124 ex->arrays[ORC_VAR_S1] = (void *) s1;
4125 ex->params[ORC_VAR_P1] = p1;
4127 func = p->code_exec;
4133 /* orc_audio_convert_pack_u16_swap */
4136 orc_audio_convert_pack_u16_swap (guint8 * ORC_RESTRICT d1,
4137 const gint32 * ORC_RESTRICT s1, int p1, int n)
4140 orc_union16 *ORC_RESTRICT ptr0;
4141 const orc_union32 *ORC_RESTRICT ptr4;
4149 ptr0 = (orc_union16 *) d1;
4150 ptr4 = (orc_union32 *) s1;
4153 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
4155 for (i = 0; i < n; i++) {
4159 var37.i = var34.i ^ var35.i;
4161 var38.i = ((orc_uint32) var37.i) >> p1;
4165 var36.i = ORC_SWAP_W (var39.i);
4174 _backup_orc_audio_convert_pack_u16_swap (OrcExecutor * ORC_RESTRICT ex)
4178 orc_union16 *ORC_RESTRICT ptr0;
4179 const orc_union32 *ORC_RESTRICT ptr4;
4187 ptr0 = (orc_union16 *) ex->arrays[0];
4188 ptr4 = (orc_union32 *) ex->arrays[4];
4191 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
4193 for (i = 0; i < n; i++) {
4197 var37.i = var34.i ^ var35.i;
4199 var38.i = ((orc_uint32) var37.i) >> ex->params[24];
4203 var36.i = ORC_SWAP_W (var39.i);
4211 orc_audio_convert_pack_u16_swap (guint8 * ORC_RESTRICT d1,
4212 const gint32 * ORC_RESTRICT s1, int p1, int n)
4214 OrcExecutor _ex, *ex = &_ex;
4215 static int p_inited = 0;
4216 static OrcProgram *p = 0;
4217 void (*func) (OrcExecutor *);
4220 orc_once_mutex_lock ();
4223 p = orc_program_new ();
4224 orc_program_set_name (p, "orc_audio_convert_pack_u16_swap");
4225 orc_program_set_backup_function (p,
4226 _backup_orc_audio_convert_pack_u16_swap);
4227 orc_program_add_destination (p, 2, "d1");
4228 orc_program_add_source (p, 4, "s1");
4229 orc_program_add_constant (p, 4, 0x80000000, "c1");
4230 orc_program_add_parameter (p, 4, "p1");
4231 orc_program_add_temporary (p, 4, "t1");
4232 orc_program_add_temporary (p, 2, "t2");
4234 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
4236 orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
4238 orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
4240 orc_program_append_2 (p, "swapw", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
4243 orc_program_compile (p);
4246 orc_once_mutex_unlock ();
4251 ex->arrays[ORC_VAR_D1] = d1;
4252 ex->arrays[ORC_VAR_S1] = (void *) s1;
4253 ex->params[ORC_VAR_P1] = p1;
4255 func = p->code_exec;
4261 /* orc_audio_convert_pack_s16_swap */
4264 orc_audio_convert_pack_s16_swap (guint8 * ORC_RESTRICT d1,
4265 const gint32 * ORC_RESTRICT s1, int p1, int n)
4268 orc_union16 *ORC_RESTRICT ptr0;
4269 const orc_union32 *ORC_RESTRICT ptr4;
4275 ptr0 = (orc_union16 *) d1;
4276 ptr4 = (orc_union32 *) s1;
4279 for (i = 0; i < n; i++) {
4283 var36.i = var34.i >> p1;
4287 var35.i = ORC_SWAP_W (var37.i);
4296 _backup_orc_audio_convert_pack_s16_swap (OrcExecutor * ORC_RESTRICT ex)
4300 orc_union16 *ORC_RESTRICT ptr0;
4301 const orc_union32 *ORC_RESTRICT ptr4;
4307 ptr0 = (orc_union16 *) ex->arrays[0];
4308 ptr4 = (orc_union32 *) ex->arrays[4];
4311 for (i = 0; i < n; i++) {
4315 var36.i = var34.i >> ex->params[24];
4319 var35.i = ORC_SWAP_W (var37.i);
4327 orc_audio_convert_pack_s16_swap (guint8 * ORC_RESTRICT d1,
4328 const gint32 * ORC_RESTRICT s1, int p1, int n)
4330 OrcExecutor _ex, *ex = &_ex;
4331 static int p_inited = 0;
4332 static OrcProgram *p = 0;
4333 void (*func) (OrcExecutor *);
4336 orc_once_mutex_lock ();
4339 p = orc_program_new ();
4340 orc_program_set_name (p, "orc_audio_convert_pack_s16_swap");
4341 orc_program_set_backup_function (p,
4342 _backup_orc_audio_convert_pack_s16_swap);
4343 orc_program_add_destination (p, 2, "d1");
4344 orc_program_add_source (p, 4, "s1");
4345 orc_program_add_parameter (p, 4, "p1");
4346 orc_program_add_temporary (p, 4, "t1");
4347 orc_program_add_temporary (p, 2, "t2");
4349 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
4351 orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
4353 orc_program_append_2 (p, "swapw", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
4356 orc_program_compile (p);
4359 orc_once_mutex_unlock ();
4364 ex->arrays[ORC_VAR_D1] = d1;
4365 ex->arrays[ORC_VAR_S1] = (void *) s1;
4366 ex->params[ORC_VAR_P1] = p1;
4368 func = p->code_exec;
4374 /* orc_audio_convert_pack_u32 */
4377 orc_audio_convert_pack_u32 (guint8 * ORC_RESTRICT d1,
4378 const gint32 * ORC_RESTRICT s1, int p1, int n)
4381 orc_union32 *ORC_RESTRICT ptr0;
4382 const orc_union32 *ORC_RESTRICT ptr4;
4388 ptr0 = (orc_union32 *) d1;
4389 ptr4 = (orc_union32 *) s1;
4392 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
4394 for (i = 0; i < n; i++) {
4398 var36.i = var33.i ^ var34.i;
4400 var35.i = ((orc_uint32) var36.i) >> p1;
4409 _backup_orc_audio_convert_pack_u32 (OrcExecutor * ORC_RESTRICT ex)
4413 orc_union32 *ORC_RESTRICT ptr0;
4414 const orc_union32 *ORC_RESTRICT ptr4;
4420 ptr0 = (orc_union32 *) ex->arrays[0];
4421 ptr4 = (orc_union32 *) ex->arrays[4];
4424 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
4426 for (i = 0; i < n; i++) {
4430 var36.i = var33.i ^ var34.i;
4432 var35.i = ((orc_uint32) var36.i) >> ex->params[24];
4440 orc_audio_convert_pack_u32 (guint8 * ORC_RESTRICT d1,
4441 const gint32 * ORC_RESTRICT s1, int p1, int n)
4443 OrcExecutor _ex, *ex = &_ex;
4444 static int p_inited = 0;
4445 static OrcProgram *p = 0;
4446 void (*func) (OrcExecutor *);
4449 orc_once_mutex_lock ();
4452 p = orc_program_new ();
4453 orc_program_set_name (p, "orc_audio_convert_pack_u32");
4454 orc_program_set_backup_function (p, _backup_orc_audio_convert_pack_u32);
4455 orc_program_add_destination (p, 4, "d1");
4456 orc_program_add_source (p, 4, "s1");
4457 orc_program_add_constant (p, 4, 0x80000000, "c1");
4458 orc_program_add_parameter (p, 4, "p1");
4459 orc_program_add_temporary (p, 4, "t1");
4461 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
4463 orc_program_append_2 (p, "shrul", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_P1,
4466 orc_program_compile (p);
4469 orc_once_mutex_unlock ();
4474 ex->arrays[ORC_VAR_D1] = d1;
4475 ex->arrays[ORC_VAR_S1] = (void *) s1;
4476 ex->params[ORC_VAR_P1] = p1;
4478 func = p->code_exec;
4484 /* orc_audio_convert_pack_s32 */
4487 orc_audio_convert_pack_s32 (guint8 * ORC_RESTRICT d1,
4488 const gint32 * ORC_RESTRICT s1, int p1, int n)
4491 orc_union32 *ORC_RESTRICT ptr0;
4492 const orc_union32 *ORC_RESTRICT ptr4;
4496 ptr0 = (orc_union32 *) d1;
4497 ptr4 = (orc_union32 *) s1;
4500 for (i = 0; i < n; i++) {
4504 var33.i = var32.i >> p1;
4513 _backup_orc_audio_convert_pack_s32 (OrcExecutor * ORC_RESTRICT ex)
4517 orc_union32 *ORC_RESTRICT ptr0;
4518 const orc_union32 *ORC_RESTRICT ptr4;
4522 ptr0 = (orc_union32 *) ex->arrays[0];
4523 ptr4 = (orc_union32 *) ex->arrays[4];
4526 for (i = 0; i < n; i++) {
4530 var33.i = var32.i >> ex->params[24];
4538 orc_audio_convert_pack_s32 (guint8 * ORC_RESTRICT d1,
4539 const gint32 * ORC_RESTRICT s1, int p1, int n)
4541 OrcExecutor _ex, *ex = &_ex;
4542 static int p_inited = 0;
4543 static OrcProgram *p = 0;
4544 void (*func) (OrcExecutor *);
4547 orc_once_mutex_lock ();
4550 p = orc_program_new ();
4551 orc_program_set_name (p, "orc_audio_convert_pack_s32");
4552 orc_program_set_backup_function (p, _backup_orc_audio_convert_pack_s32);
4553 orc_program_add_destination (p, 4, "d1");
4554 orc_program_add_source (p, 4, "s1");
4555 orc_program_add_parameter (p, 4, "p1");
4557 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_P1,
4560 orc_program_compile (p);
4563 orc_once_mutex_unlock ();
4568 ex->arrays[ORC_VAR_D1] = d1;
4569 ex->arrays[ORC_VAR_S1] = (void *) s1;
4570 ex->params[ORC_VAR_P1] = p1;
4572 func = p->code_exec;
4578 /* orc_audio_convert_pack_u32_swap */
4581 orc_audio_convert_pack_u32_swap (guint8 * ORC_RESTRICT d1,
4582 const gint32 * ORC_RESTRICT s1, int p1, int n)
4585 orc_union32 *ORC_RESTRICT ptr0;
4586 const orc_union32 *ORC_RESTRICT ptr4;
4593 ptr0 = (orc_union32 *) d1;
4594 ptr4 = (orc_union32 *) s1;
4597 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
4599 for (i = 0; i < n; i++) {
4603 var36.i = var33.i ^ var34.i;
4605 var37.i = ((orc_uint32) var36.i) >> p1;
4607 var35.i = ORC_SWAP_L (var37.i);
4616 _backup_orc_audio_convert_pack_u32_swap (OrcExecutor * ORC_RESTRICT ex)
4620 orc_union32 *ORC_RESTRICT ptr0;
4621 const orc_union32 *ORC_RESTRICT ptr4;
4628 ptr0 = (orc_union32 *) ex->arrays[0];
4629 ptr4 = (orc_union32 *) ex->arrays[4];
4632 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
4634 for (i = 0; i < n; i++) {
4638 var36.i = var33.i ^ var34.i;
4640 var37.i = ((orc_uint32) var36.i) >> ex->params[24];
4642 var35.i = ORC_SWAP_L (var37.i);
4650 orc_audio_convert_pack_u32_swap (guint8 * ORC_RESTRICT d1,
4651 const gint32 * ORC_RESTRICT s1, int p1, int n)
4653 OrcExecutor _ex, *ex = &_ex;
4654 static int p_inited = 0;
4655 static OrcProgram *p = 0;
4656 void (*func) (OrcExecutor *);
4659 orc_once_mutex_lock ();
4662 p = orc_program_new ();
4663 orc_program_set_name (p, "orc_audio_convert_pack_u32_swap");
4664 orc_program_set_backup_function (p,
4665 _backup_orc_audio_convert_pack_u32_swap);
4666 orc_program_add_destination (p, 4, "d1");
4667 orc_program_add_source (p, 4, "s1");
4668 orc_program_add_constant (p, 4, 0x80000000, "c1");
4669 orc_program_add_parameter (p, 4, "p1");
4670 orc_program_add_temporary (p, 4, "t1");
4672 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1,
4674 orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
4676 orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
4679 orc_program_compile (p);
4682 orc_once_mutex_unlock ();
4687 ex->arrays[ORC_VAR_D1] = d1;
4688 ex->arrays[ORC_VAR_S1] = (void *) s1;
4689 ex->params[ORC_VAR_P1] = p1;
4691 func = p->code_exec;
4697 /* orc_audio_convert_pack_s32_swap */
4700 orc_audio_convert_pack_s32_swap (guint8 * ORC_RESTRICT d1,
4701 const gint32 * ORC_RESTRICT s1, int p1, int n)
4704 orc_union32 *ORC_RESTRICT ptr0;
4705 const orc_union32 *ORC_RESTRICT ptr4;
4710 ptr0 = (orc_union32 *) d1;
4711 ptr4 = (orc_union32 *) s1;
4714 for (i = 0; i < n; i++) {
4718 var35.i = var33.i >> p1;
4720 var34.i = ORC_SWAP_L (var35.i);
4729 _backup_orc_audio_convert_pack_s32_swap (OrcExecutor * ORC_RESTRICT ex)
4733 orc_union32 *ORC_RESTRICT ptr0;
4734 const orc_union32 *ORC_RESTRICT ptr4;
4739 ptr0 = (orc_union32 *) ex->arrays[0];
4740 ptr4 = (orc_union32 *) ex->arrays[4];
4743 for (i = 0; i < n; i++) {
4747 var35.i = var33.i >> ex->params[24];
4749 var34.i = ORC_SWAP_L (var35.i);
4757 orc_audio_convert_pack_s32_swap (guint8 * ORC_RESTRICT d1,
4758 const gint32 * ORC_RESTRICT s1, int p1, int n)
4760 OrcExecutor _ex, *ex = &_ex;
4761 static int p_inited = 0;
4762 static OrcProgram *p = 0;
4763 void (*func) (OrcExecutor *);
4766 orc_once_mutex_lock ();
4769 p = orc_program_new ();
4770 orc_program_set_name (p, "orc_audio_convert_pack_s32_swap");
4771 orc_program_set_backup_function (p,
4772 _backup_orc_audio_convert_pack_s32_swap);
4773 orc_program_add_destination (p, 4, "d1");
4774 orc_program_add_source (p, 4, "s1");
4775 orc_program_add_parameter (p, 4, "p1");
4776 orc_program_add_temporary (p, 4, "t1");
4778 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_P1,
4780 orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
4783 orc_program_compile (p);
4786 orc_once_mutex_unlock ();
4791 ex->arrays[ORC_VAR_D1] = d1;
4792 ex->arrays[ORC_VAR_S1] = (void *) s1;
4793 ex->params[ORC_VAR_P1] = p1;
4795 func = p->code_exec;
4801 /* orc_audio_convert_pack_s32_float */
4804 orc_audio_convert_pack_s32_float (gfloat * ORC_RESTRICT d1,
4805 const gint32 * ORC_RESTRICT s1, int n)
4808 orc_union32 *ORC_RESTRICT ptr0;
4809 const orc_union32 *ORC_RESTRICT ptr4;
4815 ptr0 = (orc_union32 *) d1;
4816 ptr4 = (orc_union32 *) s1;
4819 var34.i = (int) 0x4f000000; /* 1325400064 or 6.54835e-315f */
4821 for (i = 0; i < n; i++) {
4831 _src1.i = ORC_DENORMAL (var35.i);
4832 _src2.i = ORC_DENORMAL (var34.i);
4833 _dest1.f = _src1.f / _src2.f;
4834 var36.i = ORC_DENORMAL (_dest1.i);
4844 _backup_orc_audio_convert_pack_s32_float (OrcExecutor * ORC_RESTRICT ex)
4848 orc_union32 *ORC_RESTRICT ptr0;
4849 const orc_union32 *ORC_RESTRICT ptr4;
4855 ptr0 = (orc_union32 *) ex->arrays[0];
4856 ptr4 = (orc_union32 *) ex->arrays[4];
4859 var34.i = (int) 0x4f000000; /* 1325400064 or 6.54835e-315f */
4861 for (i = 0; i < n; i++) {
4871 _src1.i = ORC_DENORMAL (var35.i);
4872 _src2.i = ORC_DENORMAL (var34.i);
4873 _dest1.f = _src1.f / _src2.f;
4874 var36.i = ORC_DENORMAL (_dest1.i);
4883 orc_audio_convert_pack_s32_float (gfloat * ORC_RESTRICT d1,
4884 const gint32 * ORC_RESTRICT s1, int n)
4886 OrcExecutor _ex, *ex = &_ex;
4887 static int p_inited = 0;
4888 static OrcProgram *p = 0;
4889 void (*func) (OrcExecutor *);
4892 orc_once_mutex_lock ();
4895 p = orc_program_new ();
4896 orc_program_set_name (p, "orc_audio_convert_pack_s32_float");
4897 orc_program_set_backup_function (p,
4898 _backup_orc_audio_convert_pack_s32_float);
4899 orc_program_add_destination (p, 4, "d1");
4900 orc_program_add_source (p, 4, "s1");
4901 orc_program_add_constant (p, 4, 0x4f000000, "c1");
4902 orc_program_add_temporary (p, 4, "t1");
4904 orc_program_append_2 (p, "convlf", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
4906 orc_program_append_2 (p, "divf", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
4908 orc_program_append_2 (p, "storel", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
4911 orc_program_compile (p);
4914 orc_once_mutex_unlock ();
4919 ex->arrays[ORC_VAR_D1] = d1;
4920 ex->arrays[ORC_VAR_S1] = (void *) s1;
4922 func = p->code_exec;
4928 /* orc_audio_convert_pack_s32_float_swap */
4931 orc_audio_convert_pack_s32_float_swap (gfloat * ORC_RESTRICT d1,
4932 const gint32 * ORC_RESTRICT s1, int n)
4935 orc_union32 *ORC_RESTRICT ptr0;
4936 const orc_union32 *ORC_RESTRICT ptr4;
4943 ptr0 = (orc_union32 *) d1;
4944 ptr4 = (orc_union32 *) s1;
4947 var34.i = (int) 0x4f000000; /* 1325400064 or 6.54835e-315f */
4949 for (i = 0; i < n; i++) {
4959 _src1.i = ORC_DENORMAL (var36.i);
4960 _src2.i = ORC_DENORMAL (var34.i);
4961 _dest1.f = _src1.f / _src2.f;
4962 var37.i = ORC_DENORMAL (_dest1.i);
4965 var35.i = ORC_SWAP_L (var37.i);
4974 _backup_orc_audio_convert_pack_s32_float_swap (OrcExecutor * ORC_RESTRICT ex)
4978 orc_union32 *ORC_RESTRICT ptr0;
4979 const orc_union32 *ORC_RESTRICT ptr4;
4986 ptr0 = (orc_union32 *) ex->arrays[0];
4987 ptr4 = (orc_union32 *) ex->arrays[4];
4990 var34.i = (int) 0x4f000000; /* 1325400064 or 6.54835e-315f */
4992 for (i = 0; i < n; i++) {
5002 _src1.i = ORC_DENORMAL (var36.i);
5003 _src2.i = ORC_DENORMAL (var34.i);
5004 _dest1.f = _src1.f / _src2.f;
5005 var37.i = ORC_DENORMAL (_dest1.i);
5008 var35.i = ORC_SWAP_L (var37.i);
5016 orc_audio_convert_pack_s32_float_swap (gfloat * ORC_RESTRICT d1,
5017 const gint32 * ORC_RESTRICT s1, int n)
5019 OrcExecutor _ex, *ex = &_ex;
5020 static int p_inited = 0;
5021 static OrcProgram *p = 0;
5022 void (*func) (OrcExecutor *);
5025 orc_once_mutex_lock ();
5028 p = orc_program_new ();
5029 orc_program_set_name (p, "orc_audio_convert_pack_s32_float_swap");
5030 orc_program_set_backup_function (p,
5031 _backup_orc_audio_convert_pack_s32_float_swap);
5032 orc_program_add_destination (p, 4, "d1");
5033 orc_program_add_source (p, 4, "s1");
5034 orc_program_add_constant (p, 4, 0x4f000000, "c1");
5035 orc_program_add_temporary (p, 4, "t1");
5037 orc_program_append_2 (p, "convlf", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
5039 orc_program_append_2 (p, "divf", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
5041 orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
5044 orc_program_compile (p);
5047 orc_once_mutex_unlock ();
5052 ex->arrays[ORC_VAR_D1] = d1;
5053 ex->arrays[ORC_VAR_S1] = (void *) s1;
5055 func = p->code_exec;
5061 /* orc_audio_convert_pack_s32_double */
5064 orc_audio_convert_pack_s32_double (gdouble * ORC_RESTRICT d1,
5065 const gint32 * ORC_RESTRICT s1, int n)
5068 orc_union64 *ORC_RESTRICT ptr0;
5069 const orc_union32 *ORC_RESTRICT ptr4;
5075 ptr0 = (orc_union64 *) d1;
5076 ptr4 = (orc_union32 *) s1;
5079 var34.i = ORC_UINT64_C (0x41dfffffffc00000); /* 2.14748e+09f */
5081 for (i = 0; i < n; i++) {
5091 _src1.i = ORC_DENORMAL_DOUBLE (var35.i);
5092 _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
5093 _dest1.f = _src1.f / _src2.f;
5094 var36.i = ORC_DENORMAL_DOUBLE (_dest1.i);
5104 _backup_orc_audio_convert_pack_s32_double (OrcExecutor * ORC_RESTRICT ex)
5108 orc_union64 *ORC_RESTRICT ptr0;
5109 const orc_union32 *ORC_RESTRICT ptr4;
5115 ptr0 = (orc_union64 *) ex->arrays[0];
5116 ptr4 = (orc_union32 *) ex->arrays[4];
5119 var34.i = ORC_UINT64_C (0x41dfffffffc00000); /* 2.14748e+09f */
5121 for (i = 0; i < n; i++) {
5131 _src1.i = ORC_DENORMAL_DOUBLE (var35.i);
5132 _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
5133 _dest1.f = _src1.f / _src2.f;
5134 var36.i = ORC_DENORMAL_DOUBLE (_dest1.i);
5143 orc_audio_convert_pack_s32_double (gdouble * ORC_RESTRICT d1,
5144 const gint32 * ORC_RESTRICT s1, int n)
5146 OrcExecutor _ex, *ex = &_ex;
5147 static int p_inited = 0;
5148 static OrcProgram *p = 0;
5149 void (*func) (OrcExecutor *);
5152 orc_once_mutex_lock ();
5155 p = orc_program_new ();
5156 orc_program_set_name (p, "orc_audio_convert_pack_s32_double");
5157 orc_program_set_backup_function (p,
5158 _backup_orc_audio_convert_pack_s32_double);
5159 orc_program_add_destination (p, 8, "d1");
5160 orc_program_add_source (p, 4, "s1");
5161 orc_program_add_constant_int64 (p, 8, 0x41dfffffffc00000ULL, "c1");
5162 orc_program_add_temporary (p, 8, "t1");
5164 orc_program_append_2 (p, "convld", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
5166 orc_program_append_2 (p, "divd", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
5168 orc_program_append_2 (p, "storeq", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
5171 orc_program_compile (p);
5174 orc_once_mutex_unlock ();
5179 ex->arrays[ORC_VAR_D1] = d1;
5180 ex->arrays[ORC_VAR_S1] = (void *) s1;
5182 func = p->code_exec;
5188 /* orc_audio_convert_pack_s32_double_swap */
5191 orc_audio_convert_pack_s32_double_swap (gdouble * ORC_RESTRICT d1,
5192 const gint32 * ORC_RESTRICT s1, int n)
5195 orc_union64 *ORC_RESTRICT ptr0;
5196 const orc_union32 *ORC_RESTRICT ptr4;
5203 ptr0 = (orc_union64 *) d1;
5204 ptr4 = (orc_union32 *) s1;
5207 var34.i = ORC_UINT64_C (0x41dfffffffc00000); /* 2.14748e+09f */
5209 for (i = 0; i < n; i++) {
5219 _src1.i = ORC_DENORMAL_DOUBLE (var36.i);
5220 _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
5221 _dest1.f = _src1.f / _src2.f;
5222 var37.i = ORC_DENORMAL_DOUBLE (_dest1.i);
5225 var35.i = ORC_SWAP_Q (var37.i);
5234 _backup_orc_audio_convert_pack_s32_double_swap (OrcExecutor * ORC_RESTRICT ex)
5238 orc_union64 *ORC_RESTRICT ptr0;
5239 const orc_union32 *ORC_RESTRICT ptr4;
5246 ptr0 = (orc_union64 *) ex->arrays[0];
5247 ptr4 = (orc_union32 *) ex->arrays[4];
5250 var34.i = ORC_UINT64_C (0x41dfffffffc00000); /* 2.14748e+09f */
5252 for (i = 0; i < n; i++) {
5262 _src1.i = ORC_DENORMAL_DOUBLE (var36.i);
5263 _src2.i = ORC_DENORMAL_DOUBLE (var34.i);
5264 _dest1.f = _src1.f / _src2.f;
5265 var37.i = ORC_DENORMAL_DOUBLE (_dest1.i);
5268 var35.i = ORC_SWAP_Q (var37.i);
5276 orc_audio_convert_pack_s32_double_swap (gdouble * ORC_RESTRICT d1,
5277 const gint32 * ORC_RESTRICT s1, int n)
5279 OrcExecutor _ex, *ex = &_ex;
5280 static int p_inited = 0;
5281 static OrcProgram *p = 0;
5282 void (*func) (OrcExecutor *);
5285 orc_once_mutex_lock ();
5288 p = orc_program_new ();
5289 orc_program_set_name (p, "orc_audio_convert_pack_s32_double_swap");
5290 orc_program_set_backup_function (p,
5291 _backup_orc_audio_convert_pack_s32_double_swap);
5292 orc_program_add_destination (p, 8, "d1");
5293 orc_program_add_source (p, 4, "s1");
5294 orc_program_add_constant_int64 (p, 8, 0x41dfffffffc00000ULL, "c1");
5295 orc_program_add_temporary (p, 8, "t1");
5297 orc_program_append_2 (p, "convld", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
5299 orc_program_append_2 (p, "divd", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
5301 orc_program_append_2 (p, "swapq", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
5304 orc_program_compile (p);
5307 orc_once_mutex_unlock ();
5312 ex->arrays[ORC_VAR_D1] = d1;
5313 ex->arrays[ORC_VAR_S1] = (void *) s1;
5315 func = p->code_exec;
5321 /* orc_audio_convert_pack_double_float */
5324 orc_audio_convert_pack_double_float (gfloat * ORC_RESTRICT d1,
5325 const gdouble * ORC_RESTRICT s1, int n)
5328 orc_union32 *ORC_RESTRICT ptr0;
5329 const orc_union64 *ORC_RESTRICT ptr4;
5333 ptr0 = (orc_union32 *) d1;
5334 ptr4 = (orc_union64 *) s1;
5337 for (i = 0; i < n; i++) {
5344 _src1.i = ORC_DENORMAL_DOUBLE (var32.i);
5346 var33.i = ORC_DENORMAL (_dest.i);
5356 _backup_orc_audio_convert_pack_double_float (OrcExecutor * ORC_RESTRICT ex)
5360 orc_union32 *ORC_RESTRICT ptr0;
5361 const orc_union64 *ORC_RESTRICT ptr4;
5365 ptr0 = (orc_union32 *) ex->arrays[0];
5366 ptr4 = (orc_union64 *) ex->arrays[4];
5369 for (i = 0; i < n; i++) {
5376 _src1.i = ORC_DENORMAL_DOUBLE (var32.i);
5378 var33.i = ORC_DENORMAL (_dest.i);
5387 orc_audio_convert_pack_double_float (gfloat * ORC_RESTRICT d1,
5388 const gdouble * ORC_RESTRICT s1, int n)
5390 OrcExecutor _ex, *ex = &_ex;
5391 static int p_inited = 0;
5392 static OrcProgram *p = 0;
5393 void (*func) (OrcExecutor *);
5396 orc_once_mutex_lock ();
5399 p = orc_program_new ();
5400 orc_program_set_name (p, "orc_audio_convert_pack_double_float");
5401 orc_program_set_backup_function (p,
5402 _backup_orc_audio_convert_pack_double_float);
5403 orc_program_add_destination (p, 4, "d1");
5404 orc_program_add_source (p, 8, "s1");
5406 orc_program_append_2 (p, "convdf", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
5409 orc_program_compile (p);
5412 orc_once_mutex_unlock ();
5417 ex->arrays[ORC_VAR_D1] = d1;
5418 ex->arrays[ORC_VAR_S1] = (void *) s1;
5420 func = p->code_exec;
5426 /* orc_audio_convert_pack_double_float_swap */
5429 orc_audio_convert_pack_double_float_swap (gfloat * ORC_RESTRICT d1,
5430 const gdouble * ORC_RESTRICT s1, int n)
5433 orc_union32 *ORC_RESTRICT ptr0;
5434 const orc_union64 *ORC_RESTRICT ptr4;
5439 ptr0 = (orc_union32 *) d1;
5440 ptr4 = (orc_union64 *) s1;
5443 for (i = 0; i < n; i++) {
5450 _src1.i = ORC_DENORMAL_DOUBLE (var33.i);
5452 var35.i = ORC_DENORMAL (_dest.i);
5455 var34.i = ORC_SWAP_L (var35.i);
5464 _backup_orc_audio_convert_pack_double_float_swap (OrcExecutor * ORC_RESTRICT ex)
5468 orc_union32 *ORC_RESTRICT ptr0;
5469 const orc_union64 *ORC_RESTRICT ptr4;
5474 ptr0 = (orc_union32 *) ex->arrays[0];
5475 ptr4 = (orc_union64 *) ex->arrays[4];
5478 for (i = 0; i < n; i++) {
5485 _src1.i = ORC_DENORMAL_DOUBLE (var33.i);
5487 var35.i = ORC_DENORMAL (_dest.i);
5490 var34.i = ORC_SWAP_L (var35.i);
5498 orc_audio_convert_pack_double_float_swap (gfloat * ORC_RESTRICT d1,
5499 const gdouble * ORC_RESTRICT s1, int n)
5501 OrcExecutor _ex, *ex = &_ex;
5502 static int p_inited = 0;
5503 static OrcProgram *p = 0;
5504 void (*func) (OrcExecutor *);
5507 orc_once_mutex_lock ();
5510 p = orc_program_new ();
5511 orc_program_set_name (p, "orc_audio_convert_pack_double_float_swap");
5512 orc_program_set_backup_function (p,
5513 _backup_orc_audio_convert_pack_double_float_swap);
5514 orc_program_add_destination (p, 4, "d1");
5515 orc_program_add_source (p, 8, "s1");
5516 orc_program_add_temporary (p, 4, "t1");
5518 orc_program_append_2 (p, "convdf", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
5520 orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
5523 orc_program_compile (p);
5526 orc_once_mutex_unlock ();
5531 ex->arrays[ORC_VAR_D1] = d1;
5532 ex->arrays[ORC_VAR_S1] = (void *) s1;
5534 func = p->code_exec;
5540 /* orc_audio_convert_pack_double_u8 */
5543 orc_audio_convert_pack_double_u8 (guint8 * ORC_RESTRICT d1,
5544 const gdouble * ORC_RESTRICT s1, int p1, int n)
5547 orc_int8 *ORC_RESTRICT ptr0;
5548 const orc_union64 *ORC_RESTRICT ptr4;
5557 ptr0 = (orc_int8 *) d1;
5558 ptr4 = (orc_union64 *) s1;
5561 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
5563 for (i = 0; i < n; i++) {
5570 if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
5575 var38.i = var37.i ^ var35.i;
5577 var39.i = ((orc_uint32) var38.i) >> p1;
5590 _backup_orc_audio_convert_pack_double_u8 (OrcExecutor * ORC_RESTRICT ex)
5594 orc_int8 *ORC_RESTRICT ptr0;
5595 const orc_union64 *ORC_RESTRICT ptr4;
5604 ptr0 = (orc_int8 *) ex->arrays[0];
5605 ptr4 = (orc_union64 *) ex->arrays[4];
5608 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
5610 for (i = 0; i < n; i++) {
5617 if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
5622 var38.i = var37.i ^ var35.i;
5624 var39.i = ((orc_uint32) var38.i) >> ex->params[24];
5636 orc_audio_convert_pack_double_u8 (guint8 * ORC_RESTRICT d1,
5637 const gdouble * ORC_RESTRICT s1, int p1, int n)
5639 OrcExecutor _ex, *ex = &_ex;
5640 static int p_inited = 0;
5641 static OrcProgram *p = 0;
5642 void (*func) (OrcExecutor *);
5645 orc_once_mutex_lock ();
5648 p = orc_program_new ();
5649 orc_program_set_name (p, "orc_audio_convert_pack_double_u8");
5650 orc_program_set_backup_function (p,
5651 _backup_orc_audio_convert_pack_double_u8);
5652 orc_program_add_destination (p, 1, "d1");
5653 orc_program_add_source (p, 8, "s1");
5654 orc_program_add_constant (p, 4, 0x80000000, "c1");
5655 orc_program_add_parameter (p, 4, "p1");
5656 orc_program_add_temporary (p, 4, "t1");
5657 orc_program_add_temporary (p, 2, "t2");
5659 orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
5661 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
5663 orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
5665 orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
5667 orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
5670 orc_program_compile (p);
5673 orc_once_mutex_unlock ();
5678 ex->arrays[ORC_VAR_D1] = d1;
5679 ex->arrays[ORC_VAR_S1] = (void *) s1;
5680 ex->params[ORC_VAR_P1] = p1;
5682 func = p->code_exec;
5688 /* orc_audio_convert_pack_double_s8 */
5691 orc_audio_convert_pack_double_s8 (guint8 * ORC_RESTRICT d1,
5692 const gdouble * ORC_RESTRICT s1, int p1, int n)
5695 orc_int8 *ORC_RESTRICT ptr0;
5696 const orc_union64 *ORC_RESTRICT ptr4;
5703 ptr0 = (orc_int8 *) d1;
5704 ptr4 = (orc_union64 *) s1;
5707 for (i = 0; i < n; i++) {
5714 if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
5719 var37.i = var36.i >> p1;
5732 _backup_orc_audio_convert_pack_double_s8 (OrcExecutor * ORC_RESTRICT ex)
5736 orc_int8 *ORC_RESTRICT ptr0;
5737 const orc_union64 *ORC_RESTRICT ptr4;
5744 ptr0 = (orc_int8 *) ex->arrays[0];
5745 ptr4 = (orc_union64 *) ex->arrays[4];
5748 for (i = 0; i < n; i++) {
5755 if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
5760 var37.i = var36.i >> ex->params[24];
5772 orc_audio_convert_pack_double_s8 (guint8 * ORC_RESTRICT d1,
5773 const gdouble * ORC_RESTRICT s1, int p1, int n)
5775 OrcExecutor _ex, *ex = &_ex;
5776 static int p_inited = 0;
5777 static OrcProgram *p = 0;
5778 void (*func) (OrcExecutor *);
5781 orc_once_mutex_lock ();
5784 p = orc_program_new ();
5785 orc_program_set_name (p, "orc_audio_convert_pack_double_s8");
5786 orc_program_set_backup_function (p,
5787 _backup_orc_audio_convert_pack_double_s8);
5788 orc_program_add_destination (p, 1, "d1");
5789 orc_program_add_source (p, 8, "s1");
5790 orc_program_add_parameter (p, 4, "p1");
5791 orc_program_add_temporary (p, 4, "t1");
5792 orc_program_add_temporary (p, 2, "t2");
5794 orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
5796 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
5798 orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
5800 orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
5803 orc_program_compile (p);
5806 orc_once_mutex_unlock ();
5811 ex->arrays[ORC_VAR_D1] = d1;
5812 ex->arrays[ORC_VAR_S1] = (void *) s1;
5813 ex->params[ORC_VAR_P1] = p1;
5815 func = p->code_exec;
5821 /* orc_audio_convert_pack_double_u16 */
5824 orc_audio_convert_pack_double_u16 (guint8 * ORC_RESTRICT d1,
5825 const gdouble * ORC_RESTRICT s1, int p1, int n)
5828 orc_union16 *ORC_RESTRICT ptr0;
5829 const orc_union64 *ORC_RESTRICT ptr4;
5837 ptr0 = (orc_union16 *) d1;
5838 ptr4 = (orc_union64 *) s1;
5841 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
5843 for (i = 0; i < n; i++) {
5850 if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
5855 var37.i = var36.i ^ var34.i;
5857 var38.i = ((orc_uint32) var37.i) >> p1;
5868 _backup_orc_audio_convert_pack_double_u16 (OrcExecutor * ORC_RESTRICT ex)
5872 orc_union16 *ORC_RESTRICT ptr0;
5873 const orc_union64 *ORC_RESTRICT ptr4;
5881 ptr0 = (orc_union16 *) ex->arrays[0];
5882 ptr4 = (orc_union64 *) ex->arrays[4];
5885 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
5887 for (i = 0; i < n; i++) {
5894 if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
5899 var37.i = var36.i ^ var34.i;
5901 var38.i = ((orc_uint32) var37.i) >> ex->params[24];
5911 orc_audio_convert_pack_double_u16 (guint8 * ORC_RESTRICT d1,
5912 const gdouble * ORC_RESTRICT s1, int p1, int n)
5914 OrcExecutor _ex, *ex = &_ex;
5915 static int p_inited = 0;
5916 static OrcProgram *p = 0;
5917 void (*func) (OrcExecutor *);
5920 orc_once_mutex_lock ();
5923 p = orc_program_new ();
5924 orc_program_set_name (p, "orc_audio_convert_pack_double_u16");
5925 orc_program_set_backup_function (p,
5926 _backup_orc_audio_convert_pack_double_u16);
5927 orc_program_add_destination (p, 2, "d1");
5928 orc_program_add_source (p, 8, "s1");
5929 orc_program_add_constant (p, 4, 0x80000000, "c1");
5930 orc_program_add_parameter (p, 4, "p1");
5931 orc_program_add_temporary (p, 4, "t1");
5933 orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
5935 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
5937 orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
5939 orc_program_append_2 (p, "convlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
5942 orc_program_compile (p);
5945 orc_once_mutex_unlock ();
5950 ex->arrays[ORC_VAR_D1] = d1;
5951 ex->arrays[ORC_VAR_S1] = (void *) s1;
5952 ex->params[ORC_VAR_P1] = p1;
5954 func = p->code_exec;
5960 /* orc_audio_convert_pack_double_s16 */
5963 orc_audio_convert_pack_double_s16 (guint8 * ORC_RESTRICT d1,
5964 const gdouble * ORC_RESTRICT s1, int p1, int n)
5967 orc_union16 *ORC_RESTRICT ptr0;
5968 const orc_union64 *ORC_RESTRICT ptr4;
5974 ptr0 = (orc_union16 *) d1;
5975 ptr4 = (orc_union64 *) s1;
5978 for (i = 0; i < n; i++) {
5985 if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
5990 var36.i = var35.i >> p1;
6001 _backup_orc_audio_convert_pack_double_s16 (OrcExecutor * ORC_RESTRICT ex)
6005 orc_union16 *ORC_RESTRICT ptr0;
6006 const orc_union64 *ORC_RESTRICT ptr4;
6012 ptr0 = (orc_union16 *) ex->arrays[0];
6013 ptr4 = (orc_union64 *) ex->arrays[4];
6016 for (i = 0; i < n; i++) {
6023 if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
6028 var36.i = var35.i >> ex->params[24];
6038 orc_audio_convert_pack_double_s16 (guint8 * ORC_RESTRICT d1,
6039 const gdouble * ORC_RESTRICT s1, int p1, int n)
6041 OrcExecutor _ex, *ex = &_ex;
6042 static int p_inited = 0;
6043 static OrcProgram *p = 0;
6044 void (*func) (OrcExecutor *);
6047 orc_once_mutex_lock ();
6050 p = orc_program_new ();
6051 orc_program_set_name (p, "orc_audio_convert_pack_double_s16");
6052 orc_program_set_backup_function (p,
6053 _backup_orc_audio_convert_pack_double_s16);
6054 orc_program_add_destination (p, 2, "d1");
6055 orc_program_add_source (p, 8, "s1");
6056 orc_program_add_parameter (p, 4, "p1");
6057 orc_program_add_temporary (p, 4, "t1");
6059 orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6061 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
6063 orc_program_append_2 (p, "convlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
6066 orc_program_compile (p);
6069 orc_once_mutex_unlock ();
6074 ex->arrays[ORC_VAR_D1] = d1;
6075 ex->arrays[ORC_VAR_S1] = (void *) s1;
6076 ex->params[ORC_VAR_P1] = p1;
6078 func = p->code_exec;
6084 /* orc_audio_convert_pack_double_u16_swap */
6087 orc_audio_convert_pack_double_u16_swap (guint8 * ORC_RESTRICT d1,
6088 const gdouble * ORC_RESTRICT s1, int p1, int n)
6091 orc_union16 *ORC_RESTRICT ptr0;
6092 const orc_union64 *ORC_RESTRICT ptr4;
6101 ptr0 = (orc_union16 *) d1;
6102 ptr4 = (orc_union64 *) s1;
6105 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
6107 for (i = 0; i < n; i++) {
6114 if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
6119 var38.i = var37.i ^ var35.i;
6121 var39.i = ((orc_uint32) var38.i) >> p1;
6125 var36.i = ORC_SWAP_W (var40.i);
6134 _backup_orc_audio_convert_pack_double_u16_swap (OrcExecutor * ORC_RESTRICT ex)
6138 orc_union16 *ORC_RESTRICT ptr0;
6139 const orc_union64 *ORC_RESTRICT ptr4;
6148 ptr0 = (orc_union16 *) ex->arrays[0];
6149 ptr4 = (orc_union64 *) ex->arrays[4];
6152 var35.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
6154 for (i = 0; i < n; i++) {
6161 if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
6166 var38.i = var37.i ^ var35.i;
6168 var39.i = ((orc_uint32) var38.i) >> ex->params[24];
6172 var36.i = ORC_SWAP_W (var40.i);
6180 orc_audio_convert_pack_double_u16_swap (guint8 * ORC_RESTRICT d1,
6181 const gdouble * ORC_RESTRICT s1, int p1, int n)
6183 OrcExecutor _ex, *ex = &_ex;
6184 static int p_inited = 0;
6185 static OrcProgram *p = 0;
6186 void (*func) (OrcExecutor *);
6189 orc_once_mutex_lock ();
6192 p = orc_program_new ();
6193 orc_program_set_name (p, "orc_audio_convert_pack_double_u16_swap");
6194 orc_program_set_backup_function (p,
6195 _backup_orc_audio_convert_pack_double_u16_swap);
6196 orc_program_add_destination (p, 2, "d1");
6197 orc_program_add_source (p, 8, "s1");
6198 orc_program_add_constant (p, 4, 0x80000000, "c1");
6199 orc_program_add_parameter (p, 4, "p1");
6200 orc_program_add_temporary (p, 4, "t1");
6201 orc_program_add_temporary (p, 2, "t2");
6203 orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6205 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
6207 orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
6209 orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
6211 orc_program_append_2 (p, "swapw", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
6214 orc_program_compile (p);
6217 orc_once_mutex_unlock ();
6222 ex->arrays[ORC_VAR_D1] = d1;
6223 ex->arrays[ORC_VAR_S1] = (void *) s1;
6224 ex->params[ORC_VAR_P1] = p1;
6226 func = p->code_exec;
6232 /* orc_audio_convert_pack_double_s16_swap */
6235 orc_audio_convert_pack_double_s16_swap (guint8 * ORC_RESTRICT d1,
6236 const gdouble * ORC_RESTRICT s1, int p1, int n)
6239 orc_union16 *ORC_RESTRICT ptr0;
6240 const orc_union64 *ORC_RESTRICT ptr4;
6247 ptr0 = (orc_union16 *) d1;
6248 ptr4 = (orc_union64 *) s1;
6251 for (i = 0; i < n; i++) {
6258 if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
6263 var37.i = var36.i >> p1;
6267 var35.i = ORC_SWAP_W (var38.i);
6276 _backup_orc_audio_convert_pack_double_s16_swap (OrcExecutor * ORC_RESTRICT ex)
6280 orc_union16 *ORC_RESTRICT ptr0;
6281 const orc_union64 *ORC_RESTRICT ptr4;
6288 ptr0 = (orc_union16 *) ex->arrays[0];
6289 ptr4 = (orc_union64 *) ex->arrays[4];
6292 for (i = 0; i < n; i++) {
6299 if (tmp == 0x80000000 && !(var34.i & ORC_UINT64_C (0x8000000000000000)))
6304 var37.i = var36.i >> ex->params[24];
6308 var35.i = ORC_SWAP_W (var38.i);
6316 orc_audio_convert_pack_double_s16_swap (guint8 * ORC_RESTRICT d1,
6317 const gdouble * ORC_RESTRICT s1, int p1, int n)
6319 OrcExecutor _ex, *ex = &_ex;
6320 static int p_inited = 0;
6321 static OrcProgram *p = 0;
6322 void (*func) (OrcExecutor *);
6325 orc_once_mutex_lock ();
6328 p = orc_program_new ();
6329 orc_program_set_name (p, "orc_audio_convert_pack_double_s16_swap");
6330 orc_program_set_backup_function (p,
6331 _backup_orc_audio_convert_pack_double_s16_swap);
6332 orc_program_add_destination (p, 2, "d1");
6333 orc_program_add_source (p, 8, "s1");
6334 orc_program_add_parameter (p, 4, "p1");
6335 orc_program_add_temporary (p, 4, "t1");
6336 orc_program_add_temporary (p, 2, "t2");
6338 orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6340 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
6342 orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
6344 orc_program_append_2 (p, "swapw", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1,
6347 orc_program_compile (p);
6350 orc_once_mutex_unlock ();
6355 ex->arrays[ORC_VAR_D1] = d1;
6356 ex->arrays[ORC_VAR_S1] = (void *) s1;
6357 ex->params[ORC_VAR_P1] = p1;
6359 func = p->code_exec;
6365 /* orc_audio_convert_pack_double_u32 */
6368 orc_audio_convert_pack_double_u32 (guint8 * ORC_RESTRICT d1,
6369 const gdouble * ORC_RESTRICT s1, int p1, int n)
6372 orc_union32 *ORC_RESTRICT ptr0;
6373 const orc_union64 *ORC_RESTRICT ptr4;
6380 ptr0 = (orc_union32 *) d1;
6381 ptr4 = (orc_union64 *) s1;
6384 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
6386 for (i = 0; i < n; i++) {
6393 if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
6398 var37.i = var36.i ^ var34.i;
6400 var35.i = ((orc_uint32) var37.i) >> p1;
6409 _backup_orc_audio_convert_pack_double_u32 (OrcExecutor * ORC_RESTRICT ex)
6413 orc_union32 *ORC_RESTRICT ptr0;
6414 const orc_union64 *ORC_RESTRICT ptr4;
6421 ptr0 = (orc_union32 *) ex->arrays[0];
6422 ptr4 = (orc_union64 *) ex->arrays[4];
6425 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
6427 for (i = 0; i < n; i++) {
6434 if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
6439 var37.i = var36.i ^ var34.i;
6441 var35.i = ((orc_uint32) var37.i) >> ex->params[24];
6449 orc_audio_convert_pack_double_u32 (guint8 * ORC_RESTRICT d1,
6450 const gdouble * ORC_RESTRICT s1, int p1, int n)
6452 OrcExecutor _ex, *ex = &_ex;
6453 static int p_inited = 0;
6454 static OrcProgram *p = 0;
6455 void (*func) (OrcExecutor *);
6458 orc_once_mutex_lock ();
6461 p = orc_program_new ();
6462 orc_program_set_name (p, "orc_audio_convert_pack_double_u32");
6463 orc_program_set_backup_function (p,
6464 _backup_orc_audio_convert_pack_double_u32);
6465 orc_program_add_destination (p, 4, "d1");
6466 orc_program_add_source (p, 8, "s1");
6467 orc_program_add_constant (p, 4, 0x80000000, "c1");
6468 orc_program_add_parameter (p, 4, "p1");
6469 orc_program_add_temporary (p, 4, "t1");
6471 orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6473 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
6475 orc_program_append_2 (p, "shrul", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_P1,
6478 orc_program_compile (p);
6481 orc_once_mutex_unlock ();
6486 ex->arrays[ORC_VAR_D1] = d1;
6487 ex->arrays[ORC_VAR_S1] = (void *) s1;
6488 ex->params[ORC_VAR_P1] = p1;
6490 func = p->code_exec;
6496 /* orc_audio_convert_pack_double_s32 */
6499 orc_audio_convert_pack_double_s32 (guint8 * ORC_RESTRICT d1,
6500 const gdouble * ORC_RESTRICT s1, int p1, int n)
6503 orc_union32 *ORC_RESTRICT ptr0;
6504 const orc_union64 *ORC_RESTRICT ptr4;
6509 ptr0 = (orc_union32 *) d1;
6510 ptr4 = (orc_union64 *) s1;
6513 for (i = 0; i < n; i++) {
6520 if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
6525 var34.i = var35.i >> p1;
6534 _backup_orc_audio_convert_pack_double_s32 (OrcExecutor * ORC_RESTRICT ex)
6538 orc_union32 *ORC_RESTRICT ptr0;
6539 const orc_union64 *ORC_RESTRICT ptr4;
6544 ptr0 = (orc_union32 *) ex->arrays[0];
6545 ptr4 = (orc_union64 *) ex->arrays[4];
6548 for (i = 0; i < n; i++) {
6555 if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
6560 var34.i = var35.i >> ex->params[24];
6568 orc_audio_convert_pack_double_s32 (guint8 * ORC_RESTRICT d1,
6569 const gdouble * ORC_RESTRICT s1, int p1, int n)
6571 OrcExecutor _ex, *ex = &_ex;
6572 static int p_inited = 0;
6573 static OrcProgram *p = 0;
6574 void (*func) (OrcExecutor *);
6577 orc_once_mutex_lock ();
6580 p = orc_program_new ();
6581 orc_program_set_name (p, "orc_audio_convert_pack_double_s32");
6582 orc_program_set_backup_function (p,
6583 _backup_orc_audio_convert_pack_double_s32);
6584 orc_program_add_destination (p, 4, "d1");
6585 orc_program_add_source (p, 8, "s1");
6586 orc_program_add_parameter (p, 4, "p1");
6587 orc_program_add_temporary (p, 4, "t1");
6589 orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6591 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_P1,
6594 orc_program_compile (p);
6597 orc_once_mutex_unlock ();
6602 ex->arrays[ORC_VAR_D1] = d1;
6603 ex->arrays[ORC_VAR_S1] = (void *) s1;
6604 ex->params[ORC_VAR_P1] = p1;
6606 func = p->code_exec;
6612 /* orc_audio_convert_pack_double_u32_swap */
6615 orc_audio_convert_pack_double_u32_swap (guint8 * ORC_RESTRICT d1,
6616 const gdouble * ORC_RESTRICT s1, int p1, int n)
6619 orc_union32 *ORC_RESTRICT ptr0;
6620 const orc_union64 *ORC_RESTRICT ptr4;
6628 ptr0 = (orc_union32 *) d1;
6629 ptr4 = (orc_union64 *) s1;
6632 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
6634 for (i = 0; i < n; i++) {
6641 if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
6646 var37.i = var36.i ^ var34.i;
6648 var38.i = ((orc_uint32) var37.i) >> p1;
6650 var35.i = ORC_SWAP_L (var38.i);
6659 _backup_orc_audio_convert_pack_double_u32_swap (OrcExecutor * ORC_RESTRICT ex)
6663 orc_union32 *ORC_RESTRICT ptr0;
6664 const orc_union64 *ORC_RESTRICT ptr4;
6672 ptr0 = (orc_union32 *) ex->arrays[0];
6673 ptr4 = (orc_union64 *) ex->arrays[4];
6676 var34.i = (int) 0x80000000; /* -2147483648 or 1.061e-314f */
6678 for (i = 0; i < n; i++) {
6685 if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
6690 var37.i = var36.i ^ var34.i;
6692 var38.i = ((orc_uint32) var37.i) >> ex->params[24];
6694 var35.i = ORC_SWAP_L (var38.i);
6702 orc_audio_convert_pack_double_u32_swap (guint8 * ORC_RESTRICT d1,
6703 const gdouble * ORC_RESTRICT s1, int p1, int n)
6705 OrcExecutor _ex, *ex = &_ex;
6706 static int p_inited = 0;
6707 static OrcProgram *p = 0;
6708 void (*func) (OrcExecutor *);
6711 orc_once_mutex_lock ();
6714 p = orc_program_new ();
6715 orc_program_set_name (p, "orc_audio_convert_pack_double_u32_swap");
6716 orc_program_set_backup_function (p,
6717 _backup_orc_audio_convert_pack_double_u32_swap);
6718 orc_program_add_destination (p, 4, "d1");
6719 orc_program_add_source (p, 8, "s1");
6720 orc_program_add_constant (p, 4, 0x80000000, "c1");
6721 orc_program_add_parameter (p, 4, "p1");
6722 orc_program_add_temporary (p, 4, "t1");
6724 orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6726 orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
6728 orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
6730 orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
6733 orc_program_compile (p);
6736 orc_once_mutex_unlock ();
6741 ex->arrays[ORC_VAR_D1] = d1;
6742 ex->arrays[ORC_VAR_S1] = (void *) s1;
6743 ex->params[ORC_VAR_P1] = p1;
6745 func = p->code_exec;
6751 /* orc_audio_convert_pack_double_s32_swap */
6754 orc_audio_convert_pack_double_s32_swap (guint8 * ORC_RESTRICT d1,
6755 const gdouble * ORC_RESTRICT s1, int p1, int n)
6758 orc_union32 *ORC_RESTRICT ptr0;
6759 const orc_union64 *ORC_RESTRICT ptr4;
6765 ptr0 = (orc_union32 *) d1;
6766 ptr4 = (orc_union64 *) s1;
6769 for (i = 0; i < n; i++) {
6776 if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
6781 var36.i = var35.i >> p1;
6783 var34.i = ORC_SWAP_L (var36.i);
6792 _backup_orc_audio_convert_pack_double_s32_swap (OrcExecutor * ORC_RESTRICT ex)
6796 orc_union32 *ORC_RESTRICT ptr0;
6797 const orc_union64 *ORC_RESTRICT ptr4;
6803 ptr0 = (orc_union32 *) ex->arrays[0];
6804 ptr4 = (orc_union64 *) ex->arrays[4];
6807 for (i = 0; i < n; i++) {
6814 if (tmp == 0x80000000 && !(var33.i & ORC_UINT64_C (0x8000000000000000)))
6819 var36.i = var35.i >> ex->params[24];
6821 var34.i = ORC_SWAP_L (var36.i);
6829 orc_audio_convert_pack_double_s32_swap (guint8 * ORC_RESTRICT d1,
6830 const gdouble * ORC_RESTRICT s1, int p1, int n)
6832 OrcExecutor _ex, *ex = &_ex;
6833 static int p_inited = 0;
6834 static OrcProgram *p = 0;
6835 void (*func) (OrcExecutor *);
6838 orc_once_mutex_lock ();
6841 p = orc_program_new ();
6842 orc_program_set_name (p, "orc_audio_convert_pack_double_s32_swap");
6843 orc_program_set_backup_function (p,
6844 _backup_orc_audio_convert_pack_double_s32_swap);
6845 orc_program_add_destination (p, 4, "d1");
6846 orc_program_add_source (p, 8, "s1");
6847 orc_program_add_parameter (p, 4, "p1");
6848 orc_program_add_temporary (p, 4, "t1");
6850 orc_program_append_2 (p, "convdl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6852 orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
6854 orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
6857 orc_program_compile (p);
6860 orc_once_mutex_unlock ();
6865 ex->arrays[ORC_VAR_D1] = d1;
6866 ex->arrays[ORC_VAR_S1] = (void *) s1;
6867 ex->params[ORC_VAR_P1] = p1;
6869 func = p->code_exec;