1 
2 /* autogenerated from gstvideoboxorc.orc */
3 
4 #ifdef HAVE_CONFIG_H
5 #include "config.h"
6 #endif
7 #include <glib.h>
8 
9 #ifndef _ORC_INTEGER_TYPEDEFS_
10 #define _ORC_INTEGER_TYPEDEFS_
11 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
12 #include <stdint.h>
13 typedef int8_t orc_int8;
14 typedef int16_t orc_int16;
15 typedef int32_t orc_int32;
16 typedef int64_t orc_int64;
17 typedef uint8_t orc_uint8;
18 typedef uint16_t orc_uint16;
19 typedef uint32_t orc_uint32;
20 typedef uint64_t orc_uint64;
21 #define ORC_UINT64_C(x) UINT64_C(x)
22 #elif defined(_MSC_VER)
23 typedef signed __int8 orc_int8;
24 typedef signed __int16 orc_int16;
25 typedef signed __int32 orc_int32;
26 typedef signed __int64 orc_int64;
27 typedef unsigned __int8 orc_uint8;
28 typedef unsigned __int16 orc_uint16;
29 typedef unsigned __int32 orc_uint32;
30 typedef unsigned __int64 orc_uint64;
31 #define ORC_UINT64_C(x) (x##Ui64)
32 #define inline __inline
33 #else
34 #include <limits.h>
35 typedef signed char orc_int8;
36 typedef short orc_int16;
37 typedef int orc_int32;
38 typedef unsigned char orc_uint8;
39 typedef unsigned short orc_uint16;
40 typedef unsigned int orc_uint32;
41 #if INT_MAX == LONG_MAX
42 typedef long long orc_int64;
43 typedef unsigned long long orc_uint64;
44 #define ORC_UINT64_C(x) (x##ULL)
45 #else
46 typedef long orc_int64;
47 typedef unsigned long orc_uint64;
48 #define ORC_UINT64_C(x) (x##UL)
49 #endif
50 #endif
51 typedef union
52 {
53   orc_int16 i;
54   orc_int8 x2[2];
55 } orc_union16;
56 typedef union
57 {
58   orc_int32 i;
59   float f;
60   orc_int16 x2[2];
61   orc_int8 x4[4];
62 } orc_union32;
63 typedef union
64 {
65   orc_int64 i;
66   double f;
67   orc_int32 x2[2];
68   float x2f[2];
69   orc_int16 x4[4];
70 } orc_union64;
71 #endif
72 #ifndef ORC_RESTRICT
73 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
74 #define ORC_RESTRICT restrict
75 #elif defined(__GNUC__) && __GNUC__ >= 4
76 #define ORC_RESTRICT __restrict__
77 #else
78 #define ORC_RESTRICT
79 #endif
80 #endif
81 
82 #ifndef ORC_INTERNAL
83 #if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
84 #define ORC_INTERNAL __attribute__((visibility("hidden")))
85 #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
86 #define ORC_INTERNAL __hidden
87 #elif defined (__GNUC__)
88 #define ORC_INTERNAL __attribute__((visibility("hidden")))
89 #else
90 #define ORC_INTERNAL
91 #endif
92 #endif
93 
94 
95 #ifndef DISABLE_ORC
96 #include <orc/orc.h>
97 #endif
98 void video_box_orc_splat_u32 (guint32 * ORC_RESTRICT d1, int p1, int n);
99 
100 
101 /* begin Orc C target preamble */
102 #define ORC_CLAMP(x,a,b) ((x)<(a) ? (a) : ((x)>(b) ? (b) : (x)))
103 #define ORC_ABS(a) ((a)<0 ? -(a) : (a))
104 #define ORC_MIN(a,b) ((a)<(b) ? (a) : (b))
105 #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
106 #define ORC_SB_MAX 127
107 #define ORC_SB_MIN (-1-ORC_SB_MAX)
108 #define ORC_UB_MAX (orc_uint8) 255
109 #define ORC_UB_MIN 0
110 #define ORC_SW_MAX 32767
111 #define ORC_SW_MIN (-1-ORC_SW_MAX)
112 #define ORC_UW_MAX (orc_uint16)65535
113 #define ORC_UW_MIN 0
114 #define ORC_SL_MAX 2147483647
115 #define ORC_SL_MIN (-1-ORC_SL_MAX)
116 #define ORC_UL_MAX 4294967295U
117 #define ORC_UL_MIN 0
118 #define ORC_CLAMP_SB(x) ORC_CLAMP(x,ORC_SB_MIN,ORC_SB_MAX)
119 #define ORC_CLAMP_UB(x) ORC_CLAMP(x,ORC_UB_MIN,ORC_UB_MAX)
120 #define ORC_CLAMP_SW(x) ORC_CLAMP(x,ORC_SW_MIN,ORC_SW_MAX)
121 #define ORC_CLAMP_UW(x) ORC_CLAMP(x,ORC_UW_MIN,ORC_UW_MAX)
122 #define ORC_CLAMP_SL(x) ORC_CLAMP(x,ORC_SL_MIN,ORC_SL_MAX)
123 #define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)
124 #define ORC_SWAP_W(x) ((((x)&0xffU)<<8) | (((x)&0xff00U)>>8))
125 #define ORC_SWAP_L(x) ((((x)&0xffU)<<24) | (((x)&0xff00U)<<8) | (((x)&0xff0000U)>>8) | (((x)&0xff000000U)>>24))
126 #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))
127 #define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
128 #define ORC_DENORMAL(x) ((x) & ((((x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))
129 #define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
130 #define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
131 #define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
132 #ifndef ORC_RESTRICT
133 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
134 #define ORC_RESTRICT restrict
135 #elif defined(__GNUC__) && __GNUC__ >= 4
136 #define ORC_RESTRICT __restrict__
137 #else
138 #define ORC_RESTRICT
139 #endif
140 #endif
141 /* end Orc C target preamble */
142 
143 
144 
145 /* video_box_orc_splat_u32 */
146 #ifdef DISABLE_ORC
147 void
video_box_orc_splat_u32(guint32 * ORC_RESTRICT d1,int p1,int n)148 video_box_orc_splat_u32 (guint32 * ORC_RESTRICT d1, int p1, int n)
149 {
150   int i;
151   orc_union32 *ORC_RESTRICT ptr0;
152   orc_union32 var32;
153   orc_union32 var33;
154 
155   ptr0 = (orc_union32 *) d1;
156 
157   /* 0: loadpl */
158   var32.i = p1;
159 
160   for (i = 0; i < n; i++) {
161     /* 1: copyl */
162     var33.i = var32.i;
163     /* 2: storel */
164     ptr0[i] = var33;
165   }
166 
167 }
168 
169 #else
170 static void
_backup_video_box_orc_splat_u32(OrcExecutor * ORC_RESTRICT ex)171 _backup_video_box_orc_splat_u32 (OrcExecutor * ORC_RESTRICT ex)
172 {
173   int i;
174   int n = ex->n;
175   orc_union32 *ORC_RESTRICT ptr0;
176   orc_union32 var32;
177   orc_union32 var33;
178 
179   ptr0 = (orc_union32 *) ex->arrays[0];
180 
181   /* 0: loadpl */
182   var32.i = ex->params[24];
183 
184   for (i = 0; i < n; i++) {
185     /* 1: copyl */
186     var33.i = var32.i;
187     /* 2: storel */
188     ptr0[i] = var33;
189   }
190 
191 }
192 
193 void
video_box_orc_splat_u32(guint32 * ORC_RESTRICT d1,int p1,int n)194 video_box_orc_splat_u32 (guint32 * ORC_RESTRICT d1, int p1, int n)
195 {
196   OrcExecutor _ex, *ex = &_ex;
197   static volatile int p_inited = 0;
198   static OrcCode *c = 0;
199   void (*func) (OrcExecutor *);
200 
201   if (!p_inited) {
202     orc_once_mutex_lock ();
203     if (!p_inited) {
204       OrcProgram *p;
205 
206 #if 1
207       static const orc_uint8 bc[] = {
208         1, 9, 23, 118, 105, 100, 101, 111, 95, 98, 111, 120, 95, 111, 114, 99,
209         95, 115, 112, 108, 97, 116, 95, 117, 51, 50, 11, 4, 4, 16, 4, 112,
210         0, 24, 2, 0,
211       };
212       p = orc_program_new_from_static_bytecode (bc);
213       orc_program_set_backup_function (p, _backup_video_box_orc_splat_u32);
214 #else
215       p = orc_program_new ();
216       orc_program_set_name (p, "video_box_orc_splat_u32");
217       orc_program_set_backup_function (p, _backup_video_box_orc_splat_u32);
218       orc_program_add_destination (p, 4, "d1");
219       orc_program_add_parameter (p, 4, "p1");
220 
221       orc_program_append_2 (p, "copyl", 0, ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1,
222           ORC_VAR_D1);
223 #endif
224 
225       orc_program_compile (p);
226       c = orc_program_take_code (p);
227       orc_program_free (p);
228     }
229     p_inited = TRUE;
230     orc_once_mutex_unlock ();
231   }
232   ex->arrays[ORC_VAR_A2] = c;
233   ex->program = 0;
234 
235   ex->n = n;
236   ex->arrays[ORC_VAR_D1] = d1;
237   ex->params[ORC_VAR_P1] = p1;
238 
239   func = c->exec;
240   func (ex);
241 }
242 #endif
243