Advertisement
Guest User

GST PROB

a guest
Jul 24th, 2014
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 121.42 KB | None | 0 0
  1. /*
  2. ### ERROR MESSAGE :
  3. make[4]: quittant le répertoire « /home/pi/GST/gst-plugins-base/gst-libs/gst/audio »
  4.   CC     libgstvideo_1.0_la-gstvideoutils.lo
  5.   CC     libgstvideo_1.0_la-video-blend.lo
  6.   CC     libgstvideo_1.0_la-video-overlay-composition.lo
  7.   CC     libgstvideo_1.0_la-tmp-orc.lo
  8. tmp-orc.c:148:0: error: unterminated #ifdef
  9. make[5]: *** [libgstvideo_1.0_la-tmp-orc.lo] Erreur 1
  10. */
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17. /* autogenerated from gstaudiopack.orc */
  18.  
  19. #ifdef HAVE_CONFIG_H
  20. #include "config.h"
  21. #endif
  22. #include <glib.h>
  23.  
  24. #ifndef _ORC_INTEGER_TYPEDEFS_
  25. #define _ORC_INTEGER_TYPEDEFS_
  26. #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  27. #include <stdint.h>
  28. typedef int8_t orc_int8;
  29. typedef int16_t orc_int16;
  30. typedef int32_t orc_int32;
  31. typedef int64_t orc_int64;
  32. typedef uint8_t orc_uint8;
  33. typedef uint16_t orc_uint16;
  34. typedef uint32_t orc_uint32;
  35. typedef uint64_t orc_uint64;
  36. #define ORC_UINT64_C(x) UINT64_C(x)
  37. #elif defined(_MSC_VER)
  38. typedef signed __int8 orc_int8;
  39. typedef signed __int16 orc_int16;
  40. typedef signed __int32 orc_int32;
  41. typedef signed __int64 orc_int64;
  42. typedef unsigned __int8 orc_uint8;
  43. typedef unsigned __int16 orc_uint16;
  44. typedef unsigned __int32 orc_uint32;
  45. typedef unsigned __int64 orc_uint64;
  46. #define ORC_UINT64_C(x) (x##Ui64)
  47. #define inline __inline
  48. #else
  49. #include <limits.h>
  50. typedef signed char orc_int8;
  51. typedef short orc_int16;
  52. typedef int orc_int32;
  53. typedef unsigned char orc_uint8;
  54. typedef unsigned short orc_uint16;
  55. typedef unsigned int orc_uint32;
  56. #if INT_MAX == LONG_MAX
  57. typedef long long orc_int64;
  58. typedef unsigned long long orc_uint64;
  59. #define ORC_UINT64_C(x) (x##ULL)
  60. #else
  61. typedef long orc_int64;
  62. typedef unsigned long orc_uint64;
  63. #define ORC_UINT64_C(x) (x##UL)
  64. #endif
  65. #endif
  66. typedef union { orc_int16 i; orc_int8 x2[2]; } orc_union16;
  67. typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32;
  68. typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16 x4[4]; } orc_union64;
  69. #endif
  70. #ifndef ORC_RESTRICT
  71. #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  72. #define ORC_RESTRICT restrict
  73. #elif defined(__GNUC__) && __GNUC__ >= 4
  74. #define ORC_RESTRICT __restrict__
  75. #else
  76. #define ORC_RESTRICT
  77. #endif
  78. #endif
  79.  
  80. #ifndef ORC_INTERNAL
  81. #if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
  82. #define ORC_INTERNAL __attribute__((visibility("hidden")))
  83. #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
  84. #define ORC_INTERNAL __hidden
  85. #elif defined (__GNUC__)
  86. #define ORC_INTERNAL __attribute__((visibility("hidden")))
  87. #else
  88. #define ORC_INTERNAL
  89. #endif
  90. #endif
  91.  
  92.  
  93. #ifndef DISABLE_ORC
  94. #include <orc/orc.h>
  95. #endif
  96. void audio_orc_unpack_u8 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  97. void audio_orc_unpack_s8 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  98. void audio_orc_unpack_u16 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  99. void audio_orc_unpack_s16 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  100. void audio_orc_unpack_u16_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  101. void audio_orc_unpack_s16_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  102. void audio_orc_unpack_u24_32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  103. void audio_orc_unpack_s24_32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  104. void audio_orc_unpack_u24_32_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  105. void audio_orc_unpack_s24_32_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  106. void audio_orc_unpack_u32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  107. void audio_orc_unpack_u32_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  108. void audio_orc_unpack_s32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  109. void audio_orc_unpack_s32_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
  110. void audio_orc_unpack_f32 (gdouble * ORC_RESTRICT d1, const gfloat * ORC_RESTRICT s1, int n);
  111. void audio_orc_unpack_f32_swap (gdouble * ORC_RESTRICT d1, const gfloat * ORC_RESTRICT s1, int n);
  112. void audio_orc_unpack_f64 (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n);
  113. void audio_orc_unpack_f64_swap (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n);
  114. void audio_orc_pack_u8 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  115. void audio_orc_pack_s8 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  116. void audio_orc_pack_u16 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  117. void audio_orc_pack_s16 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  118. void audio_orc_pack_u16_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  119. void audio_orc_pack_s16_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  120. void audio_orc_pack_u24_32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  121. void audio_orc_pack_s24_32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  122. void audio_orc_pack_u24_32_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  123. void audio_orc_pack_s24_32_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  124. void audio_orc_pack_u32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  125. void audio_orc_pack_s32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  126. void audio_orc_pack_u32_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  127. void audio_orc_pack_s32_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n);
  128. void audio_orc_pack_f32 (gfloat * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n);
  129. void audio_orc_pack_f32_swap (gfloat * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n);
  130. void audio_orc_pack_f64 (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n);
  131. void audio_orc_pack_f64_swap (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n);
  132. void audio_orc_splat_u16 (guint16 * ORC_RESTRICT d1, int p1, int n);
  133. void audio_orc_splat_u32 (guint32 * ORC_RESTRICT d1, int p1, int n);
  134. void audio_orc_splat_u64 (guint64 * ORC_RESTRICT d1, int p1, int n);
  135.  
  136.  
  137. /* begin Orc C target preamble */
  138. #define ORC_CLAMP(x,a,b) ((x)<(a) ? (a) : ((x)>(b) ? (b) : (x)))
  139. #define ORC_ABS(a) ((a)<0 ? -(a) : (a))
  140. #define ORC_MIN(a,b) ((a)<(b) ? (a) : (b))
  141. #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
  142. #define ORC_SB_MAX 127
  143. #define ORC_SB_MIN (-1-ORC_SB_MAX)
  144. #define ORC_UB_MAX 255
  145. #define ORC_UB_MIN 0
  146. #define ORC_SW_MAX 32767
  147. #define ORC_SW_MIN (-1-ORC_SW_MAX)
  148. #define ORC_UW_MAX 65535
  149. #define ORC_UW_MIN 0
  150. #define ORC_SL_MAX 2147483647
  151. #define ORC_SL_MIN (-1-ORC_SL_MAX)
  152. #define ORC_UL_MAX 4294967295U
  153. #define ORC_UL_MIN 0
  154. #define ORC_CLAMP_SB(x) ORC_CLAMP(x,ORC_SB_MIN,ORC_SB_MAX)
  155. #define ORC_CLAMP_UB(x) ORC_CLAMP(x,ORC_UB_MIN,ORC_UB_MAX)
  156. #define ORC_CLAMP_SW(x) ORC_CLAMP(x,ORC_SW_MIN,ORC_SW_MAX)
  157. #define ORC_CLAMP_UW(x) ORC_CLAMP(x,ORC_UW_MIN,ORC_UW_MAX)
  158. #define ORC_CLAMP_SL(x) ORC_CLAMP(x,ORC_SL_MIN,ORC_SL_MAX)
  159. #define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)
  160. #define ORC_SWAP_W(x) ((((x)&0xffU)<<8) | (((x)&0xff00U)>>8))
  161. #define ORC_SWAP_L(x) ((((x)&0xffU)<<24) | (((x)&0xff00U)<<8) | (((x)&0xff0000U)>>8) | (((x)&0xff000000U)>>24))
  162. #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))
  163. #define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
  164. #define ORC_DENORMAL(x) ((x) & ((((x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))
  165. #define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
  166. #define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
  167. #define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
  168. #ifndef ORC_RESTRICT
  169. #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  170. #define ORC_RESTRICT restrict
  171. #elif defined(__GNUC__) && __GNUC__ >= 4
  172. #define ORC_RESTRICT __restrict__
  173. #else
  174. #define ORC_RESTRICT
  175. #endif
  176. #endif
  177. /* end Orc C target preamble */
  178.  
  179.  
  180.  
  181. /* audio_orc_unpack_u8 */
  182. #ifdef DISABLE_ORC
  183. void
  184. audio_orc_unpack_u8 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  185.   int i;
  186.   orc_union32 * ORC_RESTRICT ptr0;
  187.   const orc_int8 * ORC_RESTRICT ptr4;
  188.   orc_int8 var34;
  189. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  190.   volatile orc_union32 var35;
  191. #else
  192.   orc_union32 var35;
  193. #endif
  194.   orc_union32 var36;
  195.   orc_union16 var37;
  196.   orc_union32 var38;
  197.   orc_union32 var39;
  198.  
  199.   ptr0 = (orc_union32 *)d1;
  200.   ptr4 = (orc_int8 *)s1;
  201.  
  202.     /* 4: loadpl */
  203.     var35.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  204.  
  205.   for (i = 0; i < n; i++) {
  206.     /* 0: loadb */
  207.     var34 = ptr4[i];
  208.     /* 1: convubw */
  209.     var37.i = (orc_uint8)var34;
  210.     /* 2: convuwl */
  211.     var38.i = (orc_uint16)var37.i;
  212.     /* 3: shll */
  213.     var39.i = var38.i << 24;
  214.     /* 5: xorl */
  215.     var36.i = var39.i ^ var35.i;
  216.     /* 6: storel */
  217.     ptr0[i] = var36;
  218.   }
  219.  
  220. }
  221.  
  222. #else
  223. static void
  224. _backup_audio_orc_unpack_u8 (OrcExecutor * ORC_RESTRICT ex)
  225. {
  226.   int i;
  227.   int n = ex->n;
  228.   orc_union32 * ORC_RESTRICT ptr0;
  229.   const orc_int8 * ORC_RESTRICT ptr4;
  230.   orc_int8 var34;
  231. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  232.   volatile orc_union32 var35;
  233. #else
  234.   orc_union32 var35;
  235. #endif
  236.   orc_union32 var36;
  237.   orc_union16 var37;
  238.   orc_union32 var38;
  239.   orc_union32 var39;
  240.  
  241.   ptr0 = (orc_union32 *)ex->arrays[0];
  242.   ptr4 = (orc_int8 *)ex->arrays[4];
  243.  
  244.     /* 4: loadpl */
  245.     var35.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  246.  
  247.   for (i = 0; i < n; i++) {
  248.     /* 0: loadb */
  249.     var34 = ptr4[i];
  250.     /* 1: convubw */
  251.     var37.i = (orc_uint8)var34;
  252.     /* 2: convuwl */
  253.     var38.i = (orc_uint16)var37.i;
  254.     /* 3: shll */
  255.     var39.i = var38.i << 24;
  256.     /* 5: xorl */
  257.     var36.i = var39.i ^ var35.i;
  258.     /* 6: storel */
  259.     ptr0[i] = var36;
  260.   }
  261.  
  262. }
  263.  
  264. void
  265. audio_orc_unpack_u8 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  266. {
  267.   OrcExecutor _ex, *ex = &_ex;
  268.   static volatile int p_inited = 0;
  269.   static OrcCode *c = 0;
  270.   void (*func) (OrcExecutor *);
  271.  
  272.   if (!p_inited) {
  273.     orc_once_mutex_lock ();
  274.     if (!p_inited) {
  275.       OrcProgram *p;
  276.  
  277. #if 1
  278.       static const orc_uint8 bc[] = {
  279.         1, 9, 19, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  280.         97, 99, 107, 95, 117, 56, 11, 4, 4, 12, 1, 1, 14, 4, 0, 0,
  281.         0, 128, 14, 4, 24, 0, 0, 0, 20, 2, 20, 4, 150, 32, 4, 154,
  282.         33, 32, 124, 33, 33, 17, 132, 0, 33, 16, 2, 0,
  283.       };
  284.       p = orc_program_new_from_static_bytecode (bc);
  285.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u8);
  286. #else
  287.       p = orc_program_new ();
  288.       orc_program_set_name (p, "audio_orc_unpack_u8");
  289.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u8);
  290.       orc_program_add_destination (p, 4, "d1");
  291.       orc_program_add_source (p, 1, "s1");
  292.       orc_program_add_constant (p, 4, 0x80000000, "c1");
  293.       orc_program_add_constant (p, 4, 0x00000018, "c2");
  294.       orc_program_add_temporary (p, 2, "t1");
  295.       orc_program_add_temporary (p, 4, "t2");
  296.  
  297.       orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  298.       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  299.       orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2, ORC_VAR_D1);
  300.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_D1);
  301. #endif
  302.  
  303.       orc_program_compile (p);
  304.       c = orc_program_take_code (p);
  305.       orc_program_free (p);
  306.     }
  307.     p_inited = TRUE;
  308.     orc_once_mutex_unlock ();
  309.   }
  310.   ex->arrays[ORC_VAR_A2] = c;
  311.   ex->program = 0;
  312.  
  313.   ex->n = n;
  314.   ex->arrays[ORC_VAR_D1] = d1;
  315.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  316.  
  317.   func = c->exec;
  318.   func (ex);
  319. }
  320. #endif
  321.  
  322.  
  323. /* audio_orc_unpack_s8 */
  324. #ifdef DISABLE_ORC
  325. void
  326. audio_orc_unpack_s8 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  327.   int i;
  328.   orc_union32 * ORC_RESTRICT ptr0;
  329.   const orc_int8 * ORC_RESTRICT ptr4;
  330.   orc_int8 var34;
  331.   orc_union32 var35;
  332.   orc_union16 var36;
  333.   orc_union32 var37;
  334.  
  335.   ptr0 = (orc_union32 *)d1;
  336.   ptr4 = (orc_int8 *)s1;
  337.  
  338.  
  339.   for (i = 0; i < n; i++) {
  340.     /* 0: loadb */
  341.     var34 = ptr4[i];
  342.     /* 1: convubw */
  343.     var36.i = (orc_uint8)var34;
  344.     /* 2: convuwl */
  345.     var37.i = (orc_uint16)var36.i;
  346.     /* 3: shll */
  347.     var35.i = var37.i << 24;
  348.     /* 4: storel */
  349.     ptr0[i] = var35;
  350.   }
  351.  
  352. }
  353.  
  354. #else
  355. static void
  356. _backup_audio_orc_unpack_s8 (OrcExecutor * ORC_RESTRICT ex)
  357. {
  358.   int i;
  359.   int n = ex->n;
  360.   orc_union32 * ORC_RESTRICT ptr0;
  361.   const orc_int8 * ORC_RESTRICT ptr4;
  362.   orc_int8 var34;
  363.   orc_union32 var35;
  364.   orc_union16 var36;
  365.   orc_union32 var37;
  366.  
  367.   ptr0 = (orc_union32 *)ex->arrays[0];
  368.   ptr4 = (orc_int8 *)ex->arrays[4];
  369.  
  370.  
  371.   for (i = 0; i < n; i++) {
  372.     /* 0: loadb */
  373.     var34 = ptr4[i];
  374.     /* 1: convubw */
  375.     var36.i = (orc_uint8)var34;
  376.     /* 2: convuwl */
  377.     var37.i = (orc_uint16)var36.i;
  378.     /* 3: shll */
  379.     var35.i = var37.i << 24;
  380.     /* 4: storel */
  381.     ptr0[i] = var35;
  382.   }
  383.  
  384. }
  385.  
  386. void
  387. audio_orc_unpack_s8 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  388. {
  389.   OrcExecutor _ex, *ex = &_ex;
  390.   static volatile int p_inited = 0;
  391.   static OrcCode *c = 0;
  392.   void (*func) (OrcExecutor *);
  393.  
  394.   if (!p_inited) {
  395.     orc_once_mutex_lock ();
  396.     if (!p_inited) {
  397.       OrcProgram *p;
  398.  
  399. #if 1
  400.       static const orc_uint8 bc[] = {
  401.         1, 9, 19, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  402.         97, 99, 107, 95, 115, 56, 11, 4, 4, 12, 1, 1, 14, 4, 24, 0,
  403.         0, 0, 20, 2, 20, 4, 150, 32, 4, 154, 33, 32, 124, 0, 33, 16,
  404.         2, 0,
  405.       };
  406.       p = orc_program_new_from_static_bytecode (bc);
  407.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s8);
  408. #else
  409.       p = orc_program_new ();
  410.       orc_program_set_name (p, "audio_orc_unpack_s8");
  411.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s8);
  412.       orc_program_add_destination (p, 4, "d1");
  413.       orc_program_add_source (p, 1, "s1");
  414.       orc_program_add_constant (p, 4, 0x00000018, "c1");
  415.       orc_program_add_temporary (p, 2, "t1");
  416.       orc_program_add_temporary (p, 4, "t2");
  417.  
  418.       orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  419.       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  420.       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_D1);
  421. #endif
  422.  
  423.       orc_program_compile (p);
  424.       c = orc_program_take_code (p);
  425.       orc_program_free (p);
  426.     }
  427.     p_inited = TRUE;
  428.     orc_once_mutex_unlock ();
  429.   }
  430.   ex->arrays[ORC_VAR_A2] = c;
  431.   ex->program = 0;
  432.  
  433.   ex->n = n;
  434.   ex->arrays[ORC_VAR_D1] = d1;
  435.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  436.  
  437.   func = c->exec;
  438.   func (ex);
  439. }
  440. #endif
  441.  
  442.  
  443. /* audio_orc_unpack_u16 */
  444. #ifdef DISABLE_ORC
  445. void
  446. audio_orc_unpack_u16 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  447.   int i;
  448.   orc_union32 * ORC_RESTRICT ptr0;
  449.   const orc_union16 * ORC_RESTRICT ptr4;
  450.   orc_union16 var33;
  451. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  452.   volatile orc_union32 var34;
  453. #else
  454.   orc_union32 var34;
  455. #endif
  456.   orc_union32 var35;
  457.   orc_union32 var36;
  458.   orc_union32 var37;
  459.  
  460.   ptr0 = (orc_union32 *)d1;
  461.   ptr4 = (orc_union16 *)s1;
  462.  
  463.     /* 3: loadpl */
  464.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  465.  
  466.   for (i = 0; i < n; i++) {
  467.     /* 0: loadw */
  468.     var33 = ptr4[i];
  469.     /* 1: convuwl */
  470.     var36.i = (orc_uint16)var33.i;
  471.     /* 2: shll */
  472.     var37.i = var36.i << 16;
  473.     /* 4: xorl */
  474.     var35.i = var37.i ^ var34.i;
  475.     /* 5: storel */
  476.     ptr0[i] = var35;
  477.   }
  478.  
  479. }
  480.  
  481. #else
  482. static void
  483. _backup_audio_orc_unpack_u16 (OrcExecutor * ORC_RESTRICT ex)
  484. {
  485.   int i;
  486.   int n = ex->n;
  487.   orc_union32 * ORC_RESTRICT ptr0;
  488.   const orc_union16 * ORC_RESTRICT ptr4;
  489.   orc_union16 var33;
  490. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  491.   volatile orc_union32 var34;
  492. #else
  493.   orc_union32 var34;
  494. #endif
  495.   orc_union32 var35;
  496.   orc_union32 var36;
  497.   orc_union32 var37;
  498.  
  499.   ptr0 = (orc_union32 *)ex->arrays[0];
  500.   ptr4 = (orc_union16 *)ex->arrays[4];
  501.  
  502.     /* 3: loadpl */
  503.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  504.  
  505.   for (i = 0; i < n; i++) {
  506.     /* 0: loadw */
  507.     var33 = ptr4[i];
  508.     /* 1: convuwl */
  509.     var36.i = (orc_uint16)var33.i;
  510.     /* 2: shll */
  511.     var37.i = var36.i << 16;
  512.     /* 4: xorl */
  513.     var35.i = var37.i ^ var34.i;
  514.     /* 5: storel */
  515.     ptr0[i] = var35;
  516.   }
  517.  
  518. }
  519.  
  520. void
  521. audio_orc_unpack_u16 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  522. {
  523.   OrcExecutor _ex, *ex = &_ex;
  524.   static volatile int p_inited = 0;
  525.   static OrcCode *c = 0;
  526.   void (*func) (OrcExecutor *);
  527.  
  528.   if (!p_inited) {
  529.     orc_once_mutex_lock ();
  530.     if (!p_inited) {
  531.       OrcProgram *p;
  532.  
  533. #if 1
  534.       static const orc_uint8 bc[] = {
  535.         1, 9, 20, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  536.         97, 99, 107, 95, 117, 49, 54, 11, 4, 4, 12, 2, 2, 14, 4, 16,
  537.         0, 0, 0, 14, 4, 0, 0, 0, 128, 20, 4, 154, 32, 4, 124, 32,
  538.         32, 16, 132, 0, 32, 17, 2, 0,
  539.       };
  540.       p = orc_program_new_from_static_bytecode (bc);
  541.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u16);
  542. #else
  543.       p = orc_program_new ();
  544.       orc_program_set_name (p, "audio_orc_unpack_u16");
  545.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u16);
  546.       orc_program_add_destination (p, 4, "d1");
  547.       orc_program_add_source (p, 2, "s1");
  548.       orc_program_add_constant (p, 4, 0x00000010, "c1");
  549.       orc_program_add_constant (p, 4, 0x80000000, "c2");
  550.       orc_program_add_temporary (p, 4, "t1");
  551.  
  552.       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  553.       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_D1);
  554.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2, ORC_VAR_D1);
  555. #endif
  556.  
  557.       orc_program_compile (p);
  558.       c = orc_program_take_code (p);
  559.       orc_program_free (p);
  560.     }
  561.     p_inited = TRUE;
  562.     orc_once_mutex_unlock ();
  563.   }
  564.   ex->arrays[ORC_VAR_A2] = c;
  565.   ex->program = 0;
  566.  
  567.   ex->n = n;
  568.   ex->arrays[ORC_VAR_D1] = d1;
  569.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  570.  
  571.   func = c->exec;
  572.   func (ex);
  573. }
  574. #endif
  575.  
  576.  
  577. /* audio_orc_unpack_s16 */
  578. #ifdef DISABLE_ORC
  579. void
  580. audio_orc_unpack_s16 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  581.   int i;
  582.   orc_union32 * ORC_RESTRICT ptr0;
  583.   const orc_union16 * ORC_RESTRICT ptr4;
  584.   orc_union16 var33;
  585.   orc_union32 var34;
  586.   orc_union32 var35;
  587.  
  588.   ptr0 = (orc_union32 *)d1;
  589.   ptr4 = (orc_union16 *)s1;
  590.  
  591.  
  592.   for (i = 0; i < n; i++) {
  593.     /* 0: loadw */
  594.     var33 = ptr4[i];
  595.     /* 1: convuwl */
  596.     var35.i = (orc_uint16)var33.i;
  597.     /* 2: shll */
  598.     var34.i = var35.i << 16;
  599.     /* 3: storel */
  600.     ptr0[i] = var34;
  601.   }
  602.  
  603. }
  604.  
  605. #else
  606. static void
  607. _backup_audio_orc_unpack_s16 (OrcExecutor * ORC_RESTRICT ex)
  608. {
  609.   int i;
  610.   int n = ex->n;
  611.   orc_union32 * ORC_RESTRICT ptr0;
  612.   const orc_union16 * ORC_RESTRICT ptr4;
  613.   orc_union16 var33;
  614.   orc_union32 var34;
  615.   orc_union32 var35;
  616.  
  617.   ptr0 = (orc_union32 *)ex->arrays[0];
  618.   ptr4 = (orc_union16 *)ex->arrays[4];
  619.  
  620.  
  621.   for (i = 0; i < n; i++) {
  622.     /* 0: loadw */
  623.     var33 = ptr4[i];
  624.     /* 1: convuwl */
  625.     var35.i = (orc_uint16)var33.i;
  626.     /* 2: shll */
  627.     var34.i = var35.i << 16;
  628.     /* 3: storel */
  629.     ptr0[i] = var34;
  630.   }
  631.  
  632. }
  633.  
  634. void
  635. audio_orc_unpack_s16 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  636. {
  637.   OrcExecutor _ex, *ex = &_ex;
  638.   static volatile int p_inited = 0;
  639.   static OrcCode *c = 0;
  640.   void (*func) (OrcExecutor *);
  641.  
  642.   if (!p_inited) {
  643.     orc_once_mutex_lock ();
  644.     if (!p_inited) {
  645.       OrcProgram *p;
  646.  
  647. #if 1
  648.       static const orc_uint8 bc[] = {
  649.         1, 9, 20, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  650.         97, 99, 107, 95, 115, 49, 54, 11, 4, 4, 12, 2, 2, 14, 4, 16,
  651.         0, 0, 0, 20, 4, 154, 32, 4, 124, 0, 32, 16, 2, 0,
  652.       };
  653.       p = orc_program_new_from_static_bytecode (bc);
  654.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s16);
  655. #else
  656.       p = orc_program_new ();
  657.       orc_program_set_name (p, "audio_orc_unpack_s16");
  658.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s16);
  659.       orc_program_add_destination (p, 4, "d1");
  660.       orc_program_add_source (p, 2, "s1");
  661.       orc_program_add_constant (p, 4, 0x00000010, "c1");
  662.       orc_program_add_temporary (p, 4, "t1");
  663.  
  664.       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  665.       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_D1);
  666. #endif
  667.  
  668.       orc_program_compile (p);
  669.       c = orc_program_take_code (p);
  670.       orc_program_free (p);
  671.     }
  672.     p_inited = TRUE;
  673.     orc_once_mutex_unlock ();
  674.   }
  675.   ex->arrays[ORC_VAR_A2] = c;
  676.   ex->program = 0;
  677.  
  678.   ex->n = n;
  679.   ex->arrays[ORC_VAR_D1] = d1;
  680.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  681.  
  682.   func = c->exec;
  683.   func (ex);
  684. }
  685. #endif
  686.  
  687.  
  688. /* audio_orc_unpack_u16_swap */
  689. #ifdef DISABLE_ORC
  690. void
  691. audio_orc_unpack_u16_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  692.   int i;
  693.   orc_union32 * ORC_RESTRICT ptr0;
  694.   const orc_union16 * ORC_RESTRICT ptr4;
  695.   orc_union16 var34;
  696. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  697.   volatile orc_union32 var35;
  698. #else
  699.   orc_union32 var35;
  700. #endif
  701.   orc_union32 var36;
  702.   orc_union16 var37;
  703.   orc_union32 var38;
  704.   orc_union32 var39;
  705.  
  706.   ptr0 = (orc_union32 *)d1;
  707.   ptr4 = (orc_union16 *)s1;
  708.  
  709.     /* 4: loadpl */
  710.     var35.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  711.  
  712.   for (i = 0; i < n; i++) {
  713.     /* 0: loadw */
  714.     var34 = ptr4[i];
  715.     /* 1: swapw */
  716.     var37.i = ORC_SWAP_W(var34.i);
  717.     /* 2: convuwl */
  718.     var38.i = (orc_uint16)var37.i;
  719.     /* 3: shll */
  720.     var39.i = var38.i << 16;
  721.     /* 5: xorl */
  722.     var36.i = var39.i ^ var35.i;
  723.     /* 6: storel */
  724.     ptr0[i] = var36;
  725.   }
  726.  
  727. }
  728.  
  729. #else
  730. static void
  731. _backup_audio_orc_unpack_u16_swap (OrcExecutor * ORC_RESTRICT ex)
  732. {
  733.   int i;
  734.   int n = ex->n;
  735.   orc_union32 * ORC_RESTRICT ptr0;
  736.   const orc_union16 * ORC_RESTRICT ptr4;
  737.   orc_union16 var34;
  738. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  739.   volatile orc_union32 var35;
  740. #else
  741.   orc_union32 var35;
  742. #endif
  743.   orc_union32 var36;
  744.   orc_union16 var37;
  745.   orc_union32 var38;
  746.   orc_union32 var39;
  747.  
  748.   ptr0 = (orc_union32 *)ex->arrays[0];
  749.   ptr4 = (orc_union16 *)ex->arrays[4];
  750.  
  751.     /* 4: loadpl */
  752.     var35.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  753.  
  754.   for (i = 0; i < n; i++) {
  755.     /* 0: loadw */
  756.     var34 = ptr4[i];
  757.     /* 1: swapw */
  758.     var37.i = ORC_SWAP_W(var34.i);
  759.     /* 2: convuwl */
  760.     var38.i = (orc_uint16)var37.i;
  761.     /* 3: shll */
  762.     var39.i = var38.i << 16;
  763.     /* 5: xorl */
  764.     var36.i = var39.i ^ var35.i;
  765.     /* 6: storel */
  766.     ptr0[i] = var36;
  767.   }
  768.  
  769. }
  770.  
  771. void
  772. audio_orc_unpack_u16_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  773. {
  774.   OrcExecutor _ex, *ex = &_ex;
  775.   static volatile int p_inited = 0;
  776.   static OrcCode *c = 0;
  777.   void (*func) (OrcExecutor *);
  778.  
  779.   if (!p_inited) {
  780.     orc_once_mutex_lock ();
  781.     if (!p_inited) {
  782.       OrcProgram *p;
  783.  
  784. #if 1
  785.       static const orc_uint8 bc[] = {
  786.         1, 9, 25, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  787.         97, 99, 107, 95, 117, 49, 54, 95, 115, 119, 97, 112, 11, 4, 4, 12,
  788.         2, 2, 14, 4, 16, 0, 0, 0, 14, 4, 0, 0, 0, 128, 20, 2,
  789.         20, 4, 183, 32, 4, 154, 33, 32, 124, 33, 33, 16, 132, 0, 33, 17,
  790.         2, 0,
  791.       };
  792.       p = orc_program_new_from_static_bytecode (bc);
  793.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u16_swap);
  794. #else
  795.       p = orc_program_new ();
  796.       orc_program_set_name (p, "audio_orc_unpack_u16_swap");
  797.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u16_swap);
  798.       orc_program_add_destination (p, 4, "d1");
  799.       orc_program_add_source (p, 2, "s1");
  800.       orc_program_add_constant (p, 4, 0x00000010, "c1");
  801.       orc_program_add_constant (p, 4, 0x80000000, "c2");
  802.       orc_program_add_temporary (p, 2, "t1");
  803.       orc_program_add_temporary (p, 4, "t2");
  804.  
  805.       orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  806.       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  807.       orc_program_append_2 (p, "shll", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_D1);
  808.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C2, ORC_VAR_D1);
  809. #endif
  810.  
  811.       orc_program_compile (p);
  812.       c = orc_program_take_code (p);
  813.       orc_program_free (p);
  814.     }
  815.     p_inited = TRUE;
  816.     orc_once_mutex_unlock ();
  817.   }
  818.   ex->arrays[ORC_VAR_A2] = c;
  819.   ex->program = 0;
  820.  
  821.   ex->n = n;
  822.   ex->arrays[ORC_VAR_D1] = d1;
  823.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  824.  
  825.   func = c->exec;
  826.   func (ex);
  827. }
  828. #endif
  829.  
  830.  
  831. /* audio_orc_unpack_s16_swap */
  832. #ifdef DISABLE_ORC
  833. void
  834. audio_orc_unpack_s16_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  835.   int i;
  836.   orc_union32 * ORC_RESTRICT ptr0;
  837.   const orc_union16 * ORC_RESTRICT ptr4;
  838.   orc_union16 var34;
  839.   orc_union32 var35;
  840.   orc_union16 var36;
  841.   orc_union32 var37;
  842.  
  843.   ptr0 = (orc_union32 *)d1;
  844.   ptr4 = (orc_union16 *)s1;
  845.  
  846.  
  847.   for (i = 0; i < n; i++) {
  848.     /* 0: loadw */
  849.     var34 = ptr4[i];
  850.     /* 1: swapw */
  851.     var36.i = ORC_SWAP_W(var34.i);
  852.     /* 2: convuwl */
  853.     var37.i = (orc_uint16)var36.i;
  854.     /* 3: shll */
  855.     var35.i = var37.i << 16;
  856.     /* 4: storel */
  857.     ptr0[i] = var35;
  858.   }
  859.  
  860. }
  861.  
  862. #else
  863. static void
  864. _backup_audio_orc_unpack_s16_swap (OrcExecutor * ORC_RESTRICT ex)
  865. {
  866.   int i;
  867.   int n = ex->n;
  868.   orc_union32 * ORC_RESTRICT ptr0;
  869.   const orc_union16 * ORC_RESTRICT ptr4;
  870.   orc_union16 var34;
  871.   orc_union32 var35;
  872.   orc_union16 var36;
  873.   orc_union32 var37;
  874.  
  875.   ptr0 = (orc_union32 *)ex->arrays[0];
  876.   ptr4 = (orc_union16 *)ex->arrays[4];
  877.  
  878.  
  879.   for (i = 0; i < n; i++) {
  880.     /* 0: loadw */
  881.     var34 = ptr4[i];
  882.     /* 1: swapw */
  883.     var36.i = ORC_SWAP_W(var34.i);
  884.     /* 2: convuwl */
  885.     var37.i = (orc_uint16)var36.i;
  886.     /* 3: shll */
  887.     var35.i = var37.i << 16;
  888.     /* 4: storel */
  889.     ptr0[i] = var35;
  890.   }
  891.  
  892. }
  893.  
  894. void
  895. audio_orc_unpack_s16_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  896. {
  897.   OrcExecutor _ex, *ex = &_ex;
  898.   static volatile int p_inited = 0;
  899.   static OrcCode *c = 0;
  900.   void (*func) (OrcExecutor *);
  901.  
  902.   if (!p_inited) {
  903.     orc_once_mutex_lock ();
  904.     if (!p_inited) {
  905.       OrcProgram *p;
  906.  
  907. #if 1
  908.       static const orc_uint8 bc[] = {
  909.         1, 9, 25, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  910.         97, 99, 107, 95, 115, 49, 54, 95, 115, 119, 97, 112, 11, 4, 4, 12,
  911.         2, 2, 14, 4, 16, 0, 0, 0, 20, 2, 20, 4, 183, 32, 4, 154,
  912.         33, 32, 124, 0, 33, 16, 2, 0,
  913.       };
  914.       p = orc_program_new_from_static_bytecode (bc);
  915.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s16_swap);
  916. #else
  917.       p = orc_program_new ();
  918.       orc_program_set_name (p, "audio_orc_unpack_s16_swap");
  919.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s16_swap);
  920.       orc_program_add_destination (p, 4, "d1");
  921.       orc_program_add_source (p, 2, "s1");
  922.       orc_program_add_constant (p, 4, 0x00000010, "c1");
  923.       orc_program_add_temporary (p, 2, "t1");
  924.       orc_program_add_temporary (p, 4, "t2");
  925.  
  926.       orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  927.       orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  928.       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_D1);
  929. #endif
  930.  
  931.       orc_program_compile (p);
  932.       c = orc_program_take_code (p);
  933.       orc_program_free (p);
  934.     }
  935.     p_inited = TRUE;
  936.     orc_once_mutex_unlock ();
  937.   }
  938.   ex->arrays[ORC_VAR_A2] = c;
  939.   ex->program = 0;
  940.  
  941.   ex->n = n;
  942.   ex->arrays[ORC_VAR_D1] = d1;
  943.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  944.  
  945.   func = c->exec;
  946.   func (ex);
  947. }
  948. #endif
  949.  
  950.  
  951. /* audio_orc_unpack_u24_32 */
  952. #ifdef DISABLE_ORC
  953. void
  954. audio_orc_unpack_u24_32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  955.   int i;
  956.   orc_union32 * ORC_RESTRICT ptr0;
  957.   const orc_union32 * ORC_RESTRICT ptr4;
  958.   orc_union32 var33;
  959. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  960.   volatile orc_union32 var34;
  961. #else
  962.   orc_union32 var34;
  963. #endif
  964.   orc_union32 var35;
  965.   orc_union32 var36;
  966.  
  967.   ptr0 = (orc_union32 *)d1;
  968.   ptr4 = (orc_union32 *)s1;
  969.  
  970.     /* 2: loadpl */
  971.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  972.  
  973.   for (i = 0; i < n; i++) {
  974.     /* 0: loadl */
  975.     var33 = ptr4[i];
  976.     /* 1: shll */
  977.     var36.i = var33.i << 8;
  978.     /* 3: xorl */
  979.     var35.i = var36.i ^ var34.i;
  980.     /* 4: storel */
  981.     ptr0[i] = var35;
  982.   }
  983.  
  984. }
  985.  
  986. #else
  987. static void
  988. _backup_audio_orc_unpack_u24_32 (OrcExecutor * ORC_RESTRICT ex)
  989. {
  990.   int i;
  991.   int n = ex->n;
  992.   orc_union32 * ORC_RESTRICT ptr0;
  993.   const orc_union32 * ORC_RESTRICT ptr4;
  994.   orc_union32 var33;
  995. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  996.   volatile orc_union32 var34;
  997. #else
  998.   orc_union32 var34;
  999. #endif
  1000.   orc_union32 var35;
  1001.   orc_union32 var36;
  1002.  
  1003.   ptr0 = (orc_union32 *)ex->arrays[0];
  1004.   ptr4 = (orc_union32 *)ex->arrays[4];
  1005.  
  1006.     /* 2: loadpl */
  1007.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  1008.  
  1009.   for (i = 0; i < n; i++) {
  1010.     /* 0: loadl */
  1011.     var33 = ptr4[i];
  1012.     /* 1: shll */
  1013.     var36.i = var33.i << 8;
  1014.     /* 3: xorl */
  1015.     var35.i = var36.i ^ var34.i;
  1016.     /* 4: storel */
  1017.     ptr0[i] = var35;
  1018.   }
  1019.  
  1020. }
  1021.  
  1022. void
  1023. audio_orc_unpack_u24_32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  1024. {
  1025.   OrcExecutor _ex, *ex = &_ex;
  1026.   static volatile int p_inited = 0;
  1027.   static OrcCode *c = 0;
  1028.   void (*func) (OrcExecutor *);
  1029.  
  1030.   if (!p_inited) {
  1031.     orc_once_mutex_lock ();
  1032.     if (!p_inited) {
  1033.       OrcProgram *p;
  1034.  
  1035. #if 1
  1036.       static const orc_uint8 bc[] = {
  1037.         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  1038.         97, 99, 107, 95, 117, 50, 52, 95, 51, 50, 11, 4, 4, 12, 4, 4,
  1039.         14, 4, 8, 0, 0, 0, 14, 4, 0, 0, 0, 128, 20, 4, 124, 32,
  1040.         4, 16, 132, 0, 32, 17, 2, 0,
  1041.       };
  1042.       p = orc_program_new_from_static_bytecode (bc);
  1043.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u24_32);
  1044. #else
  1045.       p = orc_program_new ();
  1046.       orc_program_set_name (p, "audio_orc_unpack_u24_32");
  1047.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u24_32);
  1048.       orc_program_add_destination (p, 4, "d1");
  1049.       orc_program_add_source (p, 4, "s1");
  1050.       orc_program_add_constant (p, 4, 0x00000008, "c1");
  1051.       orc_program_add_constant (p, 4, 0x80000000, "c2");
  1052.       orc_program_add_temporary (p, 4, "t1");
  1053.  
  1054.       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1, ORC_VAR_D1);
  1055.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2, ORC_VAR_D1);
  1056. #endif
  1057.  
  1058.       orc_program_compile (p);
  1059.       c = orc_program_take_code (p);
  1060.       orc_program_free (p);
  1061.     }
  1062.     p_inited = TRUE;
  1063.     orc_once_mutex_unlock ();
  1064.   }
  1065.   ex->arrays[ORC_VAR_A2] = c;
  1066.   ex->program = 0;
  1067.  
  1068.   ex->n = n;
  1069.   ex->arrays[ORC_VAR_D1] = d1;
  1070.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  1071.  
  1072.   func = c->exec;
  1073.   func (ex);
  1074. }
  1075. #endif
  1076.  
  1077.  
  1078. /* audio_orc_unpack_s24_32 */
  1079. #ifdef DISABLE_ORC
  1080. void
  1081. audio_orc_unpack_s24_32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  1082.   int i;
  1083.   orc_union32 * ORC_RESTRICT ptr0;
  1084.   const orc_union32 * ORC_RESTRICT ptr4;
  1085.   orc_union32 var32;
  1086.   orc_union32 var33;
  1087.  
  1088.   ptr0 = (orc_union32 *)d1;
  1089.   ptr4 = (orc_union32 *)s1;
  1090.  
  1091.  
  1092.   for (i = 0; i < n; i++) {
  1093.     /* 0: loadl */
  1094.     var32 = ptr4[i];
  1095.     /* 1: shll */
  1096.     var33.i = var32.i << 8;
  1097.     /* 2: storel */
  1098.     ptr0[i] = var33;
  1099.   }
  1100.  
  1101. }
  1102.  
  1103. #else
  1104. static void
  1105. _backup_audio_orc_unpack_s24_32 (OrcExecutor * ORC_RESTRICT ex)
  1106. {
  1107.   int i;
  1108.   int n = ex->n;
  1109.   orc_union32 * ORC_RESTRICT ptr0;
  1110.   const orc_union32 * ORC_RESTRICT ptr4;
  1111.   orc_union32 var32;
  1112.   orc_union32 var33;
  1113.  
  1114.   ptr0 = (orc_union32 *)ex->arrays[0];
  1115.   ptr4 = (orc_union32 *)ex->arrays[4];
  1116.  
  1117.  
  1118.   for (i = 0; i < n; i++) {
  1119.     /* 0: loadl */
  1120.     var32 = ptr4[i];
  1121.     /* 1: shll */
  1122.     var33.i = var32.i << 8;
  1123.     /* 2: storel */
  1124.     ptr0[i] = var33;
  1125.   }
  1126.  
  1127. }
  1128.  
  1129. void
  1130. audio_orc_unpack_s24_32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  1131. {
  1132.   OrcExecutor _ex, *ex = &_ex;
  1133.   static volatile int p_inited = 0;
  1134.   static OrcCode *c = 0;
  1135.   void (*func) (OrcExecutor *);
  1136.  
  1137.   if (!p_inited) {
  1138.     orc_once_mutex_lock ();
  1139.     if (!p_inited) {
  1140.       OrcProgram *p;
  1141.  
  1142. #if 1
  1143.       static const orc_uint8 bc[] = {
  1144.         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  1145.         97, 99, 107, 95, 115, 50, 52, 95, 51, 50, 11, 4, 4, 12, 4, 4,
  1146.         14, 4, 8, 0, 0, 0, 124, 0, 4, 16, 2, 0,
  1147.       };
  1148.       p = orc_program_new_from_static_bytecode (bc);
  1149.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s24_32);
  1150. #else
  1151.       p = orc_program_new ();
  1152.       orc_program_set_name (p, "audio_orc_unpack_s24_32");
  1153.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s24_32);
  1154.       orc_program_add_destination (p, 4, "d1");
  1155.       orc_program_add_source (p, 4, "s1");
  1156.       orc_program_add_constant (p, 4, 0x00000008, "c1");
  1157.  
  1158.       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_C1, ORC_VAR_D1);
  1159. #endif
  1160.  
  1161.       orc_program_compile (p);
  1162.       c = orc_program_take_code (p);
  1163.       orc_program_free (p);
  1164.     }
  1165.     p_inited = TRUE;
  1166.     orc_once_mutex_unlock ();
  1167.   }
  1168.   ex->arrays[ORC_VAR_A2] = c;
  1169.   ex->program = 0;
  1170.  
  1171.   ex->n = n;
  1172.   ex->arrays[ORC_VAR_D1] = d1;
  1173.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  1174.  
  1175.   func = c->exec;
  1176.   func (ex);
  1177. }
  1178. #endif
  1179.  
  1180.  
  1181. /* audio_orc_unpack_u24_32_swap */
  1182. #ifdef DISABLE_ORC
  1183. void
  1184. audio_orc_unpack_u24_32_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  1185.   int i;
  1186.   orc_union32 * ORC_RESTRICT ptr0;
  1187.   const orc_union32 * ORC_RESTRICT ptr4;
  1188.   orc_union32 var33;
  1189. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  1190.   volatile orc_union32 var34;
  1191. #else
  1192.   orc_union32 var34;
  1193. #endif
  1194.   orc_union32 var35;
  1195.   orc_union32 var36;
  1196.   orc_union32 var37;
  1197.  
  1198.   ptr0 = (orc_union32 *)d1;
  1199.   ptr4 = (orc_union32 *)s1;
  1200.  
  1201.     /* 3: loadpl */
  1202.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  1203.  
  1204.   for (i = 0; i < n; i++) {
  1205.     /* 0: loadl */
  1206.     var33 = ptr4[i];
  1207.     /* 1: swapl */
  1208.     var36.i = ORC_SWAP_L(var33.i);
  1209.     /* 2: shll */
  1210.     var37.i = var36.i << 8;
  1211.     /* 4: xorl */
  1212.     var35.i = var37.i ^ var34.i;
  1213.     /* 5: storel */
  1214.     ptr0[i] = var35;
  1215.   }
  1216.  
  1217. }
  1218.  
  1219. #else
  1220. static void
  1221. _backup_audio_orc_unpack_u24_32_swap (OrcExecutor * ORC_RESTRICT ex)
  1222. {
  1223.   int i;
  1224.   int n = ex->n;
  1225.   orc_union32 * ORC_RESTRICT ptr0;
  1226.   const orc_union32 * ORC_RESTRICT ptr4;
  1227.   orc_union32 var33;
  1228. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  1229.   volatile orc_union32 var34;
  1230. #else
  1231.   orc_union32 var34;
  1232. #endif
  1233.   orc_union32 var35;
  1234.   orc_union32 var36;
  1235.   orc_union32 var37;
  1236.  
  1237.   ptr0 = (orc_union32 *)ex->arrays[0];
  1238.   ptr4 = (orc_union32 *)ex->arrays[4];
  1239.  
  1240.     /* 3: loadpl */
  1241.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  1242.  
  1243.   for (i = 0; i < n; i++) {
  1244.     /* 0: loadl */
  1245.     var33 = ptr4[i];
  1246.     /* 1: swapl */
  1247.     var36.i = ORC_SWAP_L(var33.i);
  1248.     /* 2: shll */
  1249.     var37.i = var36.i << 8;
  1250.     /* 4: xorl */
  1251.     var35.i = var37.i ^ var34.i;
  1252.     /* 5: storel */
  1253.     ptr0[i] = var35;
  1254.   }
  1255.  
  1256. }
  1257.  
  1258. void
  1259. audio_orc_unpack_u24_32_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  1260. {
  1261.   OrcExecutor _ex, *ex = &_ex;
  1262.   static volatile int p_inited = 0;
  1263.   static OrcCode *c = 0;
  1264.   void (*func) (OrcExecutor *);
  1265.  
  1266.   if (!p_inited) {
  1267.     orc_once_mutex_lock ();
  1268.     if (!p_inited) {
  1269.       OrcProgram *p;
  1270.  
  1271. #if 1
  1272.       static const orc_uint8 bc[] = {
  1273.         1, 9, 28, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  1274.         97, 99, 107, 95, 117, 50, 52, 95, 51, 50, 95, 115, 119, 97, 112, 11,
  1275.         4, 4, 12, 4, 4, 14, 4, 8, 0, 0, 0, 14, 4, 0, 0, 0,
  1276.         128, 20, 4, 184, 32, 4, 124, 32, 32, 16, 132, 0, 32, 17, 2, 0,
  1277.  
  1278.       };
  1279.       p = orc_program_new_from_static_bytecode (bc);
  1280.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u24_32_swap);
  1281. #else
  1282.       p = orc_program_new ();
  1283.       orc_program_set_name (p, "audio_orc_unpack_u24_32_swap");
  1284.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u24_32_swap);
  1285.       orc_program_add_destination (p, 4, "d1");
  1286.       orc_program_add_source (p, 4, "s1");
  1287.       orc_program_add_constant (p, 4, 0x00000008, "c1");
  1288.       orc_program_add_constant (p, 4, 0x80000000, "c2");
  1289.       orc_program_add_temporary (p, 4, "t1");
  1290.  
  1291.       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  1292.       orc_program_append_2 (p, "shll", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_D1);
  1293.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2, ORC_VAR_D1);
  1294. #endif
  1295.  
  1296.       orc_program_compile (p);
  1297.       c = orc_program_take_code (p);
  1298.       orc_program_free (p);
  1299.     }
  1300.     p_inited = TRUE;
  1301.     orc_once_mutex_unlock ();
  1302.   }
  1303.   ex->arrays[ORC_VAR_A2] = c;
  1304.   ex->program = 0;
  1305.  
  1306.   ex->n = n;
  1307.   ex->arrays[ORC_VAR_D1] = d1;
  1308.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  1309.  
  1310.   func = c->exec;
  1311.   func (ex);
  1312. }
  1313. #endif
  1314.  
  1315.  
  1316. /* audio_orc_unpack_s24_32_swap */
  1317. #ifdef DISABLE_ORC
  1318. void
  1319. audio_orc_unpack_s24_32_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  1320.   int i;
  1321.   orc_union32 * ORC_RESTRICT ptr0;
  1322.   const orc_union32 * ORC_RESTRICT ptr4;
  1323.   orc_union32 var33;
  1324.   orc_union32 var34;
  1325.   orc_union32 var35;
  1326.  
  1327.   ptr0 = (orc_union32 *)d1;
  1328.   ptr4 = (orc_union32 *)s1;
  1329.  
  1330.  
  1331.   for (i = 0; i < n; i++) {
  1332.     /* 0: loadl */
  1333.     var33 = ptr4[i];
  1334.     /* 1: swapl */
  1335.     var35.i = ORC_SWAP_L(var33.i);
  1336.     /* 2: shll */
  1337.     var34.i = var35.i << 8;
  1338.     /* 3: storel */
  1339.     ptr0[i] = var34;
  1340.   }
  1341.  
  1342. }
  1343.  
  1344. #else
  1345. static void
  1346. _backup_audio_orc_unpack_s24_32_swap (OrcExecutor * ORC_RESTRICT ex)
  1347. {
  1348.   int i;
  1349.   int n = ex->n;
  1350.   orc_union32 * ORC_RESTRICT ptr0;
  1351.   const orc_union32 * ORC_RESTRICT ptr4;
  1352.   orc_union32 var33;
  1353.   orc_union32 var34;
  1354.   orc_union32 var35;
  1355.  
  1356.   ptr0 = (orc_union32 *)ex->arrays[0];
  1357.   ptr4 = (orc_union32 *)ex->arrays[4];
  1358.  
  1359.  
  1360.   for (i = 0; i < n; i++) {
  1361.     /* 0: loadl */
  1362.     var33 = ptr4[i];
  1363.     /* 1: swapl */
  1364.     var35.i = ORC_SWAP_L(var33.i);
  1365.     /* 2: shll */
  1366.     var34.i = var35.i << 8;
  1367.     /* 3: storel */
  1368.     ptr0[i] = var34;
  1369.   }
  1370.  
  1371. }
  1372.  
  1373. void
  1374. audio_orc_unpack_s24_32_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  1375. {
  1376.   OrcExecutor _ex, *ex = &_ex;
  1377.   static volatile int p_inited = 0;
  1378.   static OrcCode *c = 0;
  1379.   void (*func) (OrcExecutor *);
  1380.  
  1381.   if (!p_inited) {
  1382.     orc_once_mutex_lock ();
  1383.     if (!p_inited) {
  1384.       OrcProgram *p;
  1385.  
  1386. #if 1
  1387.       static const orc_uint8 bc[] = {
  1388.         1, 9, 28, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  1389.         97, 99, 107, 95, 115, 50, 52, 95, 51, 50, 95, 115, 119, 97, 112, 11,
  1390.         4, 4, 12, 4, 4, 14, 4, 8, 0, 0, 0, 20, 4, 184, 32, 4,
  1391.         124, 0, 32, 16, 2, 0,
  1392.       };
  1393.       p = orc_program_new_from_static_bytecode (bc);
  1394.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s24_32_swap);
  1395. #else
  1396.       p = orc_program_new ();
  1397.       orc_program_set_name (p, "audio_orc_unpack_s24_32_swap");
  1398.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s24_32_swap);
  1399.       orc_program_add_destination (p, 4, "d1");
  1400.       orc_program_add_source (p, 4, "s1");
  1401.       orc_program_add_constant (p, 4, 0x00000008, "c1");
  1402.       orc_program_add_temporary (p, 4, "t1");
  1403.  
  1404.       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  1405.       orc_program_append_2 (p, "shll", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_D1);
  1406. #endif
  1407.  
  1408.       orc_program_compile (p);
  1409.       c = orc_program_take_code (p);
  1410.       orc_program_free (p);
  1411.     }
  1412.     p_inited = TRUE;
  1413.     orc_once_mutex_unlock ();
  1414.   }
  1415.   ex->arrays[ORC_VAR_A2] = c;
  1416.   ex->program = 0;
  1417.  
  1418.   ex->n = n;
  1419.   ex->arrays[ORC_VAR_D1] = d1;
  1420.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  1421.  
  1422.   func = c->exec;
  1423.   func (ex);
  1424. }
  1425. #endif
  1426.  
  1427.  
  1428. /* audio_orc_unpack_u32 */
  1429. #ifdef DISABLE_ORC
  1430. void
  1431. audio_orc_unpack_u32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  1432.   int i;
  1433.   orc_union32 * ORC_RESTRICT ptr0;
  1434.   const orc_union32 * ORC_RESTRICT ptr4;
  1435.   orc_union32 var32;
  1436. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  1437.   volatile orc_union32 var33;
  1438. #else
  1439.   orc_union32 var33;
  1440. #endif
  1441.   orc_union32 var34;
  1442.  
  1443.   ptr0 = (orc_union32 *)d1;
  1444.   ptr4 = (orc_union32 *)s1;
  1445.  
  1446.     /* 1: loadpl */
  1447.     var33.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  1448.  
  1449.   for (i = 0; i < n; i++) {
  1450.     /* 0: loadl */
  1451.     var32 = ptr4[i];
  1452.     /* 2: xorl */
  1453.     var34.i = var32.i ^ var33.i;
  1454.     /* 3: storel */
  1455.     ptr0[i] = var34;
  1456.   }
  1457.  
  1458. }
  1459.  
  1460. #else
  1461. static void
  1462. _backup_audio_orc_unpack_u32 (OrcExecutor * ORC_RESTRICT ex)
  1463. {
  1464.   int i;
  1465.   int n = ex->n;
  1466.   orc_union32 * ORC_RESTRICT ptr0;
  1467.   const orc_union32 * ORC_RESTRICT ptr4;
  1468.   orc_union32 var32;
  1469. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  1470.   volatile orc_union32 var33;
  1471. #else
  1472.   orc_union32 var33;
  1473. #endif
  1474.   orc_union32 var34;
  1475.  
  1476.   ptr0 = (orc_union32 *)ex->arrays[0];
  1477.   ptr4 = (orc_union32 *)ex->arrays[4];
  1478.  
  1479.     /* 1: loadpl */
  1480.     var33.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  1481.  
  1482.   for (i = 0; i < n; i++) {
  1483.     /* 0: loadl */
  1484.     var32 = ptr4[i];
  1485.     /* 2: xorl */
  1486.     var34.i = var32.i ^ var33.i;
  1487.     /* 3: storel */
  1488.     ptr0[i] = var34;
  1489.   }
  1490.  
  1491. }
  1492.  
  1493. void
  1494. audio_orc_unpack_u32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  1495. {
  1496.   OrcExecutor _ex, *ex = &_ex;
  1497.   static volatile int p_inited = 0;
  1498.   static OrcCode *c = 0;
  1499.   void (*func) (OrcExecutor *);
  1500.  
  1501.   if (!p_inited) {
  1502.     orc_once_mutex_lock ();
  1503.     if (!p_inited) {
  1504.       OrcProgram *p;
  1505.  
  1506. #if 1
  1507.       static const orc_uint8 bc[] = {
  1508.         1, 9, 20, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  1509.         97, 99, 107, 95, 117, 51, 50, 11, 4, 4, 12, 4, 4, 14, 4, 0,
  1510.         0, 0, 128, 132, 0, 4, 16, 2, 0,
  1511.       };
  1512.       p = orc_program_new_from_static_bytecode (bc);
  1513.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u32);
  1514. #else
  1515.       p = orc_program_new ();
  1516.       orc_program_set_name (p, "audio_orc_unpack_u32");
  1517.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u32);
  1518.       orc_program_add_destination (p, 4, "d1");
  1519.       orc_program_add_source (p, 4, "s1");
  1520.       orc_program_add_constant (p, 4, 0x80000000, "c1");
  1521.  
  1522.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_C1, ORC_VAR_D1);
  1523. #endif
  1524.  
  1525.       orc_program_compile (p);
  1526.       c = orc_program_take_code (p);
  1527.       orc_program_free (p);
  1528.     }
  1529.     p_inited = TRUE;
  1530.     orc_once_mutex_unlock ();
  1531.   }
  1532.   ex->arrays[ORC_VAR_A2] = c;
  1533.   ex->program = 0;
  1534.  
  1535.   ex->n = n;
  1536.   ex->arrays[ORC_VAR_D1] = d1;
  1537.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  1538.  
  1539.   func = c->exec;
  1540.   func (ex);
  1541. }
  1542. #endif
  1543.  
  1544.  
  1545. /* audio_orc_unpack_u32_swap */
  1546. #ifdef DISABLE_ORC
  1547. void
  1548. audio_orc_unpack_u32_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  1549.   int i;
  1550.   orc_union32 * ORC_RESTRICT ptr0;
  1551.   const orc_union32 * ORC_RESTRICT ptr4;
  1552.   orc_union32 var33;
  1553. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  1554.   volatile orc_union32 var34;
  1555. #else
  1556.   orc_union32 var34;
  1557. #endif
  1558.   orc_union32 var35;
  1559.   orc_union32 var36;
  1560.  
  1561.   ptr0 = (orc_union32 *)d1;
  1562.   ptr4 = (orc_union32 *)s1;
  1563.  
  1564.     /* 2: loadpl */
  1565.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  1566.  
  1567.   for (i = 0; i < n; i++) {
  1568.     /* 0: loadl */
  1569.     var33 = ptr4[i];
  1570.     /* 1: swapl */
  1571.     var36.i = ORC_SWAP_L(var33.i);
  1572.     /* 3: xorl */
  1573.     var35.i = var36.i ^ var34.i;
  1574.     /* 4: storel */
  1575.     ptr0[i] = var35;
  1576.   }
  1577.  
  1578. }
  1579.  
  1580. #else
  1581. static void
  1582. _backup_audio_orc_unpack_u32_swap (OrcExecutor * ORC_RESTRICT ex)
  1583. {
  1584.   int i;
  1585.   int n = ex->n;
  1586.   orc_union32 * ORC_RESTRICT ptr0;
  1587.   const orc_union32 * ORC_RESTRICT ptr4;
  1588.   orc_union32 var33;
  1589. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  1590.   volatile orc_union32 var34;
  1591. #else
  1592.   orc_union32 var34;
  1593. #endif
  1594.   orc_union32 var35;
  1595.   orc_union32 var36;
  1596.  
  1597.   ptr0 = (orc_union32 *)ex->arrays[0];
  1598.   ptr4 = (orc_union32 *)ex->arrays[4];
  1599.  
  1600.     /* 2: loadpl */
  1601.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  1602.  
  1603.   for (i = 0; i < n; i++) {
  1604.     /* 0: loadl */
  1605.     var33 = ptr4[i];
  1606.     /* 1: swapl */
  1607.     var36.i = ORC_SWAP_L(var33.i);
  1608.     /* 3: xorl */
  1609.     var35.i = var36.i ^ var34.i;
  1610.     /* 4: storel */
  1611.     ptr0[i] = var35;
  1612.   }
  1613.  
  1614. }
  1615.  
  1616. void
  1617. audio_orc_unpack_u32_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  1618. {
  1619.   OrcExecutor _ex, *ex = &_ex;
  1620.   static volatile int p_inited = 0;
  1621.   static OrcCode *c = 0;
  1622.   void (*func) (OrcExecutor *);
  1623.  
  1624.   if (!p_inited) {
  1625.     orc_once_mutex_lock ();
  1626.     if (!p_inited) {
  1627.       OrcProgram *p;
  1628.  
  1629. #if 1
  1630.       static const orc_uint8 bc[] = {
  1631.         1, 9, 25, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  1632.         97, 99, 107, 95, 117, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12,
  1633.         4, 4, 14, 4, 0, 0, 0, 128, 20, 4, 184, 32, 4, 132, 0, 32,
  1634.         16, 2, 0,
  1635.       };
  1636.       p = orc_program_new_from_static_bytecode (bc);
  1637.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u32_swap);
  1638. #else
  1639.       p = orc_program_new ();
  1640.       orc_program_set_name (p, "audio_orc_unpack_u32_swap");
  1641.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_u32_swap);
  1642.       orc_program_add_destination (p, 4, "d1");
  1643.       orc_program_add_source (p, 4, "s1");
  1644.       orc_program_add_constant (p, 4, 0x80000000, "c1");
  1645.       orc_program_add_temporary (p, 4, "t1");
  1646.  
  1647.       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  1648.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_D1);
  1649. #endif
  1650.  
  1651.       orc_program_compile (p);
  1652.       c = orc_program_take_code (p);
  1653.       orc_program_free (p);
  1654.     }
  1655.     p_inited = TRUE;
  1656.     orc_once_mutex_unlock ();
  1657.   }
  1658.   ex->arrays[ORC_VAR_A2] = c;
  1659.   ex->program = 0;
  1660.  
  1661.   ex->n = n;
  1662.   ex->arrays[ORC_VAR_D1] = d1;
  1663.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  1664.  
  1665.   func = c->exec;
  1666.   func (ex);
  1667. }
  1668. #endif
  1669.  
  1670.  
  1671. /* audio_orc_unpack_s32 */
  1672. #ifdef DISABLE_ORC
  1673. void
  1674. audio_orc_unpack_s32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  1675.   int i;
  1676.   orc_union32 * ORC_RESTRICT ptr0;
  1677.   const orc_union32 * ORC_RESTRICT ptr4;
  1678.   orc_union32 var32;
  1679.   orc_union32 var33;
  1680.  
  1681.   ptr0 = (orc_union32 *)d1;
  1682.   ptr4 = (orc_union32 *)s1;
  1683.  
  1684.  
  1685.   for (i = 0; i < n; i++) {
  1686.     /* 0: loadl */
  1687.     var32 = ptr4[i];
  1688.     /* 1: copyl */
  1689.     var33.i = var32.i;
  1690.     /* 2: storel */
  1691.     ptr0[i] = var33;
  1692.   }
  1693.  
  1694. }
  1695.  
  1696. #else
  1697. static void
  1698. _backup_audio_orc_unpack_s32 (OrcExecutor * ORC_RESTRICT ex)
  1699. {
  1700.   int i;
  1701.   int n = ex->n;
  1702.   orc_union32 * ORC_RESTRICT ptr0;
  1703.   const orc_union32 * ORC_RESTRICT ptr4;
  1704.   orc_union32 var32;
  1705.   orc_union32 var33;
  1706.  
  1707.   ptr0 = (orc_union32 *)ex->arrays[0];
  1708.   ptr4 = (orc_union32 *)ex->arrays[4];
  1709.  
  1710.  
  1711.   for (i = 0; i < n; i++) {
  1712.     /* 0: loadl */
  1713.     var32 = ptr4[i];
  1714.     /* 1: copyl */
  1715.     var33.i = var32.i;
  1716.     /* 2: storel */
  1717.     ptr0[i] = var33;
  1718.   }
  1719.  
  1720. }
  1721.  
  1722. void
  1723. audio_orc_unpack_s32 (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  1724. {
  1725.   OrcExecutor _ex, *ex = &_ex;
  1726.   static volatile int p_inited = 0;
  1727.   static OrcCode *c = 0;
  1728.   void (*func) (OrcExecutor *);
  1729.  
  1730.   if (!p_inited) {
  1731.     orc_once_mutex_lock ();
  1732.     if (!p_inited) {
  1733.       OrcProgram *p;
  1734.  
  1735. #if 1
  1736.       static const orc_uint8 bc[] = {
  1737.         1, 9, 20, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  1738.         97, 99, 107, 95, 115, 51, 50, 11, 4, 4, 12, 4, 4, 112, 0, 4,
  1739.         2, 0,
  1740.       };
  1741.       p = orc_program_new_from_static_bytecode (bc);
  1742.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s32);
  1743. #else
  1744.       p = orc_program_new ();
  1745.       orc_program_set_name (p, "audio_orc_unpack_s32");
  1746.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s32);
  1747.       orc_program_add_destination (p, 4, "d1");
  1748.       orc_program_add_source (p, 4, "s1");
  1749.  
  1750.       orc_program_append_2 (p, "copyl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  1751. #endif
  1752.  
  1753.       orc_program_compile (p);
  1754.       c = orc_program_take_code (p);
  1755.       orc_program_free (p);
  1756.     }
  1757.     p_inited = TRUE;
  1758.     orc_once_mutex_unlock ();
  1759.   }
  1760.   ex->arrays[ORC_VAR_A2] = c;
  1761.   ex->program = 0;
  1762.  
  1763.   ex->n = n;
  1764.   ex->arrays[ORC_VAR_D1] = d1;
  1765.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  1766.  
  1767.   func = c->exec;
  1768.   func (ex);
  1769. }
  1770. #endif
  1771.  
  1772.  
  1773. /* audio_orc_unpack_s32_swap */
  1774. #ifdef DISABLE_ORC
  1775. void
  1776. audio_orc_unpack_s32_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n){
  1777.   int i;
  1778.   orc_union32 * ORC_RESTRICT ptr0;
  1779.   const orc_union32 * ORC_RESTRICT ptr4;
  1780.   orc_union32 var32;
  1781.   orc_union32 var33;
  1782.  
  1783.   ptr0 = (orc_union32 *)d1;
  1784.   ptr4 = (orc_union32 *)s1;
  1785.  
  1786.  
  1787.   for (i = 0; i < n; i++) {
  1788.     /* 0: loadl */
  1789.     var32 = ptr4[i];
  1790.     /* 1: swapl */
  1791.     var33.i = ORC_SWAP_L(var32.i);
  1792.     /* 2: storel */
  1793.     ptr0[i] = var33;
  1794.   }
  1795.  
  1796. }
  1797.  
  1798. #else
  1799. static void
  1800. _backup_audio_orc_unpack_s32_swap (OrcExecutor * ORC_RESTRICT ex)
  1801. {
  1802.   int i;
  1803.   int n = ex->n;
  1804.   orc_union32 * ORC_RESTRICT ptr0;
  1805.   const orc_union32 * ORC_RESTRICT ptr4;
  1806.   orc_union32 var32;
  1807.   orc_union32 var33;
  1808.  
  1809.   ptr0 = (orc_union32 *)ex->arrays[0];
  1810.   ptr4 = (orc_union32 *)ex->arrays[4];
  1811.  
  1812.  
  1813.   for (i = 0; i < n; i++) {
  1814.     /* 0: loadl */
  1815.     var32 = ptr4[i];
  1816.     /* 1: swapl */
  1817.     var33.i = ORC_SWAP_L(var32.i);
  1818.     /* 2: storel */
  1819.     ptr0[i] = var33;
  1820.   }
  1821.  
  1822. }
  1823.  
  1824. void
  1825. audio_orc_unpack_s32_swap (gint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
  1826. {
  1827.   OrcExecutor _ex, *ex = &_ex;
  1828.   static volatile int p_inited = 0;
  1829.   static OrcCode *c = 0;
  1830.   void (*func) (OrcExecutor *);
  1831.  
  1832.   if (!p_inited) {
  1833.     orc_once_mutex_lock ();
  1834.     if (!p_inited) {
  1835.       OrcProgram *p;
  1836.  
  1837. #if 1
  1838.       static const orc_uint8 bc[] = {
  1839.         1, 9, 25, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  1840.         97, 99, 107, 95, 115, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12,
  1841.         4, 4, 184, 0, 4, 2, 0,
  1842.       };
  1843.       p = orc_program_new_from_static_bytecode (bc);
  1844.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s32_swap);
  1845. #else
  1846.       p = orc_program_new ();
  1847.       orc_program_set_name (p, "audio_orc_unpack_s32_swap");
  1848.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_s32_swap);
  1849.       orc_program_add_destination (p, 4, "d1");
  1850.       orc_program_add_source (p, 4, "s1");
  1851.  
  1852.       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  1853. #endif
  1854.  
  1855.       orc_program_compile (p);
  1856.       c = orc_program_take_code (p);
  1857.       orc_program_free (p);
  1858.     }
  1859.     p_inited = TRUE;
  1860.     orc_once_mutex_unlock ();
  1861.   }
  1862.   ex->arrays[ORC_VAR_A2] = c;
  1863.   ex->program = 0;
  1864.  
  1865.   ex->n = n;
  1866.   ex->arrays[ORC_VAR_D1] = d1;
  1867.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  1868.  
  1869.   func = c->exec;
  1870.   func (ex);
  1871. }
  1872. #endif
  1873.  
  1874.  
  1875. /* audio_orc_unpack_f32 */
  1876. #ifdef DISABLE_ORC
  1877. void
  1878. audio_orc_unpack_f32 (gdouble * ORC_RESTRICT d1, const gfloat * ORC_RESTRICT s1, int n){
  1879.   int i;
  1880.   orc_union64 * ORC_RESTRICT ptr0;
  1881.   const orc_union32 * ORC_RESTRICT ptr4;
  1882.   orc_union32 var32;
  1883.   orc_union64 var33;
  1884.  
  1885.   ptr0 = (orc_union64 *)d1;
  1886.   ptr4 = (orc_union32 *)s1;
  1887.  
  1888.  
  1889.   for (i = 0; i < n; i++) {
  1890.     /* 0: loadl */
  1891.     var32 = ptr4[i];
  1892.     /* 1: convfd */
  1893.     {
  1894.        orc_union32 _src1;
  1895.        _src1.i = ORC_DENORMAL(var32.i);
  1896.        var33.f = _src1.f;
  1897.     }
  1898.     /* 2: storeq */
  1899.     ptr0[i] = var33;
  1900.   }
  1901.  
  1902. }
  1903.  
  1904. #else
  1905. static void
  1906. _backup_audio_orc_unpack_f32 (OrcExecutor * ORC_RESTRICT ex)
  1907. {
  1908.   int i;
  1909.   int n = ex->n;
  1910.   orc_union64 * ORC_RESTRICT ptr0;
  1911.   const orc_union32 * ORC_RESTRICT ptr4;
  1912.   orc_union32 var32;
  1913.   orc_union64 var33;
  1914.  
  1915.   ptr0 = (orc_union64 *)ex->arrays[0];
  1916.   ptr4 = (orc_union32 *)ex->arrays[4];
  1917.  
  1918.  
  1919.   for (i = 0; i < n; i++) {
  1920.     /* 0: loadl */
  1921.     var32 = ptr4[i];
  1922.     /* 1: convfd */
  1923.     {
  1924.        orc_union32 _src1;
  1925.        _src1.i = ORC_DENORMAL(var32.i);
  1926.        var33.f = _src1.f;
  1927.     }
  1928.     /* 2: storeq */
  1929.     ptr0[i] = var33;
  1930.   }
  1931.  
  1932. }
  1933.  
  1934. void
  1935. audio_orc_unpack_f32 (gdouble * ORC_RESTRICT d1, const gfloat * ORC_RESTRICT s1, int n)
  1936. {
  1937.   OrcExecutor _ex, *ex = &_ex;
  1938.   static volatile int p_inited = 0;
  1939.   static OrcCode *c = 0;
  1940.   void (*func) (OrcExecutor *);
  1941.  
  1942.   if (!p_inited) {
  1943.     orc_once_mutex_lock ();
  1944.     if (!p_inited) {
  1945.       OrcProgram *p;
  1946.  
  1947. #if 1
  1948.       static const orc_uint8 bc[] = {
  1949.         1, 9, 20, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  1950.         97, 99, 107, 95, 102, 51, 50, 11, 8, 8, 12, 4, 4, 224, 0, 4,
  1951.         2, 0,
  1952.       };
  1953.       p = orc_program_new_from_static_bytecode (bc);
  1954.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f32);
  1955. #else
  1956.       p = orc_program_new ();
  1957.       orc_program_set_name (p, "audio_orc_unpack_f32");
  1958.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f32);
  1959.       orc_program_add_destination (p, 8, "d1");
  1960.       orc_program_add_source (p, 4, "s1");
  1961.  
  1962.       orc_program_append_2 (p, "convfd", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  1963. #endif
  1964.  
  1965.       orc_program_compile (p);
  1966.       c = orc_program_take_code (p);
  1967.       orc_program_free (p);
  1968.     }
  1969.     p_inited = TRUE;
  1970.     orc_once_mutex_unlock ();
  1971.   }
  1972.   ex->arrays[ORC_VAR_A2] = c;
  1973.   ex->program = 0;
  1974.  
  1975.   ex->n = n;
  1976.   ex->arrays[ORC_VAR_D1] = d1;
  1977.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  1978.  
  1979.   func = c->exec;
  1980.   func (ex);
  1981. }
  1982. #endif
  1983.  
  1984.  
  1985. /* audio_orc_unpack_f32_swap */
  1986. #ifdef DISABLE_ORC
  1987. void
  1988. audio_orc_unpack_f32_swap (gdouble * ORC_RESTRICT d1, const gfloat * ORC_RESTRICT s1, int n){
  1989.   int i;
  1990.   orc_union64 * ORC_RESTRICT ptr0;
  1991.   const orc_union32 * ORC_RESTRICT ptr4;
  1992.   orc_union32 var33;
  1993.   orc_union64 var34;
  1994.   orc_union32 var35;
  1995.  
  1996.   ptr0 = (orc_union64 *)d1;
  1997.   ptr4 = (orc_union32 *)s1;
  1998.  
  1999.  
  2000.   for (i = 0; i < n; i++) {
  2001.     /* 0: loadl */
  2002.     var33 = ptr4[i];
  2003.     /* 1: swapl */
  2004.     var35.i = ORC_SWAP_L(var33.i);
  2005.     /* 2: convfd */
  2006.     {
  2007.        orc_union32 _src1;
  2008.        _src1.i = ORC_DENORMAL(var35.i);
  2009.        var34.f = _src1.f;
  2010.     }
  2011.     /* 3: storeq */
  2012.     ptr0[i] = var34;
  2013.   }
  2014.  
  2015. }
  2016.  
  2017. #else
  2018. static void
  2019. _backup_audio_orc_unpack_f32_swap (OrcExecutor * ORC_RESTRICT ex)
  2020. {
  2021.   int i;
  2022.   int n = ex->n;
  2023.   orc_union64 * ORC_RESTRICT ptr0;
  2024.   const orc_union32 * ORC_RESTRICT ptr4;
  2025.   orc_union32 var33;
  2026.   orc_union64 var34;
  2027.   orc_union32 var35;
  2028.  
  2029.   ptr0 = (orc_union64 *)ex->arrays[0];
  2030.   ptr4 = (orc_union32 *)ex->arrays[4];
  2031.  
  2032.  
  2033.   for (i = 0; i < n; i++) {
  2034.     /* 0: loadl */
  2035.     var33 = ptr4[i];
  2036.     /* 1: swapl */
  2037.     var35.i = ORC_SWAP_L(var33.i);
  2038.     /* 2: convfd */
  2039.     {
  2040.        orc_union32 _src1;
  2041.        _src1.i = ORC_DENORMAL(var35.i);
  2042.        var34.f = _src1.f;
  2043.     }
  2044.     /* 3: storeq */
  2045.     ptr0[i] = var34;
  2046.   }
  2047.  
  2048. }
  2049.  
  2050. void
  2051. audio_orc_unpack_f32_swap (gdouble * ORC_RESTRICT d1, const gfloat * ORC_RESTRICT s1, int n)
  2052. {
  2053.   OrcExecutor _ex, *ex = &_ex;
  2054.   static volatile int p_inited = 0;
  2055.   static OrcCode *c = 0;
  2056.   void (*func) (OrcExecutor *);
  2057.  
  2058.   if (!p_inited) {
  2059.     orc_once_mutex_lock ();
  2060.     if (!p_inited) {
  2061.       OrcProgram *p;
  2062.  
  2063. #if 1
  2064.       static const orc_uint8 bc[] = {
  2065.         1, 9, 25, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  2066.         97, 99, 107, 95, 102, 51, 50, 95, 115, 119, 97, 112, 11, 8, 8, 12,
  2067.         4, 4, 20, 4, 184, 32, 4, 224, 0, 32, 2, 0,
  2068.       };
  2069.       p = orc_program_new_from_static_bytecode (bc);
  2070.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f32_swap);
  2071. #else
  2072.       p = orc_program_new ();
  2073.       orc_program_set_name (p, "audio_orc_unpack_f32_swap");
  2074.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f32_swap);
  2075.       orc_program_add_destination (p, 8, "d1");
  2076.       orc_program_add_source (p, 4, "s1");
  2077.       orc_program_add_temporary (p, 4, "t1");
  2078.  
  2079.       orc_program_append_2 (p, "swapl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  2080.       orc_program_append_2 (p, "convfd", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  2081. #endif
  2082.  
  2083.       orc_program_compile (p);
  2084.       c = orc_program_take_code (p);
  2085.       orc_program_free (p);
  2086.     }
  2087.     p_inited = TRUE;
  2088.     orc_once_mutex_unlock ();
  2089.   }
  2090.   ex->arrays[ORC_VAR_A2] = c;
  2091.   ex->program = 0;
  2092.  
  2093.   ex->n = n;
  2094.   ex->arrays[ORC_VAR_D1] = d1;
  2095.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  2096.  
  2097.   func = c->exec;
  2098.   func (ex);
  2099. }
  2100. #endif
  2101.  
  2102.  
  2103. /* audio_orc_unpack_f64 */
  2104. #ifdef DISABLE_ORC
  2105. void
  2106. audio_orc_unpack_f64 (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n){
  2107.   int i;
  2108.   orc_union64 * ORC_RESTRICT ptr0;
  2109.   const orc_union64 * ORC_RESTRICT ptr4;
  2110.   orc_union64 var32;
  2111.   orc_union64 var33;
  2112.  
  2113.   ptr0 = (orc_union64 *)d1;
  2114.   ptr4 = (orc_union64 *)s1;
  2115.  
  2116.  
  2117.   for (i = 0; i < n; i++) {
  2118.     /* 0: loadq */
  2119.     var32 = ptr4[i];
  2120.     /* 1: copyq */
  2121.     var33.i = var32.i;
  2122.     /* 2: storeq */
  2123.     ptr0[i] = var33;
  2124.   }
  2125.  
  2126. }
  2127.  
  2128. #else
  2129. static void
  2130. _backup_audio_orc_unpack_f64 (OrcExecutor * ORC_RESTRICT ex)
  2131. {
  2132.   int i;
  2133.   int n = ex->n;
  2134.   orc_union64 * ORC_RESTRICT ptr0;
  2135.   const orc_union64 * ORC_RESTRICT ptr4;
  2136.   orc_union64 var32;
  2137.   orc_union64 var33;
  2138.  
  2139.   ptr0 = (orc_union64 *)ex->arrays[0];
  2140.   ptr4 = (orc_union64 *)ex->arrays[4];
  2141.  
  2142.  
  2143.   for (i = 0; i < n; i++) {
  2144.     /* 0: loadq */
  2145.     var32 = ptr4[i];
  2146.     /* 1: copyq */
  2147.     var33.i = var32.i;
  2148.     /* 2: storeq */
  2149.     ptr0[i] = var33;
  2150.   }
  2151.  
  2152. }
  2153.  
  2154. void
  2155. audio_orc_unpack_f64 (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n)
  2156. {
  2157.   OrcExecutor _ex, *ex = &_ex;
  2158.   static volatile int p_inited = 0;
  2159.   static OrcCode *c = 0;
  2160.   void (*func) (OrcExecutor *);
  2161.  
  2162.   if (!p_inited) {
  2163.     orc_once_mutex_lock ();
  2164.     if (!p_inited) {
  2165.       OrcProgram *p;
  2166.  
  2167. #if 1
  2168.       static const orc_uint8 bc[] = {
  2169.         1, 9, 20, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  2170.         97, 99, 107, 95, 102, 54, 52, 11, 8, 8, 12, 8, 8, 137, 0, 4,
  2171.         2, 0,
  2172.       };
  2173.       p = orc_program_new_from_static_bytecode (bc);
  2174.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f64);
  2175. #else
  2176.       p = orc_program_new ();
  2177.       orc_program_set_name (p, "audio_orc_unpack_f64");
  2178.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f64);
  2179.       orc_program_add_destination (p, 8, "d1");
  2180.       orc_program_add_source (p, 8, "s1");
  2181.  
  2182.       orc_program_append_2 (p, "copyq", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  2183. #endif
  2184.  
  2185.       orc_program_compile (p);
  2186.       c = orc_program_take_code (p);
  2187.       orc_program_free (p);
  2188.     }
  2189.     p_inited = TRUE;
  2190.     orc_once_mutex_unlock ();
  2191.   }
  2192.   ex->arrays[ORC_VAR_A2] = c;
  2193.   ex->program = 0;
  2194.  
  2195.   ex->n = n;
  2196.   ex->arrays[ORC_VAR_D1] = d1;
  2197.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  2198.  
  2199.   func = c->exec;
  2200.   func (ex);
  2201. }
  2202. #endif
  2203.  
  2204.  
  2205. /* audio_orc_unpack_f64_swap */
  2206. #ifdef DISABLE_ORC
  2207. void
  2208. audio_orc_unpack_f64_swap (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n){
  2209.   int i;
  2210.   orc_union64 * ORC_RESTRICT ptr0;
  2211.   const orc_union64 * ORC_RESTRICT ptr4;
  2212.   orc_union64 var32;
  2213.   orc_union64 var33;
  2214.  
  2215.   ptr0 = (orc_union64 *)d1;
  2216.   ptr4 = (orc_union64 *)s1;
  2217.  
  2218.  
  2219.   for (i = 0; i < n; i++) {
  2220.     /* 0: loadq */
  2221.     var32 = ptr4[i];
  2222.     /* 1: swapq */
  2223.     var33.i = ORC_SWAP_Q(var32.i);
  2224.     /* 2: storeq */
  2225.     ptr0[i] = var33;
  2226.   }
  2227.  
  2228. }
  2229.  
  2230. #else
  2231. static void
  2232. _backup_audio_orc_unpack_f64_swap (OrcExecutor * ORC_RESTRICT ex)
  2233. {
  2234.   int i;
  2235.   int n = ex->n;
  2236.   orc_union64 * ORC_RESTRICT ptr0;
  2237.   const orc_union64 * ORC_RESTRICT ptr4;
  2238.   orc_union64 var32;
  2239.   orc_union64 var33;
  2240.  
  2241.   ptr0 = (orc_union64 *)ex->arrays[0];
  2242.   ptr4 = (orc_union64 *)ex->arrays[4];
  2243.  
  2244.  
  2245.   for (i = 0; i < n; i++) {
  2246.     /* 0: loadq */
  2247.     var32 = ptr4[i];
  2248.     /* 1: swapq */
  2249.     var33.i = ORC_SWAP_Q(var32.i);
  2250.     /* 2: storeq */
  2251.     ptr0[i] = var33;
  2252.   }
  2253.  
  2254. }
  2255.  
  2256. void
  2257. audio_orc_unpack_f64_swap (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n)
  2258. {
  2259.   OrcExecutor _ex, *ex = &_ex;
  2260.   static volatile int p_inited = 0;
  2261.   static OrcCode *c = 0;
  2262.   void (*func) (OrcExecutor *);
  2263.  
  2264.   if (!p_inited) {
  2265.     orc_once_mutex_lock ();
  2266.     if (!p_inited) {
  2267.       OrcProgram *p;
  2268.  
  2269. #if 1
  2270.       static const orc_uint8 bc[] = {
  2271.         1, 9, 25, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 117, 110, 112,
  2272.         97, 99, 107, 95, 102, 54, 52, 95, 115, 119, 97, 112, 11, 8, 8, 12,
  2273.         8, 8, 186, 0, 4, 2, 0,
  2274.       };
  2275.       p = orc_program_new_from_static_bytecode (bc);
  2276.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f64_swap);
  2277. #else
  2278.       p = orc_program_new ();
  2279.       orc_program_set_name (p, "audio_orc_unpack_f64_swap");
  2280.       orc_program_set_backup_function (p, _backup_audio_orc_unpack_f64_swap);
  2281.       orc_program_add_destination (p, 8, "d1");
  2282.       orc_program_add_source (p, 8, "s1");
  2283.  
  2284.       orc_program_append_2 (p, "swapq", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  2285. #endif
  2286.  
  2287.       orc_program_compile (p);
  2288.       c = orc_program_take_code (p);
  2289.       orc_program_free (p);
  2290.     }
  2291.     p_inited = TRUE;
  2292.     orc_once_mutex_unlock ();
  2293.   }
  2294.   ex->arrays[ORC_VAR_A2] = c;
  2295.   ex->program = 0;
  2296.  
  2297.   ex->n = n;
  2298.   ex->arrays[ORC_VAR_D1] = d1;
  2299.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  2300.  
  2301.   func = c->exec;
  2302.   func (ex);
  2303. }
  2304. #endif
  2305.  
  2306.  
  2307. /* audio_orc_pack_u8 */
  2308. #ifdef DISABLE_ORC
  2309. void
  2310. audio_orc_pack_u8 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  2311.   int i;
  2312.   orc_int8 * ORC_RESTRICT ptr0;
  2313.   const orc_union32 * ORC_RESTRICT ptr4;
  2314.   orc_union32 var34;
  2315. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  2316.   volatile orc_union32 var35;
  2317. #else
  2318.   orc_union32 var35;
  2319. #endif
  2320.   orc_int8 var36;
  2321.   orc_union32 var37;
  2322.   orc_union32 var38;
  2323.   orc_union16 var39;
  2324.  
  2325.   ptr0 = (orc_int8 *)d1;
  2326.   ptr4 = (orc_union32 *)s1;
  2327.  
  2328.     /* 1: loadpl */
  2329.     var35.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  2330.  
  2331.   for (i = 0; i < n; i++) {
  2332.     /* 0: loadl */
  2333.     var34 = ptr4[i];
  2334.     /* 2: xorl */
  2335.     var37.i = var34.i ^ var35.i;
  2336.     /* 3: shrul */
  2337.     var38.i = ((orc_uint32)var37.i) >> 24;
  2338.     /* 4: convlw */
  2339.     var39.i = var38.i;
  2340.     /* 5: convwb */
  2341.     var36 = var39.i;
  2342.     /* 6: storeb */
  2343.     ptr0[i] = var36;
  2344.   }
  2345.  
  2346. }
  2347.  
  2348. #else
  2349. static void
  2350. _backup_audio_orc_pack_u8 (OrcExecutor * ORC_RESTRICT ex)
  2351. {
  2352.   int i;
  2353.   int n = ex->n;
  2354.   orc_int8 * ORC_RESTRICT ptr0;
  2355.   const orc_union32 * ORC_RESTRICT ptr4;
  2356.   orc_union32 var34;
  2357. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  2358.   volatile orc_union32 var35;
  2359. #else
  2360.   orc_union32 var35;
  2361. #endif
  2362.   orc_int8 var36;
  2363.   orc_union32 var37;
  2364.   orc_union32 var38;
  2365.   orc_union16 var39;
  2366.  
  2367.   ptr0 = (orc_int8 *)ex->arrays[0];
  2368.   ptr4 = (orc_union32 *)ex->arrays[4];
  2369.  
  2370.     /* 1: loadpl */
  2371.     var35.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  2372.  
  2373.   for (i = 0; i < n; i++) {
  2374.     /* 0: loadl */
  2375.     var34 = ptr4[i];
  2376.     /* 2: xorl */
  2377.     var37.i = var34.i ^ var35.i;
  2378.     /* 3: shrul */
  2379.     var38.i = ((orc_uint32)var37.i) >> 24;
  2380.     /* 4: convlw */
  2381.     var39.i = var38.i;
  2382.     /* 5: convwb */
  2383.     var36 = var39.i;
  2384.     /* 6: storeb */
  2385.     ptr0[i] = var36;
  2386.   }
  2387.  
  2388. }
  2389.  
  2390. void
  2391. audio_orc_pack_u8 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  2392. {
  2393.   OrcExecutor _ex, *ex = &_ex;
  2394.   static volatile int p_inited = 0;
  2395.   static OrcCode *c = 0;
  2396.   void (*func) (OrcExecutor *);
  2397.  
  2398.   if (!p_inited) {
  2399.     orc_once_mutex_lock ();
  2400.     if (!p_inited) {
  2401.       OrcProgram *p;
  2402.  
  2403. #if 1
  2404.       static const orc_uint8 bc[] = {
  2405.         1, 9, 17, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  2406.         107, 95, 117, 56, 11, 1, 1, 12, 4, 4, 14, 4, 24, 0, 0, 0,
  2407.         14, 4, 0, 0, 0, 128, 20, 4, 20, 2, 132, 32, 4, 17, 126, 32,
  2408.         32, 16, 163, 33, 32, 157, 0, 33, 2, 0,
  2409.       };
  2410.       p = orc_program_new_from_static_bytecode (bc);
  2411.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u8);
  2412. #else
  2413.       p = orc_program_new ();
  2414.       orc_program_set_name (p, "audio_orc_pack_u8");
  2415.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u8);
  2416.       orc_program_add_destination (p, 1, "d1");
  2417.       orc_program_add_source (p, 4, "s1");
  2418.       orc_program_add_constant (p, 4, 0x00000018, "c1");
  2419.       orc_program_add_constant (p, 4, 0x80000000, "c2");
  2420.       orc_program_add_temporary (p, 4, "t1");
  2421.       orc_program_add_temporary (p, 2, "t2");
  2422.  
  2423.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C2, ORC_VAR_D1);
  2424.       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_D1);
  2425.       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  2426.       orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1, ORC_VAR_D1);
  2427. #endif
  2428.  
  2429.       orc_program_compile (p);
  2430.       c = orc_program_take_code (p);
  2431.       orc_program_free (p);
  2432.     }
  2433.     p_inited = TRUE;
  2434.     orc_once_mutex_unlock ();
  2435.   }
  2436.   ex->arrays[ORC_VAR_A2] = c;
  2437.   ex->program = 0;
  2438.  
  2439.   ex->n = n;
  2440.   ex->arrays[ORC_VAR_D1] = d1;
  2441.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  2442.  
  2443.   func = c->exec;
  2444.   func (ex);
  2445. }
  2446. #endif
  2447.  
  2448.  
  2449. /* audio_orc_pack_s8 */
  2450. #ifdef DISABLE_ORC
  2451. void
  2452. audio_orc_pack_s8 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  2453.   int i;
  2454.   orc_int8 * ORC_RESTRICT ptr0;
  2455.   const orc_union32 * ORC_RESTRICT ptr4;
  2456.   orc_union32 var34;
  2457.   orc_int8 var35;
  2458.   orc_union32 var36;
  2459.   orc_union16 var37;
  2460.  
  2461.   ptr0 = (orc_int8 *)d1;
  2462.   ptr4 = (orc_union32 *)s1;
  2463.  
  2464.  
  2465.   for (i = 0; i < n; i++) {
  2466.     /* 0: loadl */
  2467.     var34 = ptr4[i];
  2468.     /* 1: shrsl */
  2469.     var36.i = var34.i >> 24;
  2470.     /* 2: convlw */
  2471.     var37.i = var36.i;
  2472.     /* 3: convwb */
  2473.     var35 = var37.i;
  2474.     /* 4: storeb */
  2475.     ptr0[i] = var35;
  2476.   }
  2477.  
  2478. }
  2479.  
  2480. #else
  2481. static void
  2482. _backup_audio_orc_pack_s8 (OrcExecutor * ORC_RESTRICT ex)
  2483. {
  2484.   int i;
  2485.   int n = ex->n;
  2486.   orc_int8 * ORC_RESTRICT ptr0;
  2487.   const orc_union32 * ORC_RESTRICT ptr4;
  2488.   orc_union32 var34;
  2489.   orc_int8 var35;
  2490.   orc_union32 var36;
  2491.   orc_union16 var37;
  2492.  
  2493.   ptr0 = (orc_int8 *)ex->arrays[0];
  2494.   ptr4 = (orc_union32 *)ex->arrays[4];
  2495.  
  2496.  
  2497.   for (i = 0; i < n; i++) {
  2498.     /* 0: loadl */
  2499.     var34 = ptr4[i];
  2500.     /* 1: shrsl */
  2501.     var36.i = var34.i >> 24;
  2502.     /* 2: convlw */
  2503.     var37.i = var36.i;
  2504.     /* 3: convwb */
  2505.     var35 = var37.i;
  2506.     /* 4: storeb */
  2507.     ptr0[i] = var35;
  2508.   }
  2509.  
  2510. }
  2511.  
  2512. void
  2513. audio_orc_pack_s8 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  2514. {
  2515.   OrcExecutor _ex, *ex = &_ex;
  2516.   static volatile int p_inited = 0;
  2517.   static OrcCode *c = 0;
  2518.   void (*func) (OrcExecutor *);
  2519.  
  2520.   if (!p_inited) {
  2521.     orc_once_mutex_lock ();
  2522.     if (!p_inited) {
  2523.       OrcProgram *p;
  2524.  
  2525. #if 1
  2526.       static const orc_uint8 bc[] = {
  2527.         1, 9, 17, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  2528.         107, 95, 115, 56, 11, 1, 1, 12, 4, 4, 14, 4, 24, 0, 0, 0,
  2529.         20, 4, 20, 2, 125, 32, 4, 16, 163, 33, 32, 157, 0, 33, 2, 0,
  2530.  
  2531.       };
  2532.       p = orc_program_new_from_static_bytecode (bc);
  2533.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s8);
  2534. #else
  2535.       p = orc_program_new ();
  2536.       orc_program_set_name (p, "audio_orc_pack_s8");
  2537.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s8);
  2538.       orc_program_add_destination (p, 1, "d1");
  2539.       orc_program_add_source (p, 4, "s1");
  2540.       orc_program_add_constant (p, 4, 0x00000018, "c1");
  2541.       orc_program_add_temporary (p, 4, "t1");
  2542.       orc_program_add_temporary (p, 2, "t2");
  2543.  
  2544.       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1, ORC_VAR_D1);
  2545.       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  2546.       orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1, ORC_VAR_D1);
  2547. #endif
  2548.  
  2549.       orc_program_compile (p);
  2550.       c = orc_program_take_code (p);
  2551.       orc_program_free (p);
  2552.     }
  2553.     p_inited = TRUE;
  2554.     orc_once_mutex_unlock ();
  2555.   }
  2556.   ex->arrays[ORC_VAR_A2] = c;
  2557.   ex->program = 0;
  2558.  
  2559.   ex->n = n;
  2560.   ex->arrays[ORC_VAR_D1] = d1;
  2561.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  2562.  
  2563.   func = c->exec;
  2564.   func (ex);
  2565. }
  2566. #endif
  2567.  
  2568.  
  2569. /* audio_orc_pack_u16 */
  2570. #ifdef DISABLE_ORC
  2571. void
  2572. audio_orc_pack_u16 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  2573.   int i;
  2574.   orc_union16 * ORC_RESTRICT ptr0;
  2575.   const orc_union32 * ORC_RESTRICT ptr4;
  2576.   orc_union32 var33;
  2577. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  2578.   volatile orc_union32 var34;
  2579. #else
  2580.   orc_union32 var34;
  2581. #endif
  2582.   orc_union16 var35;
  2583.   orc_union32 var36;
  2584.   orc_union32 var37;
  2585.  
  2586.   ptr0 = (orc_union16 *)d1;
  2587.   ptr4 = (orc_union32 *)s1;
  2588.  
  2589.     /* 1: loadpl */
  2590.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  2591.  
  2592.   for (i = 0; i < n; i++) {
  2593.     /* 0: loadl */
  2594.     var33 = ptr4[i];
  2595.     /* 2: xorl */
  2596.     var36.i = var33.i ^ var34.i;
  2597.     /* 3: shrul */
  2598.     var37.i = ((orc_uint32)var36.i) >> 16;
  2599.     /* 4: convlw */
  2600.     var35.i = var37.i;
  2601.     /* 5: storew */
  2602.     ptr0[i] = var35;
  2603.   }
  2604.  
  2605. }
  2606.  
  2607. #else
  2608. static void
  2609. _backup_audio_orc_pack_u16 (OrcExecutor * ORC_RESTRICT ex)
  2610. {
  2611.   int i;
  2612.   int n = ex->n;
  2613.   orc_union16 * ORC_RESTRICT ptr0;
  2614.   const orc_union32 * ORC_RESTRICT ptr4;
  2615.   orc_union32 var33;
  2616. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  2617.   volatile orc_union32 var34;
  2618. #else
  2619.   orc_union32 var34;
  2620. #endif
  2621.   orc_union16 var35;
  2622.   orc_union32 var36;
  2623.   orc_union32 var37;
  2624.  
  2625.   ptr0 = (orc_union16 *)ex->arrays[0];
  2626.   ptr4 = (orc_union32 *)ex->arrays[4];
  2627.  
  2628.     /* 1: loadpl */
  2629.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  2630.  
  2631.   for (i = 0; i < n; i++) {
  2632.     /* 0: loadl */
  2633.     var33 = ptr4[i];
  2634.     /* 2: xorl */
  2635.     var36.i = var33.i ^ var34.i;
  2636.     /* 3: shrul */
  2637.     var37.i = ((orc_uint32)var36.i) >> 16;
  2638.     /* 4: convlw */
  2639.     var35.i = var37.i;
  2640.     /* 5: storew */
  2641.     ptr0[i] = var35;
  2642.   }
  2643.  
  2644. }
  2645.  
  2646. void
  2647. audio_orc_pack_u16 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  2648. {
  2649.   OrcExecutor _ex, *ex = &_ex;
  2650.   static volatile int p_inited = 0;
  2651.   static OrcCode *c = 0;
  2652.   void (*func) (OrcExecutor *);
  2653.  
  2654.   if (!p_inited) {
  2655.     orc_once_mutex_lock ();
  2656.     if (!p_inited) {
  2657.       OrcProgram *p;
  2658.  
  2659. #if 1
  2660.       static const orc_uint8 bc[] = {
  2661.         1, 9, 18, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  2662.         107, 95, 117, 49, 54, 11, 2, 2, 12, 4, 4, 14, 4, 16, 0, 0,
  2663.         0, 14, 4, 0, 0, 0, 128, 20, 4, 132, 32, 4, 17, 126, 32, 32,
  2664.         16, 163, 0, 32, 2, 0,
  2665.       };
  2666.       p = orc_program_new_from_static_bytecode (bc);
  2667.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u16);
  2668. #else
  2669.       p = orc_program_new ();
  2670.       orc_program_set_name (p, "audio_orc_pack_u16");
  2671.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u16);
  2672.       orc_program_add_destination (p, 2, "d1");
  2673.       orc_program_add_source (p, 4, "s1");
  2674.       orc_program_add_constant (p, 4, 0x00000010, "c1");
  2675.       orc_program_add_constant (p, 4, 0x80000000, "c2");
  2676.       orc_program_add_temporary (p, 4, "t1");
  2677.  
  2678.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C2, ORC_VAR_D1);
  2679.       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_D1);
  2680.       orc_program_append_2 (p, "convlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  2681. #endif
  2682.  
  2683.       orc_program_compile (p);
  2684.       c = orc_program_take_code (p);
  2685.       orc_program_free (p);
  2686.     }
  2687.     p_inited = TRUE;
  2688.     orc_once_mutex_unlock ();
  2689.   }
  2690.   ex->arrays[ORC_VAR_A2] = c;
  2691.   ex->program = 0;
  2692.  
  2693.   ex->n = n;
  2694.   ex->arrays[ORC_VAR_D1] = d1;
  2695.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  2696.  
  2697.   func = c->exec;
  2698.   func (ex);
  2699. }
  2700. #endif
  2701.  
  2702.  
  2703. /* audio_orc_pack_s16 */
  2704. #ifdef DISABLE_ORC
  2705. void
  2706. audio_orc_pack_s16 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  2707.   int i;
  2708.   orc_union16 * ORC_RESTRICT ptr0;
  2709.   const orc_union32 * ORC_RESTRICT ptr4;
  2710.   orc_union32 var33;
  2711.   orc_union16 var34;
  2712.   orc_union32 var35;
  2713.  
  2714.   ptr0 = (orc_union16 *)d1;
  2715.   ptr4 = (orc_union32 *)s1;
  2716.  
  2717.  
  2718.   for (i = 0; i < n; i++) {
  2719.     /* 0: loadl */
  2720.     var33 = ptr4[i];
  2721.     /* 1: shrsl */
  2722.     var35.i = var33.i >> 16;
  2723.     /* 2: convlw */
  2724.     var34.i = var35.i;
  2725.     /* 3: storew */
  2726.     ptr0[i] = var34;
  2727.   }
  2728.  
  2729. }
  2730.  
  2731. #else
  2732. static void
  2733. _backup_audio_orc_pack_s16 (OrcExecutor * ORC_RESTRICT ex)
  2734. {
  2735.   int i;
  2736.   int n = ex->n;
  2737.   orc_union16 * ORC_RESTRICT ptr0;
  2738.   const orc_union32 * ORC_RESTRICT ptr4;
  2739.   orc_union32 var33;
  2740.   orc_union16 var34;
  2741.   orc_union32 var35;
  2742.  
  2743.   ptr0 = (orc_union16 *)ex->arrays[0];
  2744.   ptr4 = (orc_union32 *)ex->arrays[4];
  2745.  
  2746.  
  2747.   for (i = 0; i < n; i++) {
  2748.     /* 0: loadl */
  2749.     var33 = ptr4[i];
  2750.     /* 1: shrsl */
  2751.     var35.i = var33.i >> 16;
  2752.     /* 2: convlw */
  2753.     var34.i = var35.i;
  2754.     /* 3: storew */
  2755.     ptr0[i] = var34;
  2756.   }
  2757.  
  2758. }
  2759.  
  2760. void
  2761. audio_orc_pack_s16 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  2762. {
  2763.   OrcExecutor _ex, *ex = &_ex;
  2764.   static volatile int p_inited = 0;
  2765.   static OrcCode *c = 0;
  2766.   void (*func) (OrcExecutor *);
  2767.  
  2768.   if (!p_inited) {
  2769.     orc_once_mutex_lock ();
  2770.     if (!p_inited) {
  2771.       OrcProgram *p;
  2772.  
  2773. #if 1
  2774.       static const orc_uint8 bc[] = {
  2775.         1, 9, 18, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  2776.         107, 95, 115, 49, 54, 11, 2, 2, 12, 4, 4, 14, 4, 16, 0, 0,
  2777.         0, 20, 4, 125, 32, 4, 16, 163, 0, 32, 2, 0,
  2778.       };
  2779.       p = orc_program_new_from_static_bytecode (bc);
  2780.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s16);
  2781. #else
  2782.       p = orc_program_new ();
  2783.       orc_program_set_name (p, "audio_orc_pack_s16");
  2784.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s16);
  2785.       orc_program_add_destination (p, 2, "d1");
  2786.       orc_program_add_source (p, 4, "s1");
  2787.       orc_program_add_constant (p, 4, 0x00000010, "c1");
  2788.       orc_program_add_temporary (p, 4, "t1");
  2789.  
  2790.       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1, ORC_VAR_D1);
  2791.       orc_program_append_2 (p, "convlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  2792. #endif
  2793.  
  2794.       orc_program_compile (p);
  2795.       c = orc_program_take_code (p);
  2796.       orc_program_free (p);
  2797.     }
  2798.     p_inited = TRUE;
  2799.     orc_once_mutex_unlock ();
  2800.   }
  2801.   ex->arrays[ORC_VAR_A2] = c;
  2802.   ex->program = 0;
  2803.  
  2804.   ex->n = n;
  2805.   ex->arrays[ORC_VAR_D1] = d1;
  2806.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  2807.  
  2808.   func = c->exec;
  2809.   func (ex);
  2810. }
  2811. #endif
  2812.  
  2813.  
  2814. /* audio_orc_pack_u16_swap */
  2815. #ifdef DISABLE_ORC
  2816. void
  2817. audio_orc_pack_u16_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  2818.   int i;
  2819.   orc_union16 * ORC_RESTRICT ptr0;
  2820.   const orc_union32 * ORC_RESTRICT ptr4;
  2821.   orc_union32 var34;
  2822. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  2823.   volatile orc_union32 var35;
  2824. #else
  2825.   orc_union32 var35;
  2826. #endif
  2827.   orc_union16 var36;
  2828.   orc_union32 var37;
  2829.   orc_union32 var38;
  2830.   orc_union16 var39;
  2831.  
  2832.   ptr0 = (orc_union16 *)d1;
  2833.   ptr4 = (orc_union32 *)s1;
  2834.  
  2835.     /* 1: loadpl */
  2836.     var35.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  2837.  
  2838.   for (i = 0; i < n; i++) {
  2839.     /* 0: loadl */
  2840.     var34 = ptr4[i];
  2841.     /* 2: xorl */
  2842.     var37.i = var34.i ^ var35.i;
  2843.     /* 3: shrul */
  2844.     var38.i = ((orc_uint32)var37.i) >> 16;
  2845.     /* 4: convlw */
  2846.     var39.i = var38.i;
  2847.     /* 5: swapw */
  2848.     var36.i = ORC_SWAP_W(var39.i);
  2849.     /* 6: storew */
  2850.     ptr0[i] = var36;
  2851.   }
  2852.  
  2853. }
  2854.  
  2855. #else
  2856. static void
  2857. _backup_audio_orc_pack_u16_swap (OrcExecutor * ORC_RESTRICT ex)
  2858. {
  2859.   int i;
  2860.   int n = ex->n;
  2861.   orc_union16 * ORC_RESTRICT ptr0;
  2862.   const orc_union32 * ORC_RESTRICT ptr4;
  2863.   orc_union32 var34;
  2864. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  2865.   volatile orc_union32 var35;
  2866. #else
  2867.   orc_union32 var35;
  2868. #endif
  2869.   orc_union16 var36;
  2870.   orc_union32 var37;
  2871.   orc_union32 var38;
  2872.   orc_union16 var39;
  2873.  
  2874.   ptr0 = (orc_union16 *)ex->arrays[0];
  2875.   ptr4 = (orc_union32 *)ex->arrays[4];
  2876.  
  2877.     /* 1: loadpl */
  2878.     var35.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  2879.  
  2880.   for (i = 0; i < n; i++) {
  2881.     /* 0: loadl */
  2882.     var34 = ptr4[i];
  2883.     /* 2: xorl */
  2884.     var37.i = var34.i ^ var35.i;
  2885.     /* 3: shrul */
  2886.     var38.i = ((orc_uint32)var37.i) >> 16;
  2887.     /* 4: convlw */
  2888.     var39.i = var38.i;
  2889.     /* 5: swapw */
  2890.     var36.i = ORC_SWAP_W(var39.i);
  2891.     /* 6: storew */
  2892.     ptr0[i] = var36;
  2893.   }
  2894.  
  2895. }
  2896.  
  2897. void
  2898. audio_orc_pack_u16_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  2899. {
  2900.   OrcExecutor _ex, *ex = &_ex;
  2901.   static volatile int p_inited = 0;
  2902.   static OrcCode *c = 0;
  2903.   void (*func) (OrcExecutor *);
  2904.  
  2905.   if (!p_inited) {
  2906.     orc_once_mutex_lock ();
  2907.     if (!p_inited) {
  2908.       OrcProgram *p;
  2909.  
  2910. #if 1
  2911.       static const orc_uint8 bc[] = {
  2912.         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  2913.         107, 95, 117, 49, 54, 95, 115, 119, 97, 112, 11, 2, 2, 12, 4, 4,
  2914.         14, 4, 0, 0, 0, 128, 14, 4, 16, 0, 0, 0, 20, 4, 20, 2,
  2915.         132, 32, 4, 16, 126, 32, 32, 17, 163, 33, 32, 183, 0, 33, 2, 0,
  2916.  
  2917.       };
  2918.       p = orc_program_new_from_static_bytecode (bc);
  2919.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u16_swap);
  2920. #else
  2921.       p = orc_program_new ();
  2922.       orc_program_set_name (p, "audio_orc_pack_u16_swap");
  2923.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u16_swap);
  2924.       orc_program_add_destination (p, 2, "d1");
  2925.       orc_program_add_source (p, 4, "s1");
  2926.       orc_program_add_constant (p, 4, 0x80000000, "c1");
  2927.       orc_program_add_constant (p, 4, 0x00000010, "c2");
  2928.       orc_program_add_temporary (p, 4, "t1");
  2929.       orc_program_add_temporary (p, 2, "t2");
  2930.  
  2931.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1, ORC_VAR_D1);
  2932.       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2, ORC_VAR_D1);
  2933.       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  2934.       orc_program_append_2 (p, "swapw", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1, ORC_VAR_D1);
  2935. #endif
  2936.  
  2937.       orc_program_compile (p);
  2938.       c = orc_program_take_code (p);
  2939.       orc_program_free (p);
  2940.     }
  2941.     p_inited = TRUE;
  2942.     orc_once_mutex_unlock ();
  2943.   }
  2944.   ex->arrays[ORC_VAR_A2] = c;
  2945.   ex->program = 0;
  2946.  
  2947.   ex->n = n;
  2948.   ex->arrays[ORC_VAR_D1] = d1;
  2949.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  2950.  
  2951.   func = c->exec;
  2952.   func (ex);
  2953. }
  2954. #endif
  2955.  
  2956.  
  2957. /* audio_orc_pack_s16_swap */
  2958. #ifdef DISABLE_ORC
  2959. void
  2960. audio_orc_pack_s16_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  2961.   int i;
  2962.   orc_union16 * ORC_RESTRICT ptr0;
  2963.   const orc_union32 * ORC_RESTRICT ptr4;
  2964.   orc_union32 var34;
  2965.   orc_union16 var35;
  2966.   orc_union32 var36;
  2967.   orc_union16 var37;
  2968.  
  2969.   ptr0 = (orc_union16 *)d1;
  2970.   ptr4 = (orc_union32 *)s1;
  2971.  
  2972.  
  2973.   for (i = 0; i < n; i++) {
  2974.     /* 0: loadl */
  2975.     var34 = ptr4[i];
  2976.     /* 1: shrsl */
  2977.     var36.i = var34.i >> 16;
  2978.     /* 2: convlw */
  2979.     var37.i = var36.i;
  2980.     /* 3: swapw */
  2981.     var35.i = ORC_SWAP_W(var37.i);
  2982.     /* 4: storew */
  2983.     ptr0[i] = var35;
  2984.   }
  2985.  
  2986. }
  2987.  
  2988. #else
  2989. static void
  2990. _backup_audio_orc_pack_s16_swap (OrcExecutor * ORC_RESTRICT ex)
  2991. {
  2992.   int i;
  2993.   int n = ex->n;
  2994.   orc_union16 * ORC_RESTRICT ptr0;
  2995.   const orc_union32 * ORC_RESTRICT ptr4;
  2996.   orc_union32 var34;
  2997.   orc_union16 var35;
  2998.   orc_union32 var36;
  2999.   orc_union16 var37;
  3000.  
  3001.   ptr0 = (orc_union16 *)ex->arrays[0];
  3002.   ptr4 = (orc_union32 *)ex->arrays[4];
  3003.  
  3004.  
  3005.   for (i = 0; i < n; i++) {
  3006.     /* 0: loadl */
  3007.     var34 = ptr4[i];
  3008.     /* 1: shrsl */
  3009.     var36.i = var34.i >> 16;
  3010.     /* 2: convlw */
  3011.     var37.i = var36.i;
  3012.     /* 3: swapw */
  3013.     var35.i = ORC_SWAP_W(var37.i);
  3014.     /* 4: storew */
  3015.     ptr0[i] = var35;
  3016.   }
  3017.  
  3018. }
  3019.  
  3020. void
  3021. audio_orc_pack_s16_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  3022. {
  3023.   OrcExecutor _ex, *ex = &_ex;
  3024.   static volatile int p_inited = 0;
  3025.   static OrcCode *c = 0;
  3026.   void (*func) (OrcExecutor *);
  3027.  
  3028.   if (!p_inited) {
  3029.     orc_once_mutex_lock ();
  3030.     if (!p_inited) {
  3031.       OrcProgram *p;
  3032.  
  3033. #if 1
  3034.       static const orc_uint8 bc[] = {
  3035.         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  3036.         107, 95, 115, 49, 54, 95, 115, 119, 97, 112, 11, 2, 2, 12, 4, 4,
  3037.         14, 4, 16, 0, 0, 0, 20, 4, 20, 2, 125, 32, 4, 16, 163, 33,
  3038.         32, 183, 0, 33, 2, 0,
  3039.       };
  3040.       p = orc_program_new_from_static_bytecode (bc);
  3041.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s16_swap);
  3042. #else
  3043.       p = orc_program_new ();
  3044.       orc_program_set_name (p, "audio_orc_pack_s16_swap");
  3045.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s16_swap);
  3046.       orc_program_add_destination (p, 2, "d1");
  3047.       orc_program_add_source (p, 4, "s1");
  3048.       orc_program_add_constant (p, 4, 0x00000010, "c1");
  3049.       orc_program_add_temporary (p, 4, "t1");
  3050.       orc_program_add_temporary (p, 2, "t2");
  3051.  
  3052.       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1, ORC_VAR_D1);
  3053.       orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  3054.       orc_program_append_2 (p, "swapw", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1, ORC_VAR_D1);
  3055. #endif
  3056.  
  3057.       orc_program_compile (p);
  3058.       c = orc_program_take_code (p);
  3059.       orc_program_free (p);
  3060.     }
  3061.     p_inited = TRUE;
  3062.     orc_once_mutex_unlock ();
  3063.   }
  3064.   ex->arrays[ORC_VAR_A2] = c;
  3065.   ex->program = 0;
  3066.  
  3067.   ex->n = n;
  3068.   ex->arrays[ORC_VAR_D1] = d1;
  3069.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  3070.  
  3071.   func = c->exec;
  3072.   func (ex);
  3073. }
  3074. #endif
  3075.  
  3076.  
  3077. /* audio_orc_pack_u24_32 */
  3078. #ifdef DISABLE_ORC
  3079. void
  3080. audio_orc_pack_u24_32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  3081.   int i;
  3082.   orc_union32 * ORC_RESTRICT ptr0;
  3083.   const orc_union32 * ORC_RESTRICT ptr4;
  3084.   orc_union32 var33;
  3085. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  3086.   volatile orc_union32 var34;
  3087. #else
  3088.   orc_union32 var34;
  3089. #endif
  3090.   orc_union32 var35;
  3091.   orc_union32 var36;
  3092.  
  3093.   ptr0 = (orc_union32 *)d1;
  3094.   ptr4 = (orc_union32 *)s1;
  3095.  
  3096.     /* 1: loadpl */
  3097.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  3098.  
  3099.   for (i = 0; i < n; i++) {
  3100.     /* 0: loadl */
  3101.     var33 = ptr4[i];
  3102.     /* 2: xorl */
  3103.     var36.i = var33.i ^ var34.i;
  3104.     /* 3: shrul */
  3105.     var35.i = ((orc_uint32)var36.i) >> 8;
  3106.     /* 4: storel */
  3107.     ptr0[i] = var35;
  3108.   }
  3109.  
  3110. }
  3111.  
  3112. #else
  3113. static void
  3114. _backup_audio_orc_pack_u24_32 (OrcExecutor * ORC_RESTRICT ex)
  3115. {
  3116.   int i;
  3117.   int n = ex->n;
  3118.   orc_union32 * ORC_RESTRICT ptr0;
  3119.   const orc_union32 * ORC_RESTRICT ptr4;
  3120.   orc_union32 var33;
  3121. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  3122.   volatile orc_union32 var34;
  3123. #else
  3124.   orc_union32 var34;
  3125. #endif
  3126.   orc_union32 var35;
  3127.   orc_union32 var36;
  3128.  
  3129.   ptr0 = (orc_union32 *)ex->arrays[0];
  3130.   ptr4 = (orc_union32 *)ex->arrays[4];
  3131.  
  3132.     /* 1: loadpl */
  3133.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  3134.  
  3135.   for (i = 0; i < n; i++) {
  3136.     /* 0: loadl */
  3137.     var33 = ptr4[i];
  3138.     /* 2: xorl */
  3139.     var36.i = var33.i ^ var34.i;
  3140.     /* 3: shrul */
  3141.     var35.i = ((orc_uint32)var36.i) >> 8;
  3142.     /* 4: storel */
  3143.     ptr0[i] = var35;
  3144.   }
  3145.  
  3146. }
  3147.  
  3148. void
  3149. audio_orc_pack_u24_32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  3150. {
  3151.   OrcExecutor _ex, *ex = &_ex;
  3152.   static volatile int p_inited = 0;
  3153.   static OrcCode *c = 0;
  3154.   void (*func) (OrcExecutor *);
  3155.  
  3156.   if (!p_inited) {
  3157.     orc_once_mutex_lock ();
  3158.     if (!p_inited) {
  3159.       OrcProgram *p;
  3160.  
  3161. #if 1
  3162.       static const orc_uint8 bc[] = {
  3163.         1, 9, 21, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  3164.         107, 95, 117, 50, 52, 95, 51, 50, 11, 4, 4, 12, 4, 4, 14, 4,
  3165.         0, 0, 0, 128, 14, 4, 8, 0, 0, 0, 20, 4, 132, 32, 4, 16,
  3166.         126, 0, 32, 17, 2, 0,
  3167.       };
  3168.       p = orc_program_new_from_static_bytecode (bc);
  3169.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u24_32);
  3170. #else
  3171.       p = orc_program_new ();
  3172.       orc_program_set_name (p, "audio_orc_pack_u24_32");
  3173.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u24_32);
  3174.       orc_program_add_destination (p, 4, "d1");
  3175.       orc_program_add_source (p, 4, "s1");
  3176.       orc_program_add_constant (p, 4, 0x80000000, "c1");
  3177.       orc_program_add_constant (p, 4, 0x00000008, "c2");
  3178.       orc_program_add_temporary (p, 4, "t1");
  3179.  
  3180.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1, ORC_VAR_D1);
  3181.       orc_program_append_2 (p, "shrul", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2, ORC_VAR_D1);
  3182. #endif
  3183.  
  3184.       orc_program_compile (p);
  3185.       c = orc_program_take_code (p);
  3186.       orc_program_free (p);
  3187.     }
  3188.     p_inited = TRUE;
  3189.     orc_once_mutex_unlock ();
  3190.   }
  3191.   ex->arrays[ORC_VAR_A2] = c;
  3192.   ex->program = 0;
  3193.  
  3194.   ex->n = n;
  3195.   ex->arrays[ORC_VAR_D1] = d1;
  3196.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  3197.  
  3198.   func = c->exec;
  3199.   func (ex);
  3200. }
  3201. #endif
  3202.  
  3203.  
  3204. /* audio_orc_pack_s24_32 */
  3205. #ifdef DISABLE_ORC
  3206. void
  3207. audio_orc_pack_s24_32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  3208.   int i;
  3209.   orc_union32 * ORC_RESTRICT ptr0;
  3210.   const orc_union32 * ORC_RESTRICT ptr4;
  3211.   orc_union32 var32;
  3212.   orc_union32 var33;
  3213.  
  3214.   ptr0 = (orc_union32 *)d1;
  3215.   ptr4 = (orc_union32 *)s1;
  3216.  
  3217.  
  3218.   for (i = 0; i < n; i++) {
  3219.     /* 0: loadl */
  3220.     var32 = ptr4[i];
  3221.     /* 1: shrsl */
  3222.     var33.i = var32.i >> 8;
  3223.     /* 2: storel */
  3224.     ptr0[i] = var33;
  3225.   }
  3226.  
  3227. }
  3228.  
  3229. #else
  3230. static void
  3231. _backup_audio_orc_pack_s24_32 (OrcExecutor * ORC_RESTRICT ex)
  3232. {
  3233.   int i;
  3234.   int n = ex->n;
  3235.   orc_union32 * ORC_RESTRICT ptr0;
  3236.   const orc_union32 * ORC_RESTRICT ptr4;
  3237.   orc_union32 var32;
  3238.   orc_union32 var33;
  3239.  
  3240.   ptr0 = (orc_union32 *)ex->arrays[0];
  3241.   ptr4 = (orc_union32 *)ex->arrays[4];
  3242.  
  3243.  
  3244.   for (i = 0; i < n; i++) {
  3245.     /* 0: loadl */
  3246.     var32 = ptr4[i];
  3247.     /* 1: shrsl */
  3248.     var33.i = var32.i >> 8;
  3249.     /* 2: storel */
  3250.     ptr0[i] = var33;
  3251.   }
  3252.  
  3253. }
  3254.  
  3255. void
  3256. audio_orc_pack_s24_32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  3257. {
  3258.   OrcExecutor _ex, *ex = &_ex;
  3259.   static volatile int p_inited = 0;
  3260.   static OrcCode *c = 0;
  3261.   void (*func) (OrcExecutor *);
  3262.  
  3263.   if (!p_inited) {
  3264.     orc_once_mutex_lock ();
  3265.     if (!p_inited) {
  3266.       OrcProgram *p;
  3267.  
  3268. #if 1
  3269.       static const orc_uint8 bc[] = {
  3270.         1, 9, 21, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  3271.         107, 95, 115, 50, 52, 95, 51, 50, 11, 4, 4, 12, 4, 4, 14, 4,
  3272.         8, 0, 0, 0, 125, 0, 4, 16, 2, 0,
  3273.       };
  3274.       p = orc_program_new_from_static_bytecode (bc);
  3275.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s24_32);
  3276. #else
  3277.       p = orc_program_new ();
  3278.       orc_program_set_name (p, "audio_orc_pack_s24_32");
  3279.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s24_32);
  3280.       orc_program_add_destination (p, 4, "d1");
  3281.       orc_program_add_source (p, 4, "s1");
  3282.       orc_program_add_constant (p, 4, 0x00000008, "c1");
  3283.  
  3284.       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_C1, ORC_VAR_D1);
  3285. #endif
  3286.  
  3287.       orc_program_compile (p);
  3288.       c = orc_program_take_code (p);
  3289.       orc_program_free (p);
  3290.     }
  3291.     p_inited = TRUE;
  3292.     orc_once_mutex_unlock ();
  3293.   }
  3294.   ex->arrays[ORC_VAR_A2] = c;
  3295.   ex->program = 0;
  3296.  
  3297.   ex->n = n;
  3298.   ex->arrays[ORC_VAR_D1] = d1;
  3299.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  3300.  
  3301.   func = c->exec;
  3302.   func (ex);
  3303. }
  3304. #endif
  3305.  
  3306.  
  3307. /* audio_orc_pack_u24_32_swap */
  3308. #ifdef DISABLE_ORC
  3309. void
  3310. audio_orc_pack_u24_32_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  3311.   int i;
  3312.   orc_union32 * ORC_RESTRICT ptr0;
  3313.   const orc_union32 * ORC_RESTRICT ptr4;
  3314.   orc_union32 var33;
  3315. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  3316.   volatile orc_union32 var34;
  3317. #else
  3318.   orc_union32 var34;
  3319. #endif
  3320.   orc_union32 var35;
  3321.   orc_union32 var36;
  3322.   orc_union32 var37;
  3323.  
  3324.   ptr0 = (orc_union32 *)d1;
  3325.   ptr4 = (orc_union32 *)s1;
  3326.  
  3327.     /* 1: loadpl */
  3328.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  3329.  
  3330.   for (i = 0; i < n; i++) {
  3331.     /* 0: loadl */
  3332.     var33 = ptr4[i];
  3333.     /* 2: xorl */
  3334.     var36.i = var33.i ^ var34.i;
  3335.     /* 3: shrul */
  3336.     var37.i = ((orc_uint32)var36.i) >> 8;
  3337.     /* 4: swapl */
  3338.     var35.i = ORC_SWAP_L(var37.i);
  3339.     /* 5: storel */
  3340.     ptr0[i] = var35;
  3341.   }
  3342.  
  3343. }
  3344.  
  3345. #else
  3346. static void
  3347. _backup_audio_orc_pack_u24_32_swap (OrcExecutor * ORC_RESTRICT ex)
  3348. {
  3349.   int i;
  3350.   int n = ex->n;
  3351.   orc_union32 * ORC_RESTRICT ptr0;
  3352.   const orc_union32 * ORC_RESTRICT ptr4;
  3353.   orc_union32 var33;
  3354. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  3355.   volatile orc_union32 var34;
  3356. #else
  3357.   orc_union32 var34;
  3358. #endif
  3359.   orc_union32 var35;
  3360.   orc_union32 var36;
  3361.   orc_union32 var37;
  3362.  
  3363.   ptr0 = (orc_union32 *)ex->arrays[0];
  3364.   ptr4 = (orc_union32 *)ex->arrays[4];
  3365.  
  3366.     /* 1: loadpl */
  3367.     var34.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  3368.  
  3369.   for (i = 0; i < n; i++) {
  3370.     /* 0: loadl */
  3371.     var33 = ptr4[i];
  3372.     /* 2: xorl */
  3373.     var36.i = var33.i ^ var34.i;
  3374.     /* 3: shrul */
  3375.     var37.i = ((orc_uint32)var36.i) >> 8;
  3376.     /* 4: swapl */
  3377.     var35.i = ORC_SWAP_L(var37.i);
  3378.     /* 5: storel */
  3379.     ptr0[i] = var35;
  3380.   }
  3381.  
  3382. }
  3383.  
  3384. void
  3385. audio_orc_pack_u24_32_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  3386. {
  3387.   OrcExecutor _ex, *ex = &_ex;
  3388.   static volatile int p_inited = 0;
  3389.   static OrcCode *c = 0;
  3390.   void (*func) (OrcExecutor *);
  3391.  
  3392.   if (!p_inited) {
  3393.     orc_once_mutex_lock ();
  3394.     if (!p_inited) {
  3395.       OrcProgram *p;
  3396.  
  3397. #if 1
  3398.       static const orc_uint8 bc[] = {
  3399.         1, 9, 26, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  3400.         107, 95, 117, 50, 52, 95, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4,
  3401.         12, 4, 4, 14, 4, 0, 0, 0, 128, 14, 4, 8, 0, 0, 0, 20,
  3402.         4, 132, 32, 4, 16, 126, 32, 32, 17, 184, 0, 32, 2, 0,
  3403.       };
  3404.       p = orc_program_new_from_static_bytecode (bc);
  3405.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u24_32_swap);
  3406. #else
  3407.       p = orc_program_new ();
  3408.       orc_program_set_name (p, "audio_orc_pack_u24_32_swap");
  3409.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u24_32_swap);
  3410.       orc_program_add_destination (p, 4, "d1");
  3411.       orc_program_add_source (p, 4, "s1");
  3412.       orc_program_add_constant (p, 4, 0x80000000, "c1");
  3413.       orc_program_add_constant (p, 4, 0x00000008, "c2");
  3414.       orc_program_add_temporary (p, 4, "t1");
  3415.  
  3416.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1, ORC_VAR_D1);
  3417.       orc_program_append_2 (p, "shrul", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2, ORC_VAR_D1);
  3418.       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  3419. #endif
  3420.  
  3421.       orc_program_compile (p);
  3422.       c = orc_program_take_code (p);
  3423.       orc_program_free (p);
  3424.     }
  3425.     p_inited = TRUE;
  3426.     orc_once_mutex_unlock ();
  3427.   }
  3428.   ex->arrays[ORC_VAR_A2] = c;
  3429.   ex->program = 0;
  3430.  
  3431.   ex->n = n;
  3432.   ex->arrays[ORC_VAR_D1] = d1;
  3433.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  3434.  
  3435.   func = c->exec;
  3436.   func (ex);
  3437. }
  3438. #endif
  3439.  
  3440.  
  3441. /* audio_orc_pack_s24_32_swap */
  3442. #ifdef DISABLE_ORC
  3443. void
  3444. audio_orc_pack_s24_32_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  3445.   int i;
  3446.   orc_union32 * ORC_RESTRICT ptr0;
  3447.   const orc_union32 * ORC_RESTRICT ptr4;
  3448.   orc_union32 var33;
  3449.   orc_union32 var34;
  3450.   orc_union32 var35;
  3451.  
  3452.   ptr0 = (orc_union32 *)d1;
  3453.   ptr4 = (orc_union32 *)s1;
  3454.  
  3455.  
  3456.   for (i = 0; i < n; i++) {
  3457.     /* 0: loadl */
  3458.     var33 = ptr4[i];
  3459.     /* 1: shrsl */
  3460.     var35.i = var33.i >> 8;
  3461.     /* 2: swapl */
  3462.     var34.i = ORC_SWAP_L(var35.i);
  3463.     /* 3: storel */
  3464.     ptr0[i] = var34;
  3465.   }
  3466.  
  3467. }
  3468.  
  3469. #else
  3470. static void
  3471. _backup_audio_orc_pack_s24_32_swap (OrcExecutor * ORC_RESTRICT ex)
  3472. {
  3473.   int i;
  3474.   int n = ex->n;
  3475.   orc_union32 * ORC_RESTRICT ptr0;
  3476.   const orc_union32 * ORC_RESTRICT ptr4;
  3477.   orc_union32 var33;
  3478.   orc_union32 var34;
  3479.   orc_union32 var35;
  3480.  
  3481.   ptr0 = (orc_union32 *)ex->arrays[0];
  3482.   ptr4 = (orc_union32 *)ex->arrays[4];
  3483.  
  3484.  
  3485.   for (i = 0; i < n; i++) {
  3486.     /* 0: loadl */
  3487.     var33 = ptr4[i];
  3488.     /* 1: shrsl */
  3489.     var35.i = var33.i >> 8;
  3490.     /* 2: swapl */
  3491.     var34.i = ORC_SWAP_L(var35.i);
  3492.     /* 3: storel */
  3493.     ptr0[i] = var34;
  3494.   }
  3495.  
  3496. }
  3497.  
  3498. void
  3499. audio_orc_pack_s24_32_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  3500. {
  3501.   OrcExecutor _ex, *ex = &_ex;
  3502.   static volatile int p_inited = 0;
  3503.   static OrcCode *c = 0;
  3504.   void (*func) (OrcExecutor *);
  3505.  
  3506.   if (!p_inited) {
  3507.     orc_once_mutex_lock ();
  3508.     if (!p_inited) {
  3509.       OrcProgram *p;
  3510.  
  3511. #if 1
  3512.       static const orc_uint8 bc[] = {
  3513.         1, 9, 26, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  3514.         107, 95, 115, 50, 52, 95, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4,
  3515.         12, 4, 4, 14, 4, 8, 0, 0, 0, 20, 4, 125, 32, 4, 16, 184,
  3516.         0, 32, 2, 0,
  3517.       };
  3518.       p = orc_program_new_from_static_bytecode (bc);
  3519.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s24_32_swap);
  3520. #else
  3521.       p = orc_program_new ();
  3522.       orc_program_set_name (p, "audio_orc_pack_s24_32_swap");
  3523.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s24_32_swap);
  3524.       orc_program_add_destination (p, 4, "d1");
  3525.       orc_program_add_source (p, 4, "s1");
  3526.       orc_program_add_constant (p, 4, 0x00000008, "c1");
  3527.       orc_program_add_temporary (p, 4, "t1");
  3528.  
  3529.       orc_program_append_2 (p, "shrsl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_C1, ORC_VAR_D1);
  3530.       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  3531. #endif
  3532.  
  3533.       orc_program_compile (p);
  3534.       c = orc_program_take_code (p);
  3535.       orc_program_free (p);
  3536.     }
  3537.     p_inited = TRUE;
  3538.     orc_once_mutex_unlock ();
  3539.   }
  3540.   ex->arrays[ORC_VAR_A2] = c;
  3541.   ex->program = 0;
  3542.  
  3543.   ex->n = n;
  3544.   ex->arrays[ORC_VAR_D1] = d1;
  3545.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  3546.  
  3547.   func = c->exec;
  3548.   func (ex);
  3549. }
  3550. #endif
  3551.  
  3552.  
  3553. /* audio_orc_pack_u32 */
  3554. #ifdef DISABLE_ORC
  3555. void
  3556. audio_orc_pack_u32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  3557.   int i;
  3558.   orc_union32 * ORC_RESTRICT ptr0;
  3559.   const orc_union32 * ORC_RESTRICT ptr4;
  3560.   orc_union32 var32;
  3561. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  3562.   volatile orc_union32 var33;
  3563. #else
  3564.   orc_union32 var33;
  3565. #endif
  3566.   orc_union32 var34;
  3567.  
  3568.   ptr0 = (orc_union32 *)d1;
  3569.   ptr4 = (orc_union32 *)s1;
  3570.  
  3571.     /* 1: loadpl */
  3572.     var33.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  3573.  
  3574.   for (i = 0; i < n; i++) {
  3575.     /* 0: loadl */
  3576.     var32 = ptr4[i];
  3577.     /* 2: xorl */
  3578.     var34.i = var32.i ^ var33.i;
  3579.     /* 3: storel */
  3580.     ptr0[i] = var34;
  3581.   }
  3582.  
  3583. }
  3584.  
  3585. #else
  3586. static void
  3587. _backup_audio_orc_pack_u32 (OrcExecutor * ORC_RESTRICT ex)
  3588. {
  3589.   int i;
  3590.   int n = ex->n;
  3591.   orc_union32 * ORC_RESTRICT ptr0;
  3592.   const orc_union32 * ORC_RESTRICT ptr4;
  3593.   orc_union32 var32;
  3594. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  3595.   volatile orc_union32 var33;
  3596. #else
  3597.   orc_union32 var33;
  3598. #endif
  3599.   orc_union32 var34;
  3600.  
  3601.   ptr0 = (orc_union32 *)ex->arrays[0];
  3602.   ptr4 = (orc_union32 *)ex->arrays[4];
  3603.  
  3604.     /* 1: loadpl */
  3605.     var33.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  3606.  
  3607.   for (i = 0; i < n; i++) {
  3608.     /* 0: loadl */
  3609.     var32 = ptr4[i];
  3610.     /* 2: xorl */
  3611.     var34.i = var32.i ^ var33.i;
  3612.     /* 3: storel */
  3613.     ptr0[i] = var34;
  3614.   }
  3615.  
  3616. }
  3617.  
  3618. void
  3619. audio_orc_pack_u32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  3620. {
  3621.   OrcExecutor _ex, *ex = &_ex;
  3622.   static volatile int p_inited = 0;
  3623.   static OrcCode *c = 0;
  3624.   void (*func) (OrcExecutor *);
  3625.  
  3626.   if (!p_inited) {
  3627.     orc_once_mutex_lock ();
  3628.     if (!p_inited) {
  3629.       OrcProgram *p;
  3630.  
  3631. #if 1
  3632.       static const orc_uint8 bc[] = {
  3633.         1, 9, 18, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  3634.         107, 95, 117, 51, 50, 11, 4, 4, 12, 4, 4, 14, 4, 0, 0, 0,
  3635.         128, 132, 0, 4, 16, 2, 0,
  3636.       };
  3637.       p = orc_program_new_from_static_bytecode (bc);
  3638.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u32);
  3639. #else
  3640.       p = orc_program_new ();
  3641.       orc_program_set_name (p, "audio_orc_pack_u32");
  3642.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u32);
  3643.       orc_program_add_destination (p, 4, "d1");
  3644.       orc_program_add_source (p, 4, "s1");
  3645.       orc_program_add_constant (p, 4, 0x80000000, "c1");
  3646.  
  3647.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_C1, ORC_VAR_D1);
  3648. #endif
  3649.  
  3650.       orc_program_compile (p);
  3651.       c = orc_program_take_code (p);
  3652.       orc_program_free (p);
  3653.     }
  3654.     p_inited = TRUE;
  3655.     orc_once_mutex_unlock ();
  3656.   }
  3657.   ex->arrays[ORC_VAR_A2] = c;
  3658.   ex->program = 0;
  3659.  
  3660.   ex->n = n;
  3661.   ex->arrays[ORC_VAR_D1] = d1;
  3662.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  3663.  
  3664.   func = c->exec;
  3665.   func (ex);
  3666. }
  3667. #endif
  3668.  
  3669.  
  3670. /* audio_orc_pack_s32 */
  3671. #ifdef DISABLE_ORC
  3672. void
  3673. audio_orc_pack_s32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  3674.   int i;
  3675.   orc_union32 * ORC_RESTRICT ptr0;
  3676.   const orc_union32 * ORC_RESTRICT ptr4;
  3677.   orc_union32 var32;
  3678.   orc_union32 var33;
  3679.  
  3680.   ptr0 = (orc_union32 *)d1;
  3681.   ptr4 = (orc_union32 *)s1;
  3682.  
  3683.  
  3684.   for (i = 0; i < n; i++) {
  3685.     /* 0: loadl */
  3686.     var32 = ptr4[i];
  3687.     /* 1: copyl */
  3688.     var33.i = var32.i;
  3689.     /* 2: storel */
  3690.     ptr0[i] = var33;
  3691.   }
  3692.  
  3693. }
  3694.  
  3695. #else
  3696. static void
  3697. _backup_audio_orc_pack_s32 (OrcExecutor * ORC_RESTRICT ex)
  3698. {
  3699.   int i;
  3700.   int n = ex->n;
  3701.   orc_union32 * ORC_RESTRICT ptr0;
  3702.   const orc_union32 * ORC_RESTRICT ptr4;
  3703.   orc_union32 var32;
  3704.   orc_union32 var33;
  3705.  
  3706.   ptr0 = (orc_union32 *)ex->arrays[0];
  3707.   ptr4 = (orc_union32 *)ex->arrays[4];
  3708.  
  3709.  
  3710.   for (i = 0; i < n; i++) {
  3711.     /* 0: loadl */
  3712.     var32 = ptr4[i];
  3713.     /* 1: copyl */
  3714.     var33.i = var32.i;
  3715.     /* 2: storel */
  3716.     ptr0[i] = var33;
  3717.   }
  3718.  
  3719. }
  3720.  
  3721. void
  3722. audio_orc_pack_s32 (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  3723. {
  3724.   OrcExecutor _ex, *ex = &_ex;
  3725.   static volatile int p_inited = 0;
  3726.   static OrcCode *c = 0;
  3727.   void (*func) (OrcExecutor *);
  3728.  
  3729.   if (!p_inited) {
  3730.     orc_once_mutex_lock ();
  3731.     if (!p_inited) {
  3732.       OrcProgram *p;
  3733.  
  3734. #if 1
  3735.       static const orc_uint8 bc[] = {
  3736.         1, 9, 18, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  3737.         107, 95, 115, 51, 50, 11, 4, 4, 12, 4, 4, 112, 0, 4, 2, 0,
  3738.  
  3739.       };
  3740.       p = orc_program_new_from_static_bytecode (bc);
  3741.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s32);
  3742. #else
  3743.       p = orc_program_new ();
  3744.       orc_program_set_name (p, "audio_orc_pack_s32");
  3745.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s32);
  3746.       orc_program_add_destination (p, 4, "d1");
  3747.       orc_program_add_source (p, 4, "s1");
  3748.  
  3749.       orc_program_append_2 (p, "copyl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  3750. #endif
  3751.  
  3752.       orc_program_compile (p);
  3753.       c = orc_program_take_code (p);
  3754.       orc_program_free (p);
  3755.     }
  3756.     p_inited = TRUE;
  3757.     orc_once_mutex_unlock ();
  3758.   }
  3759.   ex->arrays[ORC_VAR_A2] = c;
  3760.   ex->program = 0;
  3761.  
  3762.   ex->n = n;
  3763.   ex->arrays[ORC_VAR_D1] = d1;
  3764.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  3765.  
  3766.   func = c->exec;
  3767.   func (ex);
  3768. }
  3769. #endif
  3770.  
  3771.  
  3772. /* audio_orc_pack_u32_swap */
  3773. #ifdef DISABLE_ORC
  3774. void
  3775. audio_orc_pack_u32_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  3776.   int i;
  3777.   orc_union32 * ORC_RESTRICT ptr0;
  3778.   const orc_union32 * ORC_RESTRICT ptr4;
  3779.   orc_union32 var32;
  3780. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  3781.   volatile orc_union32 var33;
  3782. #else
  3783.   orc_union32 var33;
  3784. #endif
  3785.   orc_union32 var34;
  3786.  
  3787.   ptr0 = (orc_union32 *)d1;
  3788.   ptr4 = (orc_union32 *)s1;
  3789.  
  3790.     /* 1: loadpl */
  3791.     var33.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  3792.  
  3793.   for (i = 0; i < n; i++) {
  3794.     /* 0: loadl */
  3795.     var32 = ptr4[i];
  3796.     /* 2: xorl */
  3797.     var34.i = var32.i ^ var33.i;
  3798.     /* 3: storel */
  3799.     ptr0[i] = var34;
  3800.   }
  3801.  
  3802. }
  3803.  
  3804. #else
  3805. static void
  3806. _backup_audio_orc_pack_u32_swap (OrcExecutor * ORC_RESTRICT ex)
  3807. {
  3808.   int i;
  3809.   int n = ex->n;
  3810.   orc_union32 * ORC_RESTRICT ptr0;
  3811.   const orc_union32 * ORC_RESTRICT ptr4;
  3812.   orc_union32 var32;
  3813. #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
  3814.   volatile orc_union32 var33;
  3815. #else
  3816.   orc_union32 var33;
  3817. #endif
  3818.   orc_union32 var34;
  3819.  
  3820.   ptr0 = (orc_union32 *)ex->arrays[0];
  3821.   ptr4 = (orc_union32 *)ex->arrays[4];
  3822.  
  3823.     /* 1: loadpl */
  3824.     var33.i = (int)0x80000000; /* -2147483648 or 1.061e-314f */
  3825.  
  3826.   for (i = 0; i < n; i++) {
  3827.     /* 0: loadl */
  3828.     var32 = ptr4[i];
  3829.     /* 2: xorl */
  3830.     var34.i = var32.i ^ var33.i;
  3831.     /* 3: storel */
  3832.     ptr0[i] = var34;
  3833.   }
  3834.  
  3835. }
  3836.  
  3837. void
  3838. audio_orc_pack_u32_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  3839. {
  3840.   OrcExecutor _ex, *ex = &_ex;
  3841.   static volatile int p_inited = 0;
  3842.   static OrcCode *c = 0;
  3843.   void (*func) (OrcExecutor *);
  3844.  
  3845.   if (!p_inited) {
  3846.     orc_once_mutex_lock ();
  3847.     if (!p_inited) {
  3848.       OrcProgram *p;
  3849.  
  3850. #if 1
  3851.       static const orc_uint8 bc[] = {
  3852.         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  3853.         107, 95, 117, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12, 4, 4,
  3854.         14, 4, 0, 0, 0, 128, 132, 0, 4, 16, 2, 0,
  3855.       };
  3856.       p = orc_program_new_from_static_bytecode (bc);
  3857.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u32_swap);
  3858. #else
  3859.       p = orc_program_new ();
  3860.       orc_program_set_name (p, "audio_orc_pack_u32_swap");
  3861.       orc_program_set_backup_function (p, _backup_audio_orc_pack_u32_swap);
  3862.       orc_program_add_destination (p, 4, "d1");
  3863.       orc_program_add_source (p, 4, "s1");
  3864.       orc_program_add_constant (p, 4, 0x80000000, "c1");
  3865.  
  3866.       orc_program_append_2 (p, "xorl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_C1, ORC_VAR_D1);
  3867. #endif
  3868.  
  3869.       orc_program_compile (p);
  3870.       c = orc_program_take_code (p);
  3871.       orc_program_free (p);
  3872.     }
  3873.     p_inited = TRUE;
  3874.     orc_once_mutex_unlock ();
  3875.   }
  3876.   ex->arrays[ORC_VAR_A2] = c;
  3877.   ex->program = 0;
  3878.  
  3879.   ex->n = n;
  3880.   ex->arrays[ORC_VAR_D1] = d1;
  3881.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  3882.  
  3883.   func = c->exec;
  3884.   func (ex);
  3885. }
  3886. #endif
  3887.  
  3888.  
  3889. /* audio_orc_pack_s32_swap */
  3890. #ifdef DISABLE_ORC
  3891. void
  3892. audio_orc_pack_s32_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n){
  3893.   int i;
  3894.   orc_union32 * ORC_RESTRICT ptr0;
  3895.   const orc_union32 * ORC_RESTRICT ptr4;
  3896.   orc_union32 var32;
  3897.   orc_union32 var33;
  3898.  
  3899.   ptr0 = (orc_union32 *)d1;
  3900.   ptr4 = (orc_union32 *)s1;
  3901.  
  3902.  
  3903.   for (i = 0; i < n; i++) {
  3904.     /* 0: loadl */
  3905.     var32 = ptr4[i];
  3906.     /* 1: swapl */
  3907.     var33.i = ORC_SWAP_L(var32.i);
  3908.     /* 2: storel */
  3909.     ptr0[i] = var33;
  3910.   }
  3911.  
  3912. }
  3913.  
  3914. #else
  3915. static void
  3916. _backup_audio_orc_pack_s32_swap (OrcExecutor * ORC_RESTRICT ex)
  3917. {
  3918.   int i;
  3919.   int n = ex->n;
  3920.   orc_union32 * ORC_RESTRICT ptr0;
  3921.   const orc_union32 * ORC_RESTRICT ptr4;
  3922.   orc_union32 var32;
  3923.   orc_union32 var33;
  3924.  
  3925.   ptr0 = (orc_union32 *)ex->arrays[0];
  3926.   ptr4 = (orc_union32 *)ex->arrays[4];
  3927.  
  3928.  
  3929.   for (i = 0; i < n; i++) {
  3930.     /* 0: loadl */
  3931.     var32 = ptr4[i];
  3932.     /* 1: swapl */
  3933.     var33.i = ORC_SWAP_L(var32.i);
  3934.     /* 2: storel */
  3935.     ptr0[i] = var33;
  3936.   }
  3937.  
  3938. }
  3939.  
  3940. void
  3941. audio_orc_pack_s32_swap (guint8 * ORC_RESTRICT d1, const gint32 * ORC_RESTRICT s1, int n)
  3942. {
  3943.   OrcExecutor _ex, *ex = &_ex;
  3944.   static volatile int p_inited = 0;
  3945.   static OrcCode *c = 0;
  3946.   void (*func) (OrcExecutor *);
  3947.  
  3948.   if (!p_inited) {
  3949.     orc_once_mutex_lock ();
  3950.     if (!p_inited) {
  3951.       OrcProgram *p;
  3952.  
  3953. #if 1
  3954.       static const orc_uint8 bc[] = {
  3955.         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  3956.         107, 95, 115, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12, 4, 4,
  3957.         184, 0, 4, 2, 0,
  3958.       };
  3959.       p = orc_program_new_from_static_bytecode (bc);
  3960.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s32_swap);
  3961. #else
  3962.       p = orc_program_new ();
  3963.       orc_program_set_name (p, "audio_orc_pack_s32_swap");
  3964.       orc_program_set_backup_function (p, _backup_audio_orc_pack_s32_swap);
  3965.       orc_program_add_destination (p, 4, "d1");
  3966.       orc_program_add_source (p, 4, "s1");
  3967.  
  3968.       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  3969. #endif
  3970.  
  3971.       orc_program_compile (p);
  3972.       c = orc_program_take_code (p);
  3973.       orc_program_free (p);
  3974.     }
  3975.     p_inited = TRUE;
  3976.     orc_once_mutex_unlock ();
  3977.   }
  3978.   ex->arrays[ORC_VAR_A2] = c;
  3979.   ex->program = 0;
  3980.  
  3981.   ex->n = n;
  3982.   ex->arrays[ORC_VAR_D1] = d1;
  3983.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  3984.  
  3985.   func = c->exec;
  3986.   func (ex);
  3987. }
  3988. #endif
  3989.  
  3990.  
  3991. /* audio_orc_pack_f32 */
  3992. #ifdef DISABLE_ORC
  3993. void
  3994. audio_orc_pack_f32 (gfloat * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n){
  3995.   int i;
  3996.   orc_union32 * ORC_RESTRICT ptr0;
  3997.   const orc_union64 * ORC_RESTRICT ptr4;
  3998.   orc_union64 var32;
  3999.   orc_union32 var33;
  4000.  
  4001.   ptr0 = (orc_union32 *)d1;
  4002.   ptr4 = (orc_union64 *)s1;
  4003.  
  4004.  
  4005.   for (i = 0; i < n; i++) {
  4006.     /* 0: loadq */
  4007.     var32 = ptr4[i];
  4008.     /* 1: convdf */
  4009.     {
  4010.        orc_union64 _src1;
  4011.        orc_union32 _dest;
  4012.        _src1.i = ORC_DENORMAL_DOUBLE(var32.i);
  4013.        _dest.f = _src1.f;
  4014.        var33.i = ORC_DENORMAL(_dest.i);
  4015.     }
  4016.     /* 2: storel */
  4017.     ptr0[i] = var33;
  4018.   }
  4019.  
  4020. }
  4021.  
  4022. #else
  4023. static void
  4024. _backup_audio_orc_pack_f32 (OrcExecutor * ORC_RESTRICT ex)
  4025. {
  4026.   int i;
  4027.   int n = ex->n;
  4028.   orc_union32 * ORC_RESTRICT ptr0;
  4029.   const orc_union64 * ORC_RESTRICT ptr4;
  4030.   orc_union64 var32;
  4031.   orc_union32 var33;
  4032.  
  4033.   ptr0 = (orc_union32 *)ex->arrays[0];
  4034.   ptr4 = (orc_union64 *)ex->arrays[4];
  4035.  
  4036.  
  4037.   for (i = 0; i < n; i++) {
  4038.     /* 0: loadq */
  4039.     var32 = ptr4[i];
  4040.     /* 1: convdf */
  4041.     {
  4042.        orc_union64 _src1;
  4043.        orc_union32 _dest;
  4044.        _src1.i = ORC_DENORMAL_DOUBLE(var32.i);
  4045.        _dest.f = _src1.f;
  4046.        var33.i = ORC_DENORMAL(_dest.i);
  4047.     }
  4048.     /* 2: storel */
  4049.     ptr0[i] = var33;
  4050.   }
  4051.  
  4052. }
  4053.  
  4054. void
  4055. audio_orc_pack_f32 (gfloat * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n)
  4056. {
  4057.   OrcExecutor _ex, *ex = &_ex;
  4058.   static volatile int p_inited = 0;
  4059.   static OrcCode *c = 0;
  4060.   void (*func) (OrcExecutor *);
  4061.  
  4062.   if (!p_inited) {
  4063.     orc_once_mutex_lock ();
  4064.     if (!p_inited) {
  4065.       OrcProgram *p;
  4066.  
  4067. #if 1
  4068.       static const orc_uint8 bc[] = {
  4069.         1, 9, 18, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  4070.         107, 95, 102, 51, 50, 11, 4, 4, 12, 8, 8, 225, 0, 4, 2, 0,
  4071.  
  4072.       };
  4073.       p = orc_program_new_from_static_bytecode (bc);
  4074.       orc_program_set_backup_function (p, _backup_audio_orc_pack_f32);
  4075. #else
  4076.       p = orc_program_new ();
  4077.       orc_program_set_name (p, "audio_orc_pack_f32");
  4078.       orc_program_set_backup_function (p, _backup_audio_orc_pack_f32);
  4079.       orc_program_add_destination (p, 4, "d1");
  4080.       orc_program_add_source (p, 8, "s1");
  4081.  
  4082.       orc_program_append_2 (p, "convdf", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  4083. #endif
  4084.  
  4085.       orc_program_compile (p);
  4086.       c = orc_program_take_code (p);
  4087.       orc_program_free (p);
  4088.     }
  4089.     p_inited = TRUE;
  4090.     orc_once_mutex_unlock ();
  4091.   }
  4092.   ex->arrays[ORC_VAR_A2] = c;
  4093.   ex->program = 0;
  4094.  
  4095.   ex->n = n;
  4096.   ex->arrays[ORC_VAR_D1] = d1;
  4097.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  4098.  
  4099.   func = c->exec;
  4100.   func (ex);
  4101. }
  4102. #endif
  4103.  
  4104.  
  4105. /* audio_orc_pack_f32_swap */
  4106. #ifdef DISABLE_ORC
  4107. void
  4108. audio_orc_pack_f32_swap (gfloat * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n){
  4109.   int i;
  4110.   orc_union32 * ORC_RESTRICT ptr0;
  4111.   const orc_union64 * ORC_RESTRICT ptr4;
  4112.   orc_union64 var33;
  4113.   orc_union32 var34;
  4114.   orc_union32 var35;
  4115.  
  4116.   ptr0 = (orc_union32 *)d1;
  4117.   ptr4 = (orc_union64 *)s1;
  4118.  
  4119.  
  4120.   for (i = 0; i < n; i++) {
  4121.     /* 0: loadq */
  4122.     var33 = ptr4[i];
  4123.     /* 1: convdf */
  4124.     {
  4125.        orc_union64 _src1;
  4126.        orc_union32 _dest;
  4127.        _src1.i = ORC_DENORMAL_DOUBLE(var33.i);
  4128.        _dest.f = _src1.f;
  4129.        var35.i = ORC_DENORMAL(_dest.i);
  4130.     }
  4131.     /* 2: swapl */
  4132.     var34.i = ORC_SWAP_L(var35.i);
  4133.     /* 3: storel */
  4134.     ptr0[i] = var34;
  4135.   }
  4136.  
  4137. }
  4138.  
  4139. #else
  4140. static void
  4141. _backup_audio_orc_pack_f32_swap (OrcExecutor * ORC_RESTRICT ex)
  4142. {
  4143.   int i;
  4144.   int n = ex->n;
  4145.   orc_union32 * ORC_RESTRICT ptr0;
  4146.   const orc_union64 * ORC_RESTRICT ptr4;
  4147.   orc_union64 var33;
  4148.   orc_union32 var34;
  4149.   orc_union32 var35;
  4150.  
  4151.   ptr0 = (orc_union32 *)ex->arrays[0];
  4152.   ptr4 = (orc_union64 *)ex->arrays[4];
  4153.  
  4154.  
  4155.   for (i = 0; i < n; i++) {
  4156.     /* 0: loadq */
  4157.     var33 = ptr4[i];
  4158.     /* 1: convdf */
  4159.     {
  4160.        orc_union64 _src1;
  4161.        orc_union32 _dest;
  4162.        _src1.i = ORC_DENORMAL_DOUBLE(var33.i);
  4163.        _dest.f = _src1.f;
  4164.        var35.i = ORC_DENORMAL(_dest.i);
  4165.     }
  4166.     /* 2: swapl */
  4167.     var34.i = ORC_SWAP_L(var35.i);
  4168.     /* 3: storel */
  4169.     ptr0[i] = var34;
  4170.   }
  4171.  
  4172. }
  4173.  
  4174. void
  4175. audio_orc_pack_f32_swap (gfloat * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n)
  4176. {
  4177.   OrcExecutor _ex, *ex = &_ex;
  4178.   static volatile int p_inited = 0;
  4179.   static OrcCode *c = 0;
  4180.   void (*func) (OrcExecutor *);
  4181.  
  4182.   if (!p_inited) {
  4183.     orc_once_mutex_lock ();
  4184.     if (!p_inited) {
  4185.       OrcProgram *p;
  4186.  
  4187. #if 1
  4188.       static const orc_uint8 bc[] = {
  4189.         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  4190.         107, 95, 102, 51, 50, 95, 115, 119, 97, 112, 11, 4, 4, 12, 8, 8,
  4191.         20, 4, 225, 32, 4, 184, 0, 32, 2, 0,
  4192.       };
  4193.       p = orc_program_new_from_static_bytecode (bc);
  4194.       orc_program_set_backup_function (p, _backup_audio_orc_pack_f32_swap);
  4195. #else
  4196.       p = orc_program_new ();
  4197.       orc_program_set_name (p, "audio_orc_pack_f32_swap");
  4198.       orc_program_set_backup_function (p, _backup_audio_orc_pack_f32_swap);
  4199.       orc_program_add_destination (p, 4, "d1");
  4200.       orc_program_add_source (p, 8, "s1");
  4201.       orc_program_add_temporary (p, 4, "t1");
  4202.  
  4203.       orc_program_append_2 (p, "convdf", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  4204.       orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1);
  4205. #endif
  4206.  
  4207.       orc_program_compile (p);
  4208.       c = orc_program_take_code (p);
  4209.       orc_program_free (p);
  4210.     }
  4211.     p_inited = TRUE;
  4212.     orc_once_mutex_unlock ();
  4213.   }
  4214.   ex->arrays[ORC_VAR_A2] = c;
  4215.   ex->program = 0;
  4216.  
  4217.   ex->n = n;
  4218.   ex->arrays[ORC_VAR_D1] = d1;
  4219.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  4220.  
  4221.   func = c->exec;
  4222.   func (ex);
  4223. }
  4224. #endif
  4225.  
  4226.  
  4227. /* audio_orc_pack_f64 */
  4228. #ifdef DISABLE_ORC
  4229. void
  4230. audio_orc_pack_f64 (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n){
  4231.   int i;
  4232.   orc_union64 * ORC_RESTRICT ptr0;
  4233.   const orc_union64 * ORC_RESTRICT ptr4;
  4234.   orc_union64 var32;
  4235.   orc_union64 var33;
  4236.  
  4237.   ptr0 = (orc_union64 *)d1;
  4238.   ptr4 = (orc_union64 *)s1;
  4239.  
  4240.  
  4241.   for (i = 0; i < n; i++) {
  4242.     /* 0: loadq */
  4243.     var32 = ptr4[i];
  4244.     /* 1: copyq */
  4245.     var33.i = var32.i;
  4246.     /* 2: storeq */
  4247.     ptr0[i] = var33;
  4248.   }
  4249.  
  4250. }
  4251.  
  4252. #else
  4253. static void
  4254. _backup_audio_orc_pack_f64 (OrcExecutor * ORC_RESTRICT ex)
  4255. {
  4256.   int i;
  4257.   int n = ex->n;
  4258.   orc_union64 * ORC_RESTRICT ptr0;
  4259.   const orc_union64 * ORC_RESTRICT ptr4;
  4260.   orc_union64 var32;
  4261.   orc_union64 var33;
  4262.  
  4263.   ptr0 = (orc_union64 *)ex->arrays[0];
  4264.   ptr4 = (orc_union64 *)ex->arrays[4];
  4265.  
  4266.  
  4267.   for (i = 0; i < n; i++) {
  4268.     /* 0: loadq */
  4269.     var32 = ptr4[i];
  4270.     /* 1: copyq */
  4271.     var33.i = var32.i;
  4272.     /* 2: storeq */
  4273.     ptr0[i] = var33;
  4274.   }
  4275.  
  4276. }
  4277.  
  4278. void
  4279. audio_orc_pack_f64 (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n)
  4280. {
  4281.   OrcExecutor _ex, *ex = &_ex;
  4282.   static volatile int p_inited = 0;
  4283.   static OrcCode *c = 0;
  4284.   void (*func) (OrcExecutor *);
  4285.  
  4286.   if (!p_inited) {
  4287.     orc_once_mutex_lock ();
  4288.     if (!p_inited) {
  4289.       OrcProgram *p;
  4290.  
  4291. #if 1
  4292.       static const orc_uint8 bc[] = {
  4293.         1, 9, 18, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  4294.         107, 95, 102, 54, 52, 11, 8, 8, 12, 8, 8, 137, 0, 4, 2, 0,
  4295.  
  4296.       };
  4297.       p = orc_program_new_from_static_bytecode (bc);
  4298.       orc_program_set_backup_function (p, _backup_audio_orc_pack_f64);
  4299. #else
  4300.       p = orc_program_new ();
  4301.       orc_program_set_name (p, "audio_orc_pack_f64");
  4302.       orc_program_set_backup_function (p, _backup_audio_orc_pack_f64);
  4303.       orc_program_add_destination (p, 8, "d1");
  4304.       orc_program_add_source (p, 8, "s1");
  4305.  
  4306.       orc_program_append_2 (p, "copyq", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  4307. #endif
  4308.  
  4309.       orc_program_compile (p);
  4310.       c = orc_program_take_code (p);
  4311.       orc_program_free (p);
  4312.     }
  4313.     p_inited = TRUE;
  4314.     orc_once_mutex_unlock ();
  4315.   }
  4316.   ex->arrays[ORC_VAR_A2] = c;
  4317.   ex->program = 0;
  4318.  
  4319.   ex->n = n;
  4320.   ex->arrays[ORC_VAR_D1] = d1;
  4321.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  4322.  
  4323.   func = c->exec;
  4324.   func (ex);
  4325. }
  4326. #endif
  4327.  
  4328.  
  4329. /* audio_orc_pack_f64_swap */
  4330. #ifdef DISABLE_ORC
  4331. void
  4332. audio_orc_pack_f64_swap (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n){
  4333.   int i;
  4334.   orc_union64 * ORC_RESTRICT ptr0;
  4335.   const orc_union64 * ORC_RESTRICT ptr4;
  4336.   orc_union64 var32;
  4337.   orc_union64 var33;
  4338.  
  4339.   ptr0 = (orc_union64 *)d1;
  4340.   ptr4 = (orc_union64 *)s1;
  4341.  
  4342.  
  4343.   for (i = 0; i < n; i++) {
  4344.     /* 0: loadq */
  4345.     var32 = ptr4[i];
  4346.     /* 1: swapq */
  4347.     var33.i = ORC_SWAP_Q(var32.i);
  4348.     /* 2: storeq */
  4349.     ptr0[i] = var33;
  4350.   }
  4351.  
  4352. }
  4353.  
  4354. #else
  4355. static void
  4356. _backup_audio_orc_pack_f64_swap (OrcExecutor * ORC_RESTRICT ex)
  4357. {
  4358.   int i;
  4359.   int n = ex->n;
  4360.   orc_union64 * ORC_RESTRICT ptr0;
  4361.   const orc_union64 * ORC_RESTRICT ptr4;
  4362.   orc_union64 var32;
  4363.   orc_union64 var33;
  4364.  
  4365.   ptr0 = (orc_union64 *)ex->arrays[0];
  4366.   ptr4 = (orc_union64 *)ex->arrays[4];
  4367.  
  4368.  
  4369.   for (i = 0; i < n; i++) {
  4370.     /* 0: loadq */
  4371.     var32 = ptr4[i];
  4372.     /* 1: swapq */
  4373.     var33.i = ORC_SWAP_Q(var32.i);
  4374.     /* 2: storeq */
  4375.     ptr0[i] = var33;
  4376.   }
  4377.  
  4378. }
  4379.  
  4380. void
  4381. audio_orc_pack_f64_swap (gdouble * ORC_RESTRICT d1, const gdouble * ORC_RESTRICT s1, int n)
  4382. {
  4383.   OrcExecutor _ex, *ex = &_ex;
  4384.   static volatile int p_inited = 0;
  4385.   static OrcCode *c = 0;
  4386.   void (*func) (OrcExecutor *);
  4387.  
  4388.   if (!p_inited) {
  4389.     orc_once_mutex_lock ();
  4390.     if (!p_inited) {
  4391.       OrcProgram *p;
  4392.  
  4393. #if 1
  4394.       static const orc_uint8 bc[] = {
  4395.         1, 9, 23, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 112, 97, 99,
  4396.         107, 95, 102, 54, 52, 95, 115, 119, 97, 112, 11, 8, 8, 12, 8, 8,
  4397.         186, 0, 4, 2, 0,
  4398.       };
  4399.       p = orc_program_new_from_static_bytecode (bc);
  4400.       orc_program_set_backup_function (p, _backup_audio_orc_pack_f64_swap);
  4401. #else
  4402.       p = orc_program_new ();
  4403.       orc_program_set_name (p, "audio_orc_pack_f64_swap");
  4404.       orc_program_set_backup_function (p, _backup_audio_orc_pack_f64_swap);
  4405.       orc_program_add_destination (p, 8, "d1");
  4406.       orc_program_add_source (p, 8, "s1");
  4407.  
  4408.       orc_program_append_2 (p, "swapq", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1);
  4409. #endif
  4410.  
  4411.       orc_program_compile (p);
  4412.       c = orc_program_take_code (p);
  4413.       orc_program_free (p);
  4414.     }
  4415.     p_inited = TRUE;
  4416.     orc_once_mutex_unlock ();
  4417.   }
  4418.   ex->arrays[ORC_VAR_A2] = c;
  4419.   ex->program = 0;
  4420.  
  4421.   ex->n = n;
  4422.   ex->arrays[ORC_VAR_D1] = d1;
  4423.   ex->arrays[ORC_VAR_S1] = (void *)s1;
  4424.  
  4425.   func = c->exec;
  4426.   func (ex);
  4427. }
  4428. #endif
  4429.  
  4430.  
  4431. /* audio_orc_splat_u16 */
  4432. #ifdef DISABLE_ORC
  4433. void
  4434. audio_orc_splat_u16 (guint16 * ORC_RESTRICT d1, int p1, int n){
  4435.   int i;
  4436.   orc_union16 * ORC_RESTRICT ptr0;
  4437.   orc_union16 var32;
  4438.   orc_union16 var33;
  4439.  
  4440.   ptr0 = (orc_union16 *)d1;
  4441.  
  4442.     /* 0: loadpw */
  4443.     var32.i = p1;
  4444.  
  4445.   for (i = 0; i < n; i++) {
  4446.     /* 1: copyw */
  4447.     var33.i = var32.i;
  4448.     /* 2: storew */
  4449.     ptr0[i] = var33;
  4450.   }
  4451.  
  4452. }
  4453.  
  4454. #else
  4455. static void
  4456. _backup_audio_orc_splat_u16 (OrcExecutor * ORC_RESTRICT ex)
  4457. {
  4458.   int i;
  4459.   int n = ex->n;
  4460.   orc_union16 * ORC_RESTRICT ptr0;
  4461.   orc_union16 var32;
  4462.   orc_union16 var33;
  4463.  
  4464.   ptr0 = (orc_union16 *)ex->arrays[0];
  4465.  
  4466.     /* 0: loadpw */
  4467.     var32.i = ex->params[24];
  4468.  
  4469.   for (i = 0; i < n; i++) {
  4470.     /* 1: copyw */
  4471.     var33.i = var32.i;
  4472.     /* 2: storew */
  4473.     ptr0[i] = var33;
  4474.   }
  4475.  
  4476. }
  4477.  
  4478. void
  4479. audio_orc_splat_u16 (guint16 * ORC_RESTRICT d1, int p1, int n)
  4480. {
  4481.   OrcExecutor _ex, *ex = &_ex;
  4482.   static volatile int p_inited = 0;
  4483.   static OrcCode *c = 0;
  4484.   void (*func) (OrcExecutor *);
  4485.  
  4486.   if (!p_inited) {
  4487.     orc_once_mutex_lock ();
  4488.     if (!p_inited) {
  4489.       OrcProgram *p;
  4490.  
  4491. #if 1
  4492.       static const orc_uint8 bc[] = {
  4493.         1, 9, 19, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 115, 112, 108,
  4494.         97, 116, 95, 117, 49, 54, 11, 2, 2, 16, 2, 79, 0, 24, 2, 0,
  4495.  
  4496.       };
  4497.       p = orc_program_new_from_static_bytecode (bc);
  4498.       orc_program_set_backup_function (p, _backup_audio_orc_splat_u16);
  4499. #else
  4500.       p = orc_program_new ();
  4501.       orc_program_set_name (p, "audio_orc_splat_u16");
  4502.       orc_program_set_backup_function (p, _backup_audio_orc_splat_u16);
  4503.       orc_program_add_destination (p, 2, "d1");
  4504.       orc_program_add_parameter (p, 2, "p1");
  4505.  
  4506.       orc_program_append_2 (p, "copyw", 0, ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1, ORC_VAR_D1);
  4507. #endif
  4508.  
  4509.       orc_program_compile (p);
  4510.       c = orc_program_take_code (p);
  4511.       orc_program_free (p);
  4512.     }
  4513.     p_inited = TRUE;
  4514.     orc_once_mutex_unlock ();
  4515.   }
  4516.   ex->arrays[ORC_VAR_A2] = c;
  4517.   ex->program = 0;
  4518.  
  4519.   ex->n = n;
  4520.   ex->arrays[ORC_VAR_D1] = d1;
  4521.   ex->params[ORC_VAR_P1] = p1;
  4522.  
  4523.   func = c->exec;
  4524.   func (ex);
  4525. }
  4526. #endif
  4527.  
  4528.  
  4529. /* audio_orc_splat_u32 */
  4530. #ifdef DISABLE_ORC
  4531. void
  4532. audio_orc_splat_u32 (guint32 * ORC_RESTRICT d1, int p1, int n){
  4533.   int i;
  4534.   orc_union32 * ORC_RESTRICT ptr0;
  4535.   orc_union32 var32;
  4536.   orc_union32 var33;
  4537.  
  4538.   ptr0 = (orc_union32 *)d1;
  4539.  
  4540.     /* 0: loadpl */
  4541.     var32.i = p1;
  4542.  
  4543.   for (i = 0; i < n; i++) {
  4544.     /* 1: copyl */
  4545.     var33.i = var32.i;
  4546.     /* 2: storel */
  4547.     ptr0[i] = var33;
  4548.   }
  4549.  
  4550. }
  4551.  
  4552. #else
  4553. static void
  4554. _backup_audio_orc_splat_u32 (OrcExecutor * ORC_RESTRICT ex)
  4555. {
  4556.   int i;
  4557.   int n = ex->n;
  4558.   orc_union32 * ORC_RESTRICT ptr0;
  4559.   orc_union32 var32;
  4560.   orc_union32 var33;
  4561.  
  4562.   ptr0 = (orc_union32 *)ex->arrays[0];
  4563.  
  4564.     /* 0: loadpl */
  4565.     var32.i = ex->params[24];
  4566.  
  4567.   for (i = 0; i < n; i++) {
  4568.     /* 1: copyl */
  4569.     var33.i = var32.i;
  4570.     /* 2: storel */
  4571.     ptr0[i] = var33;
  4572.   }
  4573.  
  4574. }
  4575.  
  4576. void
  4577. audio_orc_splat_u32 (guint32 * ORC_RESTRICT d1, int p1, int n)
  4578. {
  4579.   OrcExecutor _ex, *ex = &_ex;
  4580.   static volatile int p_inited = 0;
  4581.   static OrcCode *c = 0;
  4582.   void (*func) (OrcExecutor *);
  4583.  
  4584.   if (!p_inited) {
  4585.     orc_once_mutex_lock ();
  4586.     if (!p_inited) {
  4587.       OrcProgram *p;
  4588.  
  4589. #if 1
  4590.       static const orc_uint8 bc[] = {
  4591.         1, 9, 19, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 115, 112, 108,
  4592.         97, 116, 95, 117, 51, 50, 11, 4, 4, 16, 4, 112, 0, 24, 2, 0,
  4593.  
  4594.       };
  4595.       p = orc_program_new_from_static_bytecode (bc);
  4596.       orc_program_set_backup_function (p, _backup_audio_orc_splat_u32);
  4597. #else
  4598.       p = orc_program_new ();
  4599.       orc_program_set_name (p, "audio_orc_splat_u32");
  4600.       orc_program_set_backup_function (p, _backup_audio_orc_splat_u32);
  4601.       orc_program_add_destination (p, 4, "d1");
  4602.       orc_program_add_parameter (p, 4, "p1");
  4603.  
  4604.       orc_program_append_2 (p, "copyl", 0, ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1, ORC_VAR_D1);
  4605. #endif
  4606.  
  4607.       orc_program_compile (p);
  4608.       c = orc_program_take_code (p);
  4609.       orc_program_free (p);
  4610.     }
  4611.     p_inited = TRUE;
  4612.     orc_once_mutex_unlock ();
  4613.   }
  4614.   ex->arrays[ORC_VAR_A2] = c;
  4615.   ex->program = 0;
  4616.  
  4617.   ex->n = n;
  4618.   ex->arrays[ORC_VAR_D1] = d1;
  4619.   ex->params[ORC_VAR_P1] = p1;
  4620.  
  4621.   func = c->exec;
  4622.   func (ex);
  4623. }
  4624. #endif
  4625.  
  4626.  
  4627. /* audio_orc_splat_u64 */
  4628. #ifdef DISABLE_ORC
  4629. void
  4630. audio_orc_splat_u64 (guint64 * ORC_RESTRICT d1, int p1, int n){
  4631.   int i;
  4632.   orc_union64 * ORC_RESTRICT ptr0;
  4633.   orc_union64 var32;
  4634.   orc_union64 var33;
  4635.  
  4636.   ptr0 = (orc_union64 *)d1;
  4637.  
  4638.     /* 0: loadpq */
  4639.     var32.i = p1;
  4640.  
  4641.   for (i = 0; i < n; i++) {
  4642.     /* 1: copyq */
  4643.     var33.i = var32.i;
  4644.     /* 2: storeq */
  4645.     ptr0[i] = var33;
  4646.   }
  4647.  
  4648. }
  4649.  
  4650. #else
  4651. static void
  4652. _backup_audio_orc_splat_u64 (OrcExecutor * ORC_RESTRICT ex)
  4653. {
  4654.   int i;
  4655.   int n = ex->n;
  4656.   orc_union64 * ORC_RESTRICT ptr0;
  4657.   orc_union64 var32;
  4658.   orc_union64 var33;
  4659.  
  4660.   ptr0 = (orc_union64 *)ex->arrays[0];
  4661.  
  4662.     /* 0: loadpq */
  4663.     var32.i = (ex->params[24] & 0xffffffff) | ((orc_uint64)(ex->params[24 + (ORC_VAR_T1 - ORC_VAR_P1)]) << 32);
  4664.  
  4665.   for (i = 0; i < n; i++) {
  4666.     /* 1: copyq */
  4667.     var33.i = var32.i;
  4668.     /* 2: storeq */
  4669.     ptr0[i] = var33;
  4670.   }
  4671.  
  4672. }
  4673.  
  4674. void
  4675. audio_orc_splat_u64 (guint64 * ORC_RESTRICT d1, int p1, int n)
  4676. {
  4677.   OrcExecutor _ex, *ex = &_ex;
  4678.   static volatile int p_inited = 0;
  4679.   static OrcCode *c = 0;
  4680.   void (*func) (OrcExecutor *);
  4681.  
  4682.   if (!p_inited) {
  4683.     orc_once_mutex_lock ();
  4684.     if (!p_inited) {
  4685.       OrcProgram *p;
  4686.  
  4687. #if 1
  4688.       static const orc_uint8 bc[] = {
  4689.         1, 9, 19, 97, 117, 100, 105, 111, 95, 111, 114, 99, 95, 115, 112, 108,
  4690.         97, 116, 95, 117, 54, 52, 11, 8, 8, 16, 8, 137, 0, 24, 2, 0,
  4691.  
  4692.       };
  4693.       p = orc_program_new_from_static_bytecode (bc);
  4694.       orc_program_set_backup_function (p, _backup_audio_orc_splat_u64);
  4695. #else
  4696.       p = orc_program_new ();
  4697.       orc_program_set_name (p, "audio_orc_splat_u64");
  4698.       orc_program_set_backup_function (p, _backup_audio_orc_splat_u64);
  4699.       orc_program_add_destination (p, 8, "d1");
  4700.       orc_program_add_parameter (p, 8, "p1");
  4701.  
  4702.       orc_program_append_2 (p, "copyq", 0, ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1, ORC_VAR_D1);
  4703. #endif
  4704.  
  4705.       orc_program_compile (p);
  4706.       c = orc_program_take_code (p);
  4707.       orc_program_free (p);
  4708.     }
  4709.     p_inited = TRUE;
  4710.     orc_once_mutex_unlock ();
  4711.   }
  4712.   ex->arrays[ORC_VAR_A2] = c;
  4713.   ex->program = 0;
  4714.  
  4715.   ex->n = n;
  4716.   ex->arrays[ORC_VAR_D1] = d1;
  4717.   ex->params[ORC_VAR_P1] = p1;
  4718.  
  4719.   func = c->exec;
  4720.   func (ex);
  4721. }
  4722. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement