2 /* autogenerated from gstvideoconvertorc.orc */
9 #ifndef _ORC_INTEGER_TYPEDEFS_
10 #define _ORC_INTEGER_TYPEDEFS_
11 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
13 typedef int8_t orc_int8;
14 typedef int16_t orc_int16;
15 typedef int32_t orc_int32;
16 typedef int64_t orc_int64;
17 typedef uint8_t orc_uint8;
18 typedef uint16_t orc_uint16;
19 typedef uint32_t orc_uint32;
20 typedef uint64_t orc_uint64;
21 #define ORC_UINT64_C(x) UINT64_C(x)
22 #elif defined(_MSC_VER)
23 typedef signed __int8 orc_int8;
24 typedef signed __int16 orc_int16;
25 typedef signed __int32 orc_int32;
26 typedef signed __int64 orc_int64;
27 typedef unsigned __int8 orc_uint8;
28 typedef unsigned __int16 orc_uint16;
29 typedef unsigned __int32 orc_uint32;
30 typedef unsigned __int64 orc_uint64;
31 #define ORC_UINT64_C(x) (x##Ui64)
32 #define inline __inline
35 typedef signed char orc_int8;
36 typedef short orc_int16;
37 typedef int orc_int32;
38 typedef unsigned char orc_uint8;
39 typedef unsigned short orc_uint16;
40 typedef unsigned int orc_uint32;
41 #if INT_MAX == LONG_MAX
42 typedef long long orc_int64;
43 typedef unsigned long long orc_uint64;
44 #define ORC_UINT64_C(x) (x##ULL)
46 typedef long orc_int64;
47 typedef unsigned long orc_uint64;
48 #define ORC_UINT64_C(x) (x##UL)
73 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
74 #define ORC_RESTRICT restrict
75 #elif defined(__GNUC__) && __GNUC__ >= 4
76 #define ORC_RESTRICT __restrict__
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")))
98 void video_convert_orc_memcpy_2d (guint8 * ORC_RESTRICT d1, int d1_stride,
99 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
100 void video_convert_orc_convert_I420_UYVY (guint8 * ORC_RESTRICT d1,
101 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
102 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
103 const guint8 * ORC_RESTRICT s4, int n);
104 void video_convert_orc_convert_I420_YUY2 (guint8 * ORC_RESTRICT d1,
105 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
106 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
107 const guint8 * ORC_RESTRICT s4, int n);
108 void video_convert_orc_convert_I420_AYUV (guint8 * ORC_RESTRICT d1,
109 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
110 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
111 const guint8 * ORC_RESTRICT s4, int n);
112 void video_convert_orc_convert_YUY2_I420 (guint8 * ORC_RESTRICT d1,
113 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
114 guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1,
115 const guint8 * ORC_RESTRICT s2, int n);
116 void video_convert_orc_convert_UYVY_YUY2 (guint8 * ORC_RESTRICT d1,
117 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
118 void video_convert_orc_planar_chroma_420_422 (guint8 * ORC_RESTRICT d1,
119 int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride,
120 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
121 void video_convert_orc_planar_chroma_420_444 (guint8 * ORC_RESTRICT d1,
122 int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride,
123 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
124 void video_convert_orc_planar_chroma_422_444 (guint8 * ORC_RESTRICT d1,
125 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
126 void video_convert_orc_planar_chroma_444_422 (guint8 * ORC_RESTRICT d1,
127 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
128 void video_convert_orc_planar_chroma_444_420 (guint8 * ORC_RESTRICT d1,
129 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride,
130 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
131 void video_convert_orc_planar_chroma_422_420 (guint8 * ORC_RESTRICT d1,
132 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride,
133 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
134 void video_convert_orc_convert_YUY2_AYUV (guint8 * ORC_RESTRICT d1,
135 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
136 void video_convert_orc_convert_UYVY_AYUV (guint8 * ORC_RESTRICT d1,
137 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
138 void video_convert_orc_convert_YUY2_Y42B (guint8 * ORC_RESTRICT d1,
139 int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride,
140 guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1,
141 int s1_stride, int n, int m);
142 void video_convert_orc_convert_UYVY_Y42B (guint8 * ORC_RESTRICT d1,
143 int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride,
144 guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1,
145 int s1_stride, int n, int m);
146 void video_convert_orc_convert_YUY2_Y444 (guint8 * ORC_RESTRICT d1,
147 int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride,
148 guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1,
149 int s1_stride, int n, int m);
150 void video_convert_orc_convert_UYVY_Y444 (guint8 * ORC_RESTRICT d1,
151 int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride,
152 guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1,
153 int s1_stride, int n, int m);
154 void video_convert_orc_convert_UYVY_I420 (guint8 * ORC_RESTRICT d1,
155 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
156 guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1,
157 const guint8 * ORC_RESTRICT s2, int n);
158 void video_convert_orc_convert_AYUV_I420 (guint8 * ORC_RESTRICT d1,
159 int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride,
160 guint8 * ORC_RESTRICT d3, int d3_stride, guint8 * ORC_RESTRICT d4,
161 int d4_stride, const guint8 * ORC_RESTRICT s1, int s1_stride,
162 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
163 void video_convert_orc_convert_AYUV_YUY2 (guint8 * ORC_RESTRICT d1,
164 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
165 void video_convert_orc_convert_AYUV_UYVY (guint8 * ORC_RESTRICT d1,
166 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
167 void video_convert_orc_convert_AYUV_Y42B (guint8 * ORC_RESTRICT d1,
168 int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride,
169 guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1,
170 int s1_stride, int n, int m);
171 void video_convert_orc_convert_AYUV_Y444 (guint8 * ORC_RESTRICT d1,
172 int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride,
173 guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1,
174 int s1_stride, int n, int m);
175 void video_convert_orc_convert_Y42B_YUY2 (guint8 * ORC_RESTRICT d1,
176 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride,
177 const guint8 * ORC_RESTRICT s2, int s2_stride,
178 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
179 void video_convert_orc_convert_Y42B_UYVY (guint8 * ORC_RESTRICT d1,
180 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride,
181 const guint8 * ORC_RESTRICT s2, int s2_stride,
182 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
183 void video_convert_orc_convert_Y42B_AYUV (guint8 * ORC_RESTRICT d1,
184 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride,
185 const guint8 * ORC_RESTRICT s2, int s2_stride,
186 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
187 void video_convert_orc_convert_Y444_YUY2 (guint8 * ORC_RESTRICT d1,
188 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride,
189 const guint8 * ORC_RESTRICT s2, int s2_stride,
190 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
191 void video_convert_orc_convert_Y444_UYVY (guint8 * ORC_RESTRICT d1,
192 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride,
193 const guint8 * ORC_RESTRICT s2, int s2_stride,
194 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
195 void video_convert_orc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1,
196 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride,
197 const guint8 * ORC_RESTRICT s2, int s2_stride,
198 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
199 void video_convert_orc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1,
200 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
201 void video_convert_orc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1,
202 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
203 void video_convert_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1,
204 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
205 void video_convert_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1,
206 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
207 void video_convert_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
208 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
209 const guint8 * ORC_RESTRICT s3, int n);
210 void video_convert_orc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1,
211 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
212 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4,
213 const guint8 * ORC_RESTRICT s5, int n);
214 void video_convert_orc_getline_I420 (guint8 * ORC_RESTRICT d1,
215 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
216 const guint8 * ORC_RESTRICT s3, int n);
217 void video_convert_orc_getline_YUV9 (guint8 * ORC_RESTRICT d1,
218 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
219 const guint8 * ORC_RESTRICT s3, int n);
220 void video_convert_orc_getline_YUY2 (guint8 * ORC_RESTRICT d1,
221 const guint8 * ORC_RESTRICT s1, int n);
222 void video_convert_orc_getline_UYVY (guint8 * ORC_RESTRICT d1,
223 const guint8 * ORC_RESTRICT s1, int n);
224 void video_convert_orc_getline_YVYU (guint8 * ORC_RESTRICT d1,
225 const guint8 * ORC_RESTRICT s1, int n);
226 void video_convert_orc_getline_Y42B (guint8 * ORC_RESTRICT d1,
227 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
228 const guint8 * ORC_RESTRICT s3, int n);
229 void video_convert_orc_getline_Y444 (guint8 * ORC_RESTRICT d1,
230 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
231 const guint8 * ORC_RESTRICT s3, int n);
232 void video_convert_orc_getline_Y800 (guint8 * ORC_RESTRICT d1,
233 const guint8 * ORC_RESTRICT s1, int n);
234 void video_convert_orc_getline_Y16 (guint8 * ORC_RESTRICT d1,
235 const guint8 * ORC_RESTRICT s1, int n);
236 void video_convert_orc_getline_BGRA (guint8 * ORC_RESTRICT d1,
237 const guint8 * ORC_RESTRICT s1, int n);
238 void video_convert_orc_getline_ABGR (guint8 * ORC_RESTRICT d1,
239 const guint8 * ORC_RESTRICT s1, int n);
240 void video_convert_orc_getline_RGBA (guint8 * ORC_RESTRICT d1,
241 const guint8 * ORC_RESTRICT s1, int n);
242 void video_convert_orc_getline_NV12 (guint8 * ORC_RESTRICT d1,
243 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
244 void video_convert_orc_getline_NV21 (guint8 * ORC_RESTRICT d1,
245 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
246 void video_convert_orc_getline_A420 (guint8 * ORC_RESTRICT d1,
247 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
248 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
249 void video_convert_orc_putline_I420 (guint8 * ORC_RESTRICT d1,
250 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
251 const guint8 * ORC_RESTRICT s1, int n);
252 void video_convert_orc_putline_YUY2 (guint8 * ORC_RESTRICT d1,
253 const guint8 * ORC_RESTRICT s1, int n);
254 void video_convert_orc_putline_YVYU (guint8 * ORC_RESTRICT d1,
255 const guint8 * ORC_RESTRICT s1, int n);
256 void video_convert_orc_putline_UYVY (guint8 * ORC_RESTRICT d1,
257 const guint8 * ORC_RESTRICT s1, int n);
258 void video_convert_orc_putline_Y42B (guint8 * ORC_RESTRICT d1,
259 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
260 const guint8 * ORC_RESTRICT s1, int n);
261 void video_convert_orc_putline_Y444 (guint8 * ORC_RESTRICT d1,
262 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
263 const guint8 * ORC_RESTRICT s1, int n);
264 void video_convert_orc_putline_Y800 (guint8 * ORC_RESTRICT d1,
265 const guint8 * ORC_RESTRICT s1, int n);
266 void video_convert_orc_putline_Y16 (guint8 * ORC_RESTRICT d1,
267 const guint8 * ORC_RESTRICT s1, int n);
268 void video_convert_orc_putline_BGRA (guint8 * ORC_RESTRICT d1,
269 const guint8 * ORC_RESTRICT s1, int n);
270 void video_convert_orc_putline_ABGR (guint8 * ORC_RESTRICT d1,
271 const guint8 * ORC_RESTRICT s1, int n);
272 void video_convert_orc_putline_RGBA (guint8 * ORC_RESTRICT d1,
273 const guint8 * ORC_RESTRICT s1, int n);
274 void video_convert_orc_putline_NV12 (guint8 * ORC_RESTRICT d1,
275 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n);
276 void video_convert_orc_putline_NV21 (guint8 * ORC_RESTRICT d1,
277 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n);
278 void video_convert_orc_putline_A420 (guint8 * ORC_RESTRICT d1,
279 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
280 guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1, int n);
283 /* begin Orc C target preamble */
284 #define ORC_CLAMP(x,a,b) ((x)<(a) ? (a) : ((x)>(b) ? (b) : (x)))
285 #define ORC_ABS(a) ((a)<0 ? -(a) : (a))
286 #define ORC_MIN(a,b) ((a)<(b) ? (a) : (b))
287 #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
288 #define ORC_SB_MAX 127
289 #define ORC_SB_MIN (-1-ORC_SB_MAX)
290 #define ORC_UB_MAX 255
292 #define ORC_SW_MAX 32767
293 #define ORC_SW_MIN (-1-ORC_SW_MAX)
294 #define ORC_UW_MAX 65535
296 #define ORC_SL_MAX 2147483647
297 #define ORC_SL_MIN (-1-ORC_SL_MAX)
298 #define ORC_UL_MAX 4294967295U
300 #define ORC_CLAMP_SB(x) ORC_CLAMP(x,ORC_SB_MIN,ORC_SB_MAX)
301 #define ORC_CLAMP_UB(x) ORC_CLAMP(x,ORC_UB_MIN,ORC_UB_MAX)
302 #define ORC_CLAMP_SW(x) ORC_CLAMP(x,ORC_SW_MIN,ORC_SW_MAX)
303 #define ORC_CLAMP_UW(x) ORC_CLAMP(x,ORC_UW_MIN,ORC_UW_MAX)
304 #define ORC_CLAMP_SL(x) ORC_CLAMP(x,ORC_SL_MIN,ORC_SL_MAX)
305 #define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)
306 #define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
307 #define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
308 #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))
309 #define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
310 #define ORC_DENORMAL(x) ((x) & ((((x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))
311 #define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
312 #define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
313 #define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
315 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
316 #define ORC_RESTRICT restrict
317 #elif defined(__GNUC__) && __GNUC__ >= 4
318 #define ORC_RESTRICT __restrict__
323 /* end Orc C target preamble */
327 /* video_convert_orc_memcpy_2d */
330 video_convert_orc_memcpy_2d (guint8 * ORC_RESTRICT d1, int d1_stride,
331 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
335 orc_int8 *ORC_RESTRICT ptr0;
336 const orc_int8 *ORC_RESTRICT ptr4;
340 for (j = 0; j < m; j++) {
341 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
342 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
345 for (i = 0; i < n; i++) {
359 _backup_video_convert_orc_memcpy_2d (OrcExecutor * ORC_RESTRICT ex)
364 int m = ex->params[ORC_VAR_A1];
365 orc_int8 *ORC_RESTRICT ptr0;
366 const orc_int8 *ORC_RESTRICT ptr4;
370 for (j = 0; j < m; j++) {
371 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
372 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
375 for (i = 0; i < n; i++) {
388 video_convert_orc_memcpy_2d (guint8 * ORC_RESTRICT d1, int d1_stride,
389 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
391 OrcExecutor _ex, *ex = &_ex;
392 static volatile int p_inited = 0;
393 static OrcCode *c = 0;
394 void (*func) (OrcExecutor *);
397 orc_once_mutex_lock ();
402 static const orc_uint8 bc[] = {
403 1, 7, 9, 27, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
404 116, 95, 111, 114, 99, 95, 109, 101, 109, 99, 112, 121, 95, 50, 100, 11,
405 1, 1, 12, 1, 1, 42, 0, 4, 2, 0,
407 p = orc_program_new_from_static_bytecode (bc);
408 orc_program_set_backup_function (p, _backup_video_convert_orc_memcpy_2d);
410 p = orc_program_new ();
411 orc_program_set_2d (p);
412 orc_program_set_name (p, "video_convert_orc_memcpy_2d");
413 orc_program_set_backup_function (p, _backup_video_convert_orc_memcpy_2d);
414 orc_program_add_destination (p, 1, "d1");
415 orc_program_add_source (p, 1, "s1");
417 orc_program_append_2 (p, "copyb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
421 orc_program_compile (p);
422 c = orc_program_take_code (p);
423 orc_program_free (p);
426 orc_once_mutex_unlock ();
428 ex->arrays[ORC_VAR_A2] = c;
432 ORC_EXECUTOR_M (ex) = m;
433 ex->arrays[ORC_VAR_D1] = d1;
434 ex->params[ORC_VAR_D1] = d1_stride;
435 ex->arrays[ORC_VAR_S1] = (void *) s1;
436 ex->params[ORC_VAR_S1] = s1_stride;
444 /* video_convert_orc_convert_I420_UYVY */
447 video_convert_orc_convert_I420_UYVY (guint8 * ORC_RESTRICT d1,
448 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
449 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
450 const guint8 * ORC_RESTRICT s4, int n)
453 orc_union32 *ORC_RESTRICT ptr0;
454 orc_union32 *ORC_RESTRICT ptr1;
455 const orc_union16 *ORC_RESTRICT ptr4;
456 const orc_union16 *ORC_RESTRICT ptr5;
457 const orc_int8 *ORC_RESTRICT ptr6;
458 const orc_int8 *ORC_RESTRICT ptr7;
467 ptr0 = (orc_union32 *) d1;
468 ptr1 = (orc_union32 *) d2;
469 ptr4 = (orc_union16 *) s1;
470 ptr5 = (orc_union16 *) s2;
471 ptr6 = (orc_int8 *) s3;
472 ptr7 = (orc_int8 *) s4;
475 for (i = 0; i < n; i++) {
492 _dest.x2[0] = var39.x2[0];
493 _dest.x2[1] = var35.x2[0];
494 var36.x2[0] = _dest.i;
498 _dest.x2[0] = var39.x2[1];
499 _dest.x2[1] = var35.x2[1];
500 var36.x2[1] = _dest.i;
509 _dest.x2[0] = var39.x2[0];
510 _dest.x2[1] = var37.x2[0];
511 var38.x2[0] = _dest.i;
515 _dest.x2[0] = var39.x2[1];
516 _dest.x2[1] = var37.x2[1];
517 var38.x2[1] = _dest.i;
527 _backup_video_convert_orc_convert_I420_UYVY (OrcExecutor * ORC_RESTRICT ex)
531 orc_union32 *ORC_RESTRICT ptr0;
532 orc_union32 *ORC_RESTRICT ptr1;
533 const orc_union16 *ORC_RESTRICT ptr4;
534 const orc_union16 *ORC_RESTRICT ptr5;
535 const orc_int8 *ORC_RESTRICT ptr6;
536 const orc_int8 *ORC_RESTRICT ptr7;
545 ptr0 = (orc_union32 *) ex->arrays[0];
546 ptr1 = (orc_union32 *) ex->arrays[1];
547 ptr4 = (orc_union16 *) ex->arrays[4];
548 ptr5 = (orc_union16 *) ex->arrays[5];
549 ptr6 = (orc_int8 *) ex->arrays[6];
550 ptr7 = (orc_int8 *) ex->arrays[7];
553 for (i = 0; i < n; i++) {
570 _dest.x2[0] = var39.x2[0];
571 _dest.x2[1] = var35.x2[0];
572 var36.x2[0] = _dest.i;
576 _dest.x2[0] = var39.x2[1];
577 _dest.x2[1] = var35.x2[1];
578 var36.x2[1] = _dest.i;
587 _dest.x2[0] = var39.x2[0];
588 _dest.x2[1] = var37.x2[0];
589 var38.x2[0] = _dest.i;
593 _dest.x2[0] = var39.x2[1];
594 _dest.x2[1] = var37.x2[1];
595 var38.x2[1] = _dest.i;
604 video_convert_orc_convert_I420_UYVY (guint8 * ORC_RESTRICT d1,
605 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
606 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
607 const guint8 * ORC_RESTRICT s4, int n)
609 OrcExecutor _ex, *ex = &_ex;
610 static volatile int p_inited = 0;
611 static OrcCode *c = 0;
612 void (*func) (OrcExecutor *);
615 orc_once_mutex_lock ();
620 static const orc_uint8 bc[] = {
621 1, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
622 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 73, 52, 50,
623 48, 95, 85, 89, 86, 89, 11, 4, 4, 11, 4, 4, 12, 2, 2, 12,
624 2, 2, 12, 1, 1, 12, 1, 1, 20, 2, 196, 32, 6, 7, 21, 1,
625 196, 0, 32, 4, 21, 1, 196, 1, 32, 5, 2, 0,
627 p = orc_program_new_from_static_bytecode (bc);
628 orc_program_set_backup_function (p,
629 _backup_video_convert_orc_convert_I420_UYVY);
631 p = orc_program_new ();
632 orc_program_set_name (p, "video_convert_orc_convert_I420_UYVY");
633 orc_program_set_backup_function (p,
634 _backup_video_convert_orc_convert_I420_UYVY);
635 orc_program_add_destination (p, 4, "d1");
636 orc_program_add_destination (p, 4, "d2");
637 orc_program_add_source (p, 2, "s1");
638 orc_program_add_source (p, 2, "s2");
639 orc_program_add_source (p, 1, "s3");
640 orc_program_add_source (p, 1, "s4");
641 orc_program_add_temporary (p, 2, "t1");
643 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S3, ORC_VAR_S4,
645 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
647 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D2, ORC_VAR_T1, ORC_VAR_S2,
651 orc_program_compile (p);
652 c = orc_program_take_code (p);
653 orc_program_free (p);
656 orc_once_mutex_unlock ();
658 ex->arrays[ORC_VAR_A2] = c;
662 ex->arrays[ORC_VAR_D1] = d1;
663 ex->arrays[ORC_VAR_D2] = d2;
664 ex->arrays[ORC_VAR_S1] = (void *) s1;
665 ex->arrays[ORC_VAR_S2] = (void *) s2;
666 ex->arrays[ORC_VAR_S3] = (void *) s3;
667 ex->arrays[ORC_VAR_S4] = (void *) s4;
675 /* video_convert_orc_convert_I420_YUY2 */
678 video_convert_orc_convert_I420_YUY2 (guint8 * ORC_RESTRICT d1,
679 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
680 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
681 const guint8 * ORC_RESTRICT s4, int n)
684 orc_union32 *ORC_RESTRICT ptr0;
685 orc_union32 *ORC_RESTRICT ptr1;
686 const orc_union16 *ORC_RESTRICT ptr4;
687 const orc_union16 *ORC_RESTRICT ptr5;
688 const orc_int8 *ORC_RESTRICT ptr6;
689 const orc_int8 *ORC_RESTRICT ptr7;
698 ptr0 = (orc_union32 *) d1;
699 ptr1 = (orc_union32 *) d2;
700 ptr4 = (orc_union16 *) s1;
701 ptr5 = (orc_union16 *) s2;
702 ptr6 = (orc_int8 *) s3;
703 ptr7 = (orc_int8 *) s4;
706 for (i = 0; i < n; i++) {
723 _dest.x2[0] = var35.x2[0];
724 _dest.x2[1] = var39.x2[0];
725 var36.x2[0] = _dest.i;
729 _dest.x2[0] = var35.x2[1];
730 _dest.x2[1] = var39.x2[1];
731 var36.x2[1] = _dest.i;
740 _dest.x2[0] = var37.x2[0];
741 _dest.x2[1] = var39.x2[0];
742 var38.x2[0] = _dest.i;
746 _dest.x2[0] = var37.x2[1];
747 _dest.x2[1] = var39.x2[1];
748 var38.x2[1] = _dest.i;
758 _backup_video_convert_orc_convert_I420_YUY2 (OrcExecutor * ORC_RESTRICT ex)
762 orc_union32 *ORC_RESTRICT ptr0;
763 orc_union32 *ORC_RESTRICT ptr1;
764 const orc_union16 *ORC_RESTRICT ptr4;
765 const orc_union16 *ORC_RESTRICT ptr5;
766 const orc_int8 *ORC_RESTRICT ptr6;
767 const orc_int8 *ORC_RESTRICT ptr7;
776 ptr0 = (orc_union32 *) ex->arrays[0];
777 ptr1 = (orc_union32 *) ex->arrays[1];
778 ptr4 = (orc_union16 *) ex->arrays[4];
779 ptr5 = (orc_union16 *) ex->arrays[5];
780 ptr6 = (orc_int8 *) ex->arrays[6];
781 ptr7 = (orc_int8 *) ex->arrays[7];
784 for (i = 0; i < n; i++) {
801 _dest.x2[0] = var35.x2[0];
802 _dest.x2[1] = var39.x2[0];
803 var36.x2[0] = _dest.i;
807 _dest.x2[0] = var35.x2[1];
808 _dest.x2[1] = var39.x2[1];
809 var36.x2[1] = _dest.i;
818 _dest.x2[0] = var37.x2[0];
819 _dest.x2[1] = var39.x2[0];
820 var38.x2[0] = _dest.i;
824 _dest.x2[0] = var37.x2[1];
825 _dest.x2[1] = var39.x2[1];
826 var38.x2[1] = _dest.i;
835 video_convert_orc_convert_I420_YUY2 (guint8 * ORC_RESTRICT d1,
836 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
837 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
838 const guint8 * ORC_RESTRICT s4, int n)
840 OrcExecutor _ex, *ex = &_ex;
841 static volatile int p_inited = 0;
842 static OrcCode *c = 0;
843 void (*func) (OrcExecutor *);
846 orc_once_mutex_lock ();
851 static const orc_uint8 bc[] = {
852 1, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
853 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 73, 52, 50,
854 48, 95, 89, 85, 89, 50, 11, 4, 4, 11, 4, 4, 12, 2, 2, 12,
855 2, 2, 12, 1, 1, 12, 1, 1, 20, 2, 196, 32, 6, 7, 21, 1,
856 196, 0, 4, 32, 21, 1, 196, 1, 5, 32, 2, 0,
858 p = orc_program_new_from_static_bytecode (bc);
859 orc_program_set_backup_function (p,
860 _backup_video_convert_orc_convert_I420_YUY2);
862 p = orc_program_new ();
863 orc_program_set_name (p, "video_convert_orc_convert_I420_YUY2");
864 orc_program_set_backup_function (p,
865 _backup_video_convert_orc_convert_I420_YUY2);
866 orc_program_add_destination (p, 4, "d1");
867 orc_program_add_destination (p, 4, "d2");
868 orc_program_add_source (p, 2, "s1");
869 orc_program_add_source (p, 2, "s2");
870 orc_program_add_source (p, 1, "s3");
871 orc_program_add_source (p, 1, "s4");
872 orc_program_add_temporary (p, 2, "t1");
874 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S3, ORC_VAR_S4,
876 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_T1,
878 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D2, ORC_VAR_S2, ORC_VAR_T1,
882 orc_program_compile (p);
883 c = orc_program_take_code (p);
884 orc_program_free (p);
887 orc_once_mutex_unlock ();
889 ex->arrays[ORC_VAR_A2] = c;
893 ex->arrays[ORC_VAR_D1] = d1;
894 ex->arrays[ORC_VAR_D2] = d2;
895 ex->arrays[ORC_VAR_S1] = (void *) s1;
896 ex->arrays[ORC_VAR_S2] = (void *) s2;
897 ex->arrays[ORC_VAR_S3] = (void *) s3;
898 ex->arrays[ORC_VAR_S4] = (void *) s4;
906 /* video_convert_orc_convert_I420_AYUV */
909 video_convert_orc_convert_I420_AYUV (guint8 * ORC_RESTRICT d1,
910 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
911 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
912 const guint8 * ORC_RESTRICT s4, int n)
915 orc_union32 *ORC_RESTRICT ptr0;
916 orc_union32 *ORC_RESTRICT ptr1;
917 const orc_int8 *ORC_RESTRICT ptr4;
918 const orc_int8 *ORC_RESTRICT ptr5;
919 const orc_int8 *ORC_RESTRICT ptr6;
920 const orc_int8 *ORC_RESTRICT ptr7;
921 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
922 volatile orc_int8 var36;
928 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
929 volatile orc_int8 var39;
941 ptr0 = (orc_union32 *) d1;
942 ptr1 = (orc_union32 *) d2;
943 ptr4 = (orc_int8 *) s1;
944 ptr5 = (orc_int8 *) s2;
945 ptr6 = (orc_int8 *) s3;
946 ptr7 = (orc_int8 *) s4;
949 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
951 var39 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
953 for (i = 0; i < n; i++) {
955 var42 = ptr6[i >> 1];
957 var43 = ptr7[i >> 1];
977 _dest.x2[0] = var45.i;
978 _dest.x2[1] = var44.i;
995 _dest.x2[0] = var46.i;
996 _dest.x2[1] = var44.i;
1007 _backup_video_convert_orc_convert_I420_AYUV (OrcExecutor * ORC_RESTRICT ex)
1011 orc_union32 *ORC_RESTRICT ptr0;
1012 orc_union32 *ORC_RESTRICT ptr1;
1013 const orc_int8 *ORC_RESTRICT ptr4;
1014 const orc_int8 *ORC_RESTRICT ptr5;
1015 const orc_int8 *ORC_RESTRICT ptr6;
1016 const orc_int8 *ORC_RESTRICT ptr7;
1017 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1018 volatile orc_int8 var36;
1024 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
1025 volatile orc_int8 var39;
1037 ptr0 = (orc_union32 *) ex->arrays[0];
1038 ptr1 = (orc_union32 *) ex->arrays[1];
1039 ptr4 = (orc_int8 *) ex->arrays[4];
1040 ptr5 = (orc_int8 *) ex->arrays[5];
1041 ptr6 = (orc_int8 *) ex->arrays[6];
1042 ptr7 = (orc_int8 *) ex->arrays[7];
1045 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
1047 var39 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
1049 for (i = 0; i < n; i++) {
1051 var42 = ptr6[i >> 1];
1053 var43 = ptr7[i >> 1];
1057 _dest.x2[0] = var42;
1058 _dest.x2[1] = var43;
1066 _dest.x2[0] = var36;
1067 _dest.x2[1] = var37;
1073 _dest.x2[0] = var45.i;
1074 _dest.x2[1] = var44.i;
1084 _dest.x2[0] = var39;
1085 _dest.x2[1] = var40;
1091 _dest.x2[0] = var46.i;
1092 _dest.x2[1] = var44.i;
1102 video_convert_orc_convert_I420_AYUV (guint8 * ORC_RESTRICT d1,
1103 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
1104 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
1105 const guint8 * ORC_RESTRICT s4, int n)
1107 OrcExecutor _ex, *ex = &_ex;
1108 static volatile int p_inited = 0;
1109 static OrcCode *c = 0;
1110 void (*func) (OrcExecutor *);
1113 orc_once_mutex_lock ();
1118 static const orc_uint8 bc[] = {
1119 1, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
1120 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 73, 52, 50,
1121 48, 95, 65, 89, 85, 86, 11, 4, 4, 11, 4, 4, 12, 1, 1, 12,
1122 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 255, 0, 0, 0, 20, 2,
1123 20, 2, 20, 1, 20, 1, 45, 34, 6, 45, 35, 7, 196, 32, 34, 35,
1124 196, 33, 16, 4, 195, 0, 33, 32, 196, 33, 16, 5, 195, 1, 33, 32,
1127 p = orc_program_new_from_static_bytecode (bc);
1128 orc_program_set_backup_function (p,
1129 _backup_video_convert_orc_convert_I420_AYUV);
1131 p = orc_program_new ();
1132 orc_program_set_name (p, "video_convert_orc_convert_I420_AYUV");
1133 orc_program_set_backup_function (p,
1134 _backup_video_convert_orc_convert_I420_AYUV);
1135 orc_program_add_destination (p, 4, "d1");
1136 orc_program_add_destination (p, 4, "d2");
1137 orc_program_add_source (p, 1, "s1");
1138 orc_program_add_source (p, 1, "s2");
1139 orc_program_add_source (p, 1, "s3");
1140 orc_program_add_source (p, 1, "s4");
1141 orc_program_add_constant (p, 1, 0x000000ff, "c1");
1142 orc_program_add_temporary (p, 2, "t1");
1143 orc_program_add_temporary (p, 2, "t2");
1144 orc_program_add_temporary (p, 1, "t3");
1145 orc_program_add_temporary (p, 1, "t4");
1147 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T3, ORC_VAR_S3,
1148 ORC_VAR_D1, ORC_VAR_D1);
1149 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S4,
1150 ORC_VAR_D1, ORC_VAR_D1);
1151 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
1153 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
1155 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
1157 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S2,
1159 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D2, ORC_VAR_T2, ORC_VAR_T1,
1163 orc_program_compile (p);
1164 c = orc_program_take_code (p);
1165 orc_program_free (p);
1168 orc_once_mutex_unlock ();
1170 ex->arrays[ORC_VAR_A2] = c;
1174 ex->arrays[ORC_VAR_D1] = d1;
1175 ex->arrays[ORC_VAR_D2] = d2;
1176 ex->arrays[ORC_VAR_S1] = (void *) s1;
1177 ex->arrays[ORC_VAR_S2] = (void *) s2;
1178 ex->arrays[ORC_VAR_S3] = (void *) s3;
1179 ex->arrays[ORC_VAR_S4] = (void *) s4;
1187 /* video_convert_orc_convert_YUY2_I420 */
1190 video_convert_orc_convert_YUY2_I420 (guint8 * ORC_RESTRICT d1,
1191 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
1192 guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1,
1193 const guint8 * ORC_RESTRICT s2, int n)
1196 orc_union16 *ORC_RESTRICT ptr0;
1197 orc_union16 *ORC_RESTRICT ptr1;
1198 orc_int8 *ORC_RESTRICT ptr2;
1199 orc_int8 *ORC_RESTRICT ptr3;
1200 const orc_union32 *ORC_RESTRICT ptr4;
1201 const orc_union32 *ORC_RESTRICT ptr5;
1212 ptr0 = (orc_union16 *) d1;
1213 ptr1 = (orc_union16 *) d2;
1214 ptr2 = (orc_int8 *) d3;
1215 ptr3 = (orc_int8 *) d4;
1216 ptr4 = (orc_union32 *) s1;
1217 ptr5 = (orc_union32 *) s2;
1220 for (i = 0; i < n; i++) {
1226 _src.i = var35.x2[0];
1227 var39.x2[0] = _src.x2[1];
1228 var40.x2[0] = _src.x2[0];
1232 _src.i = var35.x2[1];
1233 var39.x2[1] = _src.x2[1];
1234 var40.x2[1] = _src.x2[0];
1243 _src.i = var36.x2[0];
1244 var41.x2[0] = _src.x2[1];
1245 var42.x2[0] = _src.x2[0];
1249 _src.i = var36.x2[1];
1250 var41.x2[1] = _src.x2[1];
1251 var42.x2[1] = _src.x2[0];
1256 var43.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var41.x2[0] + 1) >> 1;
1257 var43.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var41.x2[1] + 1) >> 1;
1275 _backup_video_convert_orc_convert_YUY2_I420 (OrcExecutor * ORC_RESTRICT ex)
1279 orc_union16 *ORC_RESTRICT ptr0;
1280 orc_union16 *ORC_RESTRICT ptr1;
1281 orc_int8 *ORC_RESTRICT ptr2;
1282 orc_int8 *ORC_RESTRICT ptr3;
1283 const orc_union32 *ORC_RESTRICT ptr4;
1284 const orc_union32 *ORC_RESTRICT ptr5;
1295 ptr0 = (orc_union16 *) ex->arrays[0];
1296 ptr1 = (orc_union16 *) ex->arrays[1];
1297 ptr2 = (orc_int8 *) ex->arrays[2];
1298 ptr3 = (orc_int8 *) ex->arrays[3];
1299 ptr4 = (orc_union32 *) ex->arrays[4];
1300 ptr5 = (orc_union32 *) ex->arrays[5];
1303 for (i = 0; i < n; i++) {
1309 _src.i = var35.x2[0];
1310 var39.x2[0] = _src.x2[1];
1311 var40.x2[0] = _src.x2[0];
1315 _src.i = var35.x2[1];
1316 var39.x2[1] = _src.x2[1];
1317 var40.x2[1] = _src.x2[0];
1326 _src.i = var36.x2[0];
1327 var41.x2[0] = _src.x2[1];
1328 var42.x2[0] = _src.x2[0];
1332 _src.i = var36.x2[1];
1333 var41.x2[1] = _src.x2[1];
1334 var42.x2[1] = _src.x2[0];
1339 var43.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var41.x2[0] + 1) >> 1;
1340 var43.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var41.x2[1] + 1) >> 1;
1357 video_convert_orc_convert_YUY2_I420 (guint8 * ORC_RESTRICT d1,
1358 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
1359 guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1,
1360 const guint8 * ORC_RESTRICT s2, int n)
1362 OrcExecutor _ex, *ex = &_ex;
1363 static volatile int p_inited = 0;
1364 static OrcCode *c = 0;
1365 void (*func) (OrcExecutor *);
1368 orc_once_mutex_lock ();
1373 static const orc_uint8 bc[] = {
1374 1, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
1375 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 89, 85, 89,
1376 50, 95, 73, 52, 50, 48, 11, 2, 2, 11, 2, 2, 11, 1, 1, 11,
1377 1, 1, 12, 4, 4, 12, 4, 4, 20, 2, 20, 2, 20, 2, 21, 1,
1378 199, 32, 34, 4, 97, 0, 34, 21, 1, 199, 33, 34, 5, 97, 1, 34,
1379 21, 1, 39, 32, 32, 33, 199, 3, 2, 32, 2, 0,
1381 p = orc_program_new_from_static_bytecode (bc);
1382 orc_program_set_backup_function (p,
1383 _backup_video_convert_orc_convert_YUY2_I420);
1385 p = orc_program_new ();
1386 orc_program_set_name (p, "video_convert_orc_convert_YUY2_I420");
1387 orc_program_set_backup_function (p,
1388 _backup_video_convert_orc_convert_YUY2_I420);
1389 orc_program_add_destination (p, 2, "d1");
1390 orc_program_add_destination (p, 2, "d2");
1391 orc_program_add_destination (p, 1, "d3");
1392 orc_program_add_destination (p, 1, "d4");
1393 orc_program_add_source (p, 4, "s1");
1394 orc_program_add_source (p, 4, "s2");
1395 orc_program_add_temporary (p, 2, "t1");
1396 orc_program_add_temporary (p, 2, "t2");
1397 orc_program_add_temporary (p, 2, "t3");
1399 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_S1,
1401 orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_D1,
1403 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_S2,
1405 orc_program_append_2 (p, "storew", 0, ORC_VAR_D2, ORC_VAR_T3, ORC_VAR_D1,
1407 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
1409 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D4, ORC_VAR_D3, ORC_VAR_T1,
1413 orc_program_compile (p);
1414 c = orc_program_take_code (p);
1415 orc_program_free (p);
1418 orc_once_mutex_unlock ();
1420 ex->arrays[ORC_VAR_A2] = c;
1424 ex->arrays[ORC_VAR_D1] = d1;
1425 ex->arrays[ORC_VAR_D2] = d2;
1426 ex->arrays[ORC_VAR_D3] = d3;
1427 ex->arrays[ORC_VAR_D4] = d4;
1428 ex->arrays[ORC_VAR_S1] = (void *) s1;
1429 ex->arrays[ORC_VAR_S2] = (void *) s2;
1437 /* video_convert_orc_convert_UYVY_YUY2 */
1440 video_convert_orc_convert_UYVY_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
1441 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
1445 orc_union32 *ORC_RESTRICT ptr0;
1446 const orc_union32 *ORC_RESTRICT ptr4;
1450 for (j = 0; j < m; j++) {
1451 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
1452 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
1455 for (i = 0; i < n; i++) {
1459 var33.x2[0] = ORC_SWAP_W (var32.x2[0]);
1460 var33.x2[1] = ORC_SWAP_W (var32.x2[1]);
1470 _backup_video_convert_orc_convert_UYVY_YUY2 (OrcExecutor * ORC_RESTRICT ex)
1475 int m = ex->params[ORC_VAR_A1];
1476 orc_union32 *ORC_RESTRICT ptr0;
1477 const orc_union32 *ORC_RESTRICT ptr4;
1481 for (j = 0; j < m; j++) {
1482 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
1483 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
1486 for (i = 0; i < n; i++) {
1490 var33.x2[0] = ORC_SWAP_W (var32.x2[0]);
1491 var33.x2[1] = ORC_SWAP_W (var32.x2[1]);
1500 video_convert_orc_convert_UYVY_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
1501 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
1503 OrcExecutor _ex, *ex = &_ex;
1504 static volatile int p_inited = 0;
1505 static OrcCode *c = 0;
1506 void (*func) (OrcExecutor *);
1509 orc_once_mutex_lock ();
1514 static const orc_uint8 bc[] = {
1515 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
1516 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 85, 89,
1517 86, 89, 95, 89, 85, 89, 50, 11, 4, 4, 12, 4, 4, 21, 1, 183,
1520 p = orc_program_new_from_static_bytecode (bc);
1521 orc_program_set_backup_function (p,
1522 _backup_video_convert_orc_convert_UYVY_YUY2);
1524 p = orc_program_new ();
1525 orc_program_set_2d (p);
1526 orc_program_set_name (p, "video_convert_orc_convert_UYVY_YUY2");
1527 orc_program_set_backup_function (p,
1528 _backup_video_convert_orc_convert_UYVY_YUY2);
1529 orc_program_add_destination (p, 4, "d1");
1530 orc_program_add_source (p, 4, "s1");
1532 orc_program_append_2 (p, "swapw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
1536 orc_program_compile (p);
1537 c = orc_program_take_code (p);
1538 orc_program_free (p);
1541 orc_once_mutex_unlock ();
1543 ex->arrays[ORC_VAR_A2] = c;
1547 ORC_EXECUTOR_M (ex) = m;
1548 ex->arrays[ORC_VAR_D1] = d1;
1549 ex->params[ORC_VAR_D1] = d1_stride;
1550 ex->arrays[ORC_VAR_S1] = (void *) s1;
1551 ex->params[ORC_VAR_S1] = s1_stride;
1559 /* video_convert_orc_planar_chroma_420_422 */
1562 video_convert_orc_planar_chroma_420_422 (guint8 * ORC_RESTRICT d1,
1563 int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride,
1564 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
1568 orc_int8 *ORC_RESTRICT ptr0;
1569 orc_int8 *ORC_RESTRICT ptr1;
1570 const orc_int8 *ORC_RESTRICT ptr4;
1576 for (j = 0; j < m; j++) {
1577 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
1578 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
1579 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
1582 for (i = 0; i < n; i++) {
1602 _backup_video_convert_orc_planar_chroma_420_422 (OrcExecutor * ORC_RESTRICT ex)
1607 int m = ex->params[ORC_VAR_A1];
1608 orc_int8 *ORC_RESTRICT ptr0;
1609 orc_int8 *ORC_RESTRICT ptr1;
1610 const orc_int8 *ORC_RESTRICT ptr4;
1616 for (j = 0; j < m; j++) {
1617 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
1618 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
1619 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
1622 for (i = 0; i < n; i++) {
1641 video_convert_orc_planar_chroma_420_422 (guint8 * ORC_RESTRICT d1,
1642 int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride,
1643 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
1645 OrcExecutor _ex, *ex = &_ex;
1646 static volatile int p_inited = 0;
1647 static OrcCode *c = 0;
1648 void (*func) (OrcExecutor *);
1651 orc_once_mutex_lock ();
1656 static const orc_uint8 bc[] = {
1657 1, 7, 9, 39, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
1658 116, 95, 111, 114, 99, 95, 112, 108, 97, 110, 97, 114, 95, 99, 104, 114,
1659 111, 109, 97, 95, 52, 50, 48, 95, 52, 50, 50, 11, 1, 1, 11, 1,
1660 1, 12, 1, 1, 42, 0, 4, 42, 1, 4, 2, 0,
1662 p = orc_program_new_from_static_bytecode (bc);
1663 orc_program_set_backup_function (p,
1664 _backup_video_convert_orc_planar_chroma_420_422);
1666 p = orc_program_new ();
1667 orc_program_set_2d (p);
1668 orc_program_set_name (p, "video_convert_orc_planar_chroma_420_422");
1669 orc_program_set_backup_function (p,
1670 _backup_video_convert_orc_planar_chroma_420_422);
1671 orc_program_add_destination (p, 1, "d1");
1672 orc_program_add_destination (p, 1, "d2");
1673 orc_program_add_source (p, 1, "s1");
1675 orc_program_append_2 (p, "copyb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
1677 orc_program_append_2 (p, "copyb", 0, ORC_VAR_D2, ORC_VAR_S1, ORC_VAR_D1,
1681 orc_program_compile (p);
1682 c = orc_program_take_code (p);
1683 orc_program_free (p);
1686 orc_once_mutex_unlock ();
1688 ex->arrays[ORC_VAR_A2] = c;
1692 ORC_EXECUTOR_M (ex) = m;
1693 ex->arrays[ORC_VAR_D1] = d1;
1694 ex->params[ORC_VAR_D1] = d1_stride;
1695 ex->arrays[ORC_VAR_D2] = d2;
1696 ex->params[ORC_VAR_D2] = d2_stride;
1697 ex->arrays[ORC_VAR_S1] = (void *) s1;
1698 ex->params[ORC_VAR_S1] = s1_stride;
1706 /* video_convert_orc_planar_chroma_420_444 */
1709 video_convert_orc_planar_chroma_420_444 (guint8 * ORC_RESTRICT d1,
1710 int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride,
1711 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
1715 orc_union16 *ORC_RESTRICT ptr0;
1716 orc_union16 *ORC_RESTRICT ptr1;
1717 const orc_int8 *ORC_RESTRICT ptr4;
1721 for (j = 0; j < m; j++) {
1722 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
1723 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
1724 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
1727 for (i = 0; i < n; i++) {
1731 var34.i = ((var33 & 0xff) << 8) | (var33 & 0xff);
1743 _backup_video_convert_orc_planar_chroma_420_444 (OrcExecutor * ORC_RESTRICT ex)
1748 int m = ex->params[ORC_VAR_A1];
1749 orc_union16 *ORC_RESTRICT ptr0;
1750 orc_union16 *ORC_RESTRICT ptr1;
1751 const orc_int8 *ORC_RESTRICT ptr4;
1755 for (j = 0; j < m; j++) {
1756 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
1757 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
1758 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
1761 for (i = 0; i < n; i++) {
1765 var34.i = ((var33 & 0xff) << 8) | (var33 & 0xff);
1776 video_convert_orc_planar_chroma_420_444 (guint8 * ORC_RESTRICT d1,
1777 int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride,
1778 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
1780 OrcExecutor _ex, *ex = &_ex;
1781 static volatile int p_inited = 0;
1782 static OrcCode *c = 0;
1783 void (*func) (OrcExecutor *);
1786 orc_once_mutex_lock ();
1791 static const orc_uint8 bc[] = {
1792 1, 7, 9, 39, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
1793 116, 95, 111, 114, 99, 95, 112, 108, 97, 110, 97, 114, 95, 99, 104, 114,
1794 111, 109, 97, 95, 52, 50, 48, 95, 52, 52, 52, 11, 2, 2, 11, 2,
1795 2, 12, 1, 1, 20, 2, 151, 32, 4, 97, 0, 32, 97, 1, 32, 2,
1798 p = orc_program_new_from_static_bytecode (bc);
1799 orc_program_set_backup_function (p,
1800 _backup_video_convert_orc_planar_chroma_420_444);
1802 p = orc_program_new ();
1803 orc_program_set_2d (p);
1804 orc_program_set_name (p, "video_convert_orc_planar_chroma_420_444");
1805 orc_program_set_backup_function (p,
1806 _backup_video_convert_orc_planar_chroma_420_444);
1807 orc_program_add_destination (p, 2, "d1");
1808 orc_program_add_destination (p, 2, "d2");
1809 orc_program_add_source (p, 1, "s1");
1810 orc_program_add_temporary (p, 2, "t1");
1812 orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1814 orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
1816 orc_program_append_2 (p, "storew", 0, ORC_VAR_D2, ORC_VAR_T1, ORC_VAR_D1,
1820 orc_program_compile (p);
1821 c = orc_program_take_code (p);
1822 orc_program_free (p);
1825 orc_once_mutex_unlock ();
1827 ex->arrays[ORC_VAR_A2] = c;
1831 ORC_EXECUTOR_M (ex) = m;
1832 ex->arrays[ORC_VAR_D1] = d1;
1833 ex->params[ORC_VAR_D1] = d1_stride;
1834 ex->arrays[ORC_VAR_D2] = d2;
1835 ex->params[ORC_VAR_D2] = d2_stride;
1836 ex->arrays[ORC_VAR_S1] = (void *) s1;
1837 ex->params[ORC_VAR_S1] = s1_stride;
1845 /* video_convert_orc_planar_chroma_422_444 */
1848 video_convert_orc_planar_chroma_422_444 (guint8 * ORC_RESTRICT d1,
1849 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
1853 orc_union16 *ORC_RESTRICT ptr0;
1854 const orc_int8 *ORC_RESTRICT ptr4;
1858 for (j = 0; j < m; j++) {
1859 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
1860 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
1863 for (i = 0; i < n; i++) {
1867 var34.i = ((var33 & 0xff) << 8) | (var33 & 0xff);
1877 _backup_video_convert_orc_planar_chroma_422_444 (OrcExecutor * ORC_RESTRICT ex)
1882 int m = ex->params[ORC_VAR_A1];
1883 orc_union16 *ORC_RESTRICT ptr0;
1884 const orc_int8 *ORC_RESTRICT ptr4;
1888 for (j = 0; j < m; j++) {
1889 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
1890 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
1893 for (i = 0; i < n; i++) {
1897 var34.i = ((var33 & 0xff) << 8) | (var33 & 0xff);
1906 video_convert_orc_planar_chroma_422_444 (guint8 * ORC_RESTRICT d1,
1907 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
1909 OrcExecutor _ex, *ex = &_ex;
1910 static volatile int p_inited = 0;
1911 static OrcCode *c = 0;
1912 void (*func) (OrcExecutor *);
1915 orc_once_mutex_lock ();
1920 static const orc_uint8 bc[] = {
1921 1, 7, 9, 39, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
1922 116, 95, 111, 114, 99, 95, 112, 108, 97, 110, 97, 114, 95, 99, 104, 114,
1923 111, 109, 97, 95, 52, 50, 50, 95, 52, 52, 52, 11, 2, 2, 12, 1,
1924 1, 20, 2, 151, 32, 4, 97, 0, 32, 2, 0,
1926 p = orc_program_new_from_static_bytecode (bc);
1927 orc_program_set_backup_function (p,
1928 _backup_video_convert_orc_planar_chroma_422_444);
1930 p = orc_program_new ();
1931 orc_program_set_2d (p);
1932 orc_program_set_name (p, "video_convert_orc_planar_chroma_422_444");
1933 orc_program_set_backup_function (p,
1934 _backup_video_convert_orc_planar_chroma_422_444);
1935 orc_program_add_destination (p, 2, "d1");
1936 orc_program_add_source (p, 1, "s1");
1937 orc_program_add_temporary (p, 2, "t1");
1939 orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1941 orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
1945 orc_program_compile (p);
1946 c = orc_program_take_code (p);
1947 orc_program_free (p);
1950 orc_once_mutex_unlock ();
1952 ex->arrays[ORC_VAR_A2] = c;
1956 ORC_EXECUTOR_M (ex) = m;
1957 ex->arrays[ORC_VAR_D1] = d1;
1958 ex->params[ORC_VAR_D1] = d1_stride;
1959 ex->arrays[ORC_VAR_S1] = (void *) s1;
1960 ex->params[ORC_VAR_S1] = s1_stride;
1968 /* video_convert_orc_planar_chroma_444_422 */
1971 video_convert_orc_planar_chroma_444_422 (guint8 * ORC_RESTRICT d1,
1972 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
1976 orc_int8 *ORC_RESTRICT ptr0;
1977 const orc_union16 *ORC_RESTRICT ptr4;
1983 for (j = 0; j < m; j++) {
1984 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
1985 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
1988 for (i = 0; i < n; i++) {
1999 var35 = ((orc_uint8) var36 + (orc_uint8) var37 + 1) >> 1;
2009 _backup_video_convert_orc_planar_chroma_444_422 (OrcExecutor * ORC_RESTRICT ex)
2014 int m = ex->params[ORC_VAR_A1];
2015 orc_int8 *ORC_RESTRICT ptr0;
2016 const orc_union16 *ORC_RESTRICT ptr4;
2022 for (j = 0; j < m; j++) {
2023 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
2024 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
2027 for (i = 0; i < n; i++) {
2038 var35 = ((orc_uint8) var36 + (orc_uint8) var37 + 1) >> 1;
2047 video_convert_orc_planar_chroma_444_422 (guint8 * ORC_RESTRICT d1,
2048 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
2050 OrcExecutor _ex, *ex = &_ex;
2051 static volatile int p_inited = 0;
2052 static OrcCode *c = 0;
2053 void (*func) (OrcExecutor *);
2056 orc_once_mutex_lock ();
2061 static const orc_uint8 bc[] = {
2062 1, 7, 9, 39, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
2063 116, 95, 111, 114, 99, 95, 112, 108, 97, 110, 97, 114, 95, 99, 104, 114,
2064 111, 109, 97, 95, 52, 52, 52, 95, 52, 50, 50, 11, 1, 1, 12, 2,
2065 2, 20, 1, 20, 1, 199, 32, 33, 4, 39, 0, 32, 33, 2, 0,
2067 p = orc_program_new_from_static_bytecode (bc);
2068 orc_program_set_backup_function (p,
2069 _backup_video_convert_orc_planar_chroma_444_422);
2071 p = orc_program_new ();
2072 orc_program_set_2d (p);
2073 orc_program_set_name (p, "video_convert_orc_planar_chroma_444_422");
2074 orc_program_set_backup_function (p,
2075 _backup_video_convert_orc_planar_chroma_444_422);
2076 orc_program_add_destination (p, 1, "d1");
2077 orc_program_add_source (p, 2, "s1");
2078 orc_program_add_temporary (p, 1, "t1");
2079 orc_program_add_temporary (p, 1, "t2");
2081 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_S1,
2083 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
2087 orc_program_compile (p);
2088 c = orc_program_take_code (p);
2089 orc_program_free (p);
2092 orc_once_mutex_unlock ();
2094 ex->arrays[ORC_VAR_A2] = c;
2098 ORC_EXECUTOR_M (ex) = m;
2099 ex->arrays[ORC_VAR_D1] = d1;
2100 ex->params[ORC_VAR_D1] = d1_stride;
2101 ex->arrays[ORC_VAR_S1] = (void *) s1;
2102 ex->params[ORC_VAR_S1] = s1_stride;
2110 /* video_convert_orc_planar_chroma_444_420 */
2113 video_convert_orc_planar_chroma_444_420 (guint8 * ORC_RESTRICT d1,
2114 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride,
2115 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
2119 orc_int8 *ORC_RESTRICT ptr0;
2120 const orc_union16 *ORC_RESTRICT ptr4;
2121 const orc_union16 *ORC_RESTRICT ptr5;
2129 for (j = 0; j < m; j++) {
2130 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
2131 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
2132 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
2135 for (i = 0; i < n; i++) {
2142 ((orc_uint8) var35.x2[0] + (orc_uint8) var36.x2[0] + 1) >> 1;
2144 ((orc_uint8) var35.x2[1] + (orc_uint8) var36.x2[1] + 1) >> 1;
2153 var37 = ((orc_uint8) var39 + (orc_uint8) var40 + 1) >> 1;
2163 _backup_video_convert_orc_planar_chroma_444_420 (OrcExecutor * ORC_RESTRICT ex)
2168 int m = ex->params[ORC_VAR_A1];
2169 orc_int8 *ORC_RESTRICT ptr0;
2170 const orc_union16 *ORC_RESTRICT ptr4;
2171 const orc_union16 *ORC_RESTRICT ptr5;
2179 for (j = 0; j < m; j++) {
2180 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
2181 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
2182 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
2185 for (i = 0; i < n; i++) {
2192 ((orc_uint8) var35.x2[0] + (orc_uint8) var36.x2[0] + 1) >> 1;
2194 ((orc_uint8) var35.x2[1] + (orc_uint8) var36.x2[1] + 1) >> 1;
2203 var37 = ((orc_uint8) var39 + (orc_uint8) var40 + 1) >> 1;
2212 video_convert_orc_planar_chroma_444_420 (guint8 * ORC_RESTRICT d1,
2213 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride,
2214 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
2216 OrcExecutor _ex, *ex = &_ex;
2217 static volatile int p_inited = 0;
2218 static OrcCode *c = 0;
2219 void (*func) (OrcExecutor *);
2222 orc_once_mutex_lock ();
2227 static const orc_uint8 bc[] = {
2228 1, 7, 9, 39, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
2229 116, 95, 111, 114, 99, 95, 112, 108, 97, 110, 97, 114, 95, 99, 104, 114,
2230 111, 109, 97, 95, 52, 52, 52, 95, 52, 50, 48, 11, 1, 1, 12, 2,
2231 2, 12, 2, 2, 20, 2, 20, 1, 20, 1, 21, 1, 39, 32, 4, 5,
2232 199, 33, 34, 32, 39, 0, 33, 34, 2, 0,
2234 p = orc_program_new_from_static_bytecode (bc);
2235 orc_program_set_backup_function (p,
2236 _backup_video_convert_orc_planar_chroma_444_420);
2238 p = orc_program_new ();
2239 orc_program_set_2d (p);
2240 orc_program_set_name (p, "video_convert_orc_planar_chroma_444_420");
2241 orc_program_set_backup_function (p,
2242 _backup_video_convert_orc_planar_chroma_444_420);
2243 orc_program_add_destination (p, 1, "d1");
2244 orc_program_add_source (p, 2, "s1");
2245 orc_program_add_source (p, 2, "s2");
2246 orc_program_add_temporary (p, 2, "t1");
2247 orc_program_add_temporary (p, 1, "t2");
2248 orc_program_add_temporary (p, 1, "t3");
2250 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_S2,
2252 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T1,
2254 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
2258 orc_program_compile (p);
2259 c = orc_program_take_code (p);
2260 orc_program_free (p);
2263 orc_once_mutex_unlock ();
2265 ex->arrays[ORC_VAR_A2] = c;
2269 ORC_EXECUTOR_M (ex) = m;
2270 ex->arrays[ORC_VAR_D1] = d1;
2271 ex->params[ORC_VAR_D1] = d1_stride;
2272 ex->arrays[ORC_VAR_S1] = (void *) s1;
2273 ex->params[ORC_VAR_S1] = s1_stride;
2274 ex->arrays[ORC_VAR_S2] = (void *) s2;
2275 ex->params[ORC_VAR_S2] = s2_stride;
2283 /* video_convert_orc_planar_chroma_422_420 */
2286 video_convert_orc_planar_chroma_422_420 (guint8 * ORC_RESTRICT d1,
2287 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride,
2288 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
2292 orc_int8 *ORC_RESTRICT ptr0;
2293 const orc_int8 *ORC_RESTRICT ptr4;
2294 const orc_int8 *ORC_RESTRICT ptr5;
2299 for (j = 0; j < m; j++) {
2300 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
2301 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
2302 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
2305 for (i = 0; i < n; i++) {
2311 var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
2321 _backup_video_convert_orc_planar_chroma_422_420 (OrcExecutor * ORC_RESTRICT ex)
2326 int m = ex->params[ORC_VAR_A1];
2327 orc_int8 *ORC_RESTRICT ptr0;
2328 const orc_int8 *ORC_RESTRICT ptr4;
2329 const orc_int8 *ORC_RESTRICT ptr5;
2334 for (j = 0; j < m; j++) {
2335 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
2336 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
2337 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
2340 for (i = 0; i < n; i++) {
2346 var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
2355 video_convert_orc_planar_chroma_422_420 (guint8 * ORC_RESTRICT d1,
2356 int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride,
2357 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
2359 OrcExecutor _ex, *ex = &_ex;
2360 static volatile int p_inited = 0;
2361 static OrcCode *c = 0;
2362 void (*func) (OrcExecutor *);
2365 orc_once_mutex_lock ();
2370 static const orc_uint8 bc[] = {
2371 1, 7, 9, 39, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
2372 116, 95, 111, 114, 99, 95, 112, 108, 97, 110, 97, 114, 95, 99, 104, 114,
2373 111, 109, 97, 95, 52, 50, 50, 95, 52, 50, 48, 11, 1, 1, 12, 1,
2374 1, 12, 1, 1, 39, 0, 4, 5, 2, 0,
2376 p = orc_program_new_from_static_bytecode (bc);
2377 orc_program_set_backup_function (p,
2378 _backup_video_convert_orc_planar_chroma_422_420);
2380 p = orc_program_new ();
2381 orc_program_set_2d (p);
2382 orc_program_set_name (p, "video_convert_orc_planar_chroma_422_420");
2383 orc_program_set_backup_function (p,
2384 _backup_video_convert_orc_planar_chroma_422_420);
2385 orc_program_add_destination (p, 1, "d1");
2386 orc_program_add_source (p, 1, "s1");
2387 orc_program_add_source (p, 1, "s2");
2389 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2,
2393 orc_program_compile (p);
2394 c = orc_program_take_code (p);
2395 orc_program_free (p);
2398 orc_once_mutex_unlock ();
2400 ex->arrays[ORC_VAR_A2] = c;
2404 ORC_EXECUTOR_M (ex) = m;
2405 ex->arrays[ORC_VAR_D1] = d1;
2406 ex->params[ORC_VAR_D1] = d1_stride;
2407 ex->arrays[ORC_VAR_S1] = (void *) s1;
2408 ex->params[ORC_VAR_S1] = s1_stride;
2409 ex->arrays[ORC_VAR_S2] = (void *) s2;
2410 ex->params[ORC_VAR_S2] = s2_stride;
2418 /* video_convert_orc_convert_YUY2_AYUV */
2421 video_convert_orc_convert_YUY2_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
2422 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
2426 orc_union64 *ORC_RESTRICT ptr0;
2427 const orc_union32 *ORC_RESTRICT ptr4;
2429 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2430 volatile orc_union16 var37;
2440 for (j = 0; j < m; j++) {
2441 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
2442 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
2445 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2446 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2448 for (i = 0; i < n; i++) {
2454 _src.i = var36.x2[0];
2455 var39.x2[0] = _src.x2[1];
2456 var40.x2[0] = _src.x2[0];
2460 _src.i = var36.x2[1];
2461 var39.x2[1] = _src.x2[1];
2462 var40.x2[1] = _src.x2[0];
2467 _dest.x2[0] = var37.x2[0];
2468 _dest.x2[1] = var40.x2[0];
2469 var41.x2[0] = _dest.i;
2473 _dest.x2[0] = var37.x2[1];
2474 _dest.x2[1] = var40.x2[1];
2475 var41.x2[1] = _dest.i;
2480 _dest.x2[0] = var39.i;
2481 _dest.x2[1] = var39.i;
2487 _dest.x2[0] = var41.x2[0];
2488 _dest.x2[1] = var42.x2[0];
2489 var38.x2[0] = _dest.i;
2493 _dest.x2[0] = var41.x2[1];
2494 _dest.x2[1] = var42.x2[1];
2495 var38.x2[1] = _dest.i;
2506 _backup_video_convert_orc_convert_YUY2_AYUV (OrcExecutor * ORC_RESTRICT ex)
2511 int m = ex->params[ORC_VAR_A1];
2512 orc_union64 *ORC_RESTRICT ptr0;
2513 const orc_union32 *ORC_RESTRICT ptr4;
2515 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2516 volatile orc_union16 var37;
2526 for (j = 0; j < m; j++) {
2527 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
2528 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
2531 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2532 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2534 for (i = 0; i < n; i++) {
2540 _src.i = var36.x2[0];
2541 var39.x2[0] = _src.x2[1];
2542 var40.x2[0] = _src.x2[0];
2546 _src.i = var36.x2[1];
2547 var39.x2[1] = _src.x2[1];
2548 var40.x2[1] = _src.x2[0];
2553 _dest.x2[0] = var37.x2[0];
2554 _dest.x2[1] = var40.x2[0];
2555 var41.x2[0] = _dest.i;
2559 _dest.x2[0] = var37.x2[1];
2560 _dest.x2[1] = var40.x2[1];
2561 var41.x2[1] = _dest.i;
2566 _dest.x2[0] = var39.i;
2567 _dest.x2[1] = var39.i;
2573 _dest.x2[0] = var41.x2[0];
2574 _dest.x2[1] = var42.x2[0];
2575 var38.x2[0] = _dest.i;
2579 _dest.x2[0] = var41.x2[1];
2580 _dest.x2[1] = var42.x2[1];
2581 var38.x2[1] = _dest.i;
2591 video_convert_orc_convert_YUY2_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
2592 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
2594 OrcExecutor _ex, *ex = &_ex;
2595 static volatile int p_inited = 0;
2596 static OrcCode *c = 0;
2597 void (*func) (OrcExecutor *);
2600 orc_once_mutex_lock ();
2605 static const orc_uint8 bc[] = {
2606 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
2607 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 89, 85,
2608 89, 50, 95, 65, 89, 85, 86, 11, 8, 8, 12, 4, 4, 14, 2, 255,
2609 0, 0, 0, 20, 2, 20, 2, 20, 4, 20, 4, 21, 1, 199, 33, 32,
2610 4, 21, 1, 196, 34, 16, 32, 195, 35, 33, 33, 21, 1, 195, 0, 34,
2613 p = orc_program_new_from_static_bytecode (bc);
2614 orc_program_set_backup_function (p,
2615 _backup_video_convert_orc_convert_YUY2_AYUV);
2617 p = orc_program_new ();
2618 orc_program_set_2d (p);
2619 orc_program_set_name (p, "video_convert_orc_convert_YUY2_AYUV");
2620 orc_program_set_backup_function (p,
2621 _backup_video_convert_orc_convert_YUY2_AYUV);
2622 orc_program_add_destination (p, 8, "d1");
2623 orc_program_add_source (p, 4, "s1");
2624 orc_program_add_constant (p, 2, 0x000000ff, "c1");
2625 orc_program_add_temporary (p, 2, "t1");
2626 orc_program_add_temporary (p, 2, "t2");
2627 orc_program_add_temporary (p, 4, "t3");
2628 orc_program_add_temporary (p, 4, "t4");
2630 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
2632 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
2634 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
2636 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
2640 orc_program_compile (p);
2641 c = orc_program_take_code (p);
2642 orc_program_free (p);
2645 orc_once_mutex_unlock ();
2647 ex->arrays[ORC_VAR_A2] = c;
2651 ORC_EXECUTOR_M (ex) = m;
2652 ex->arrays[ORC_VAR_D1] = d1;
2653 ex->params[ORC_VAR_D1] = d1_stride;
2654 ex->arrays[ORC_VAR_S1] = (void *) s1;
2655 ex->params[ORC_VAR_S1] = s1_stride;
2663 /* video_convert_orc_convert_UYVY_AYUV */
2666 video_convert_orc_convert_UYVY_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
2667 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
2671 orc_union64 *ORC_RESTRICT ptr0;
2672 const orc_union32 *ORC_RESTRICT ptr4;
2674 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2675 volatile orc_union16 var37;
2685 for (j = 0; j < m; j++) {
2686 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
2687 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
2690 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2691 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2693 for (i = 0; i < n; i++) {
2699 _src.i = var36.x2[0];
2700 var39.x2[0] = _src.x2[1];
2701 var40.x2[0] = _src.x2[0];
2705 _src.i = var36.x2[1];
2706 var39.x2[1] = _src.x2[1];
2707 var40.x2[1] = _src.x2[0];
2712 _dest.x2[0] = var37.x2[0];
2713 _dest.x2[1] = var39.x2[0];
2714 var41.x2[0] = _dest.i;
2718 _dest.x2[0] = var37.x2[1];
2719 _dest.x2[1] = var39.x2[1];
2720 var41.x2[1] = _dest.i;
2725 _dest.x2[0] = var40.i;
2726 _dest.x2[1] = var40.i;
2732 _dest.x2[0] = var41.x2[0];
2733 _dest.x2[1] = var42.x2[0];
2734 var38.x2[0] = _dest.i;
2738 _dest.x2[0] = var41.x2[1];
2739 _dest.x2[1] = var42.x2[1];
2740 var38.x2[1] = _dest.i;
2751 _backup_video_convert_orc_convert_UYVY_AYUV (OrcExecutor * ORC_RESTRICT ex)
2756 int m = ex->params[ORC_VAR_A1];
2757 orc_union64 *ORC_RESTRICT ptr0;
2758 const orc_union32 *ORC_RESTRICT ptr4;
2760 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
2761 volatile orc_union16 var37;
2771 for (j = 0; j < m; j++) {
2772 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
2773 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
2776 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2777 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2779 for (i = 0; i < n; i++) {
2785 _src.i = var36.x2[0];
2786 var39.x2[0] = _src.x2[1];
2787 var40.x2[0] = _src.x2[0];
2791 _src.i = var36.x2[1];
2792 var39.x2[1] = _src.x2[1];
2793 var40.x2[1] = _src.x2[0];
2798 _dest.x2[0] = var37.x2[0];
2799 _dest.x2[1] = var39.x2[0];
2800 var41.x2[0] = _dest.i;
2804 _dest.x2[0] = var37.x2[1];
2805 _dest.x2[1] = var39.x2[1];
2806 var41.x2[1] = _dest.i;
2811 _dest.x2[0] = var40.i;
2812 _dest.x2[1] = var40.i;
2818 _dest.x2[0] = var41.x2[0];
2819 _dest.x2[1] = var42.x2[0];
2820 var38.x2[0] = _dest.i;
2824 _dest.x2[0] = var41.x2[1];
2825 _dest.x2[1] = var42.x2[1];
2826 var38.x2[1] = _dest.i;
2836 video_convert_orc_convert_UYVY_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
2837 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
2839 OrcExecutor _ex, *ex = &_ex;
2840 static volatile int p_inited = 0;
2841 static OrcCode *c = 0;
2842 void (*func) (OrcExecutor *);
2845 orc_once_mutex_lock ();
2850 static const orc_uint8 bc[] = {
2851 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
2852 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 85, 89,
2853 86, 89, 95, 65, 89, 85, 86, 11, 8, 8, 12, 4, 4, 14, 2, 255,
2854 0, 0, 0, 20, 2, 20, 2, 20, 4, 20, 4, 21, 1, 199, 32, 33,
2855 4, 21, 1, 196, 34, 16, 32, 195, 35, 33, 33, 21, 1, 195, 0, 34,
2858 p = orc_program_new_from_static_bytecode (bc);
2859 orc_program_set_backup_function (p,
2860 _backup_video_convert_orc_convert_UYVY_AYUV);
2862 p = orc_program_new ();
2863 orc_program_set_2d (p);
2864 orc_program_set_name (p, "video_convert_orc_convert_UYVY_AYUV");
2865 orc_program_set_backup_function (p,
2866 _backup_video_convert_orc_convert_UYVY_AYUV);
2867 orc_program_add_destination (p, 8, "d1");
2868 orc_program_add_source (p, 4, "s1");
2869 orc_program_add_constant (p, 2, 0x000000ff, "c1");
2870 orc_program_add_temporary (p, 2, "t1");
2871 orc_program_add_temporary (p, 2, "t2");
2872 orc_program_add_temporary (p, 4, "t3");
2873 orc_program_add_temporary (p, 4, "t4");
2875 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_S1,
2877 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
2879 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
2881 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
2885 orc_program_compile (p);
2886 c = orc_program_take_code (p);
2887 orc_program_free (p);
2890 orc_once_mutex_unlock ();
2892 ex->arrays[ORC_VAR_A2] = c;
2896 ORC_EXECUTOR_M (ex) = m;
2897 ex->arrays[ORC_VAR_D1] = d1;
2898 ex->params[ORC_VAR_D1] = d1_stride;
2899 ex->arrays[ORC_VAR_S1] = (void *) s1;
2900 ex->params[ORC_VAR_S1] = s1_stride;
2908 /* video_convert_orc_convert_YUY2_Y42B */
2911 video_convert_orc_convert_YUY2_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
2912 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
2913 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
2917 orc_union16 *ORC_RESTRICT ptr0;
2918 orc_int8 *ORC_RESTRICT ptr1;
2919 orc_int8 *ORC_RESTRICT ptr2;
2920 const orc_union32 *ORC_RESTRICT ptr4;
2927 for (j = 0; j < m; j++) {
2928 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
2929 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
2930 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
2931 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
2934 for (i = 0; i < n; i++) {
2940 _src.i = var33.x2[0];
2941 var37.x2[0] = _src.x2[1];
2942 var34.x2[0] = _src.x2[0];
2946 _src.i = var33.x2[1];
2947 var37.x2[1] = _src.x2[1];
2948 var34.x2[1] = _src.x2[0];
2970 _backup_video_convert_orc_convert_YUY2_Y42B (OrcExecutor * ORC_RESTRICT ex)
2975 int m = ex->params[ORC_VAR_A1];
2976 orc_union16 *ORC_RESTRICT ptr0;
2977 orc_int8 *ORC_RESTRICT ptr1;
2978 orc_int8 *ORC_RESTRICT ptr2;
2979 const orc_union32 *ORC_RESTRICT ptr4;
2986 for (j = 0; j < m; j++) {
2987 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
2988 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
2989 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
2990 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
2993 for (i = 0; i < n; i++) {
2999 _src.i = var33.x2[0];
3000 var37.x2[0] = _src.x2[1];
3001 var34.x2[0] = _src.x2[0];
3005 _src.i = var33.x2[1];
3006 var37.x2[1] = _src.x2[1];
3007 var34.x2[1] = _src.x2[0];
3028 video_convert_orc_convert_YUY2_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
3029 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
3030 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
3032 OrcExecutor _ex, *ex = &_ex;
3033 static volatile int p_inited = 0;
3034 static OrcCode *c = 0;
3035 void (*func) (OrcExecutor *);
3038 orc_once_mutex_lock ();
3043 static const orc_uint8 bc[] = {
3044 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
3045 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 89, 85,
3046 89, 50, 95, 89, 52, 50, 66, 11, 2, 2, 11, 1, 1, 11, 1, 1,
3047 12, 4, 4, 20, 2, 21, 1, 199, 32, 0, 4, 199, 2, 1, 32, 2,
3050 p = orc_program_new_from_static_bytecode (bc);
3051 orc_program_set_backup_function (p,
3052 _backup_video_convert_orc_convert_YUY2_Y42B);
3054 p = orc_program_new ();
3055 orc_program_set_2d (p);
3056 orc_program_set_name (p, "video_convert_orc_convert_YUY2_Y42B");
3057 orc_program_set_backup_function (p,
3058 _backup_video_convert_orc_convert_YUY2_Y42B);
3059 orc_program_add_destination (p, 2, "d1");
3060 orc_program_add_destination (p, 1, "d2");
3061 orc_program_add_destination (p, 1, "d3");
3062 orc_program_add_source (p, 4, "s1");
3063 orc_program_add_temporary (p, 2, "t1");
3065 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_S1,
3067 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T1,
3071 orc_program_compile (p);
3072 c = orc_program_take_code (p);
3073 orc_program_free (p);
3076 orc_once_mutex_unlock ();
3078 ex->arrays[ORC_VAR_A2] = c;
3082 ORC_EXECUTOR_M (ex) = m;
3083 ex->arrays[ORC_VAR_D1] = d1;
3084 ex->params[ORC_VAR_D1] = d1_stride;
3085 ex->arrays[ORC_VAR_D2] = d2;
3086 ex->params[ORC_VAR_D2] = d2_stride;
3087 ex->arrays[ORC_VAR_D3] = d3;
3088 ex->params[ORC_VAR_D3] = d3_stride;
3089 ex->arrays[ORC_VAR_S1] = (void *) s1;
3090 ex->params[ORC_VAR_S1] = s1_stride;
3098 /* video_convert_orc_convert_UYVY_Y42B */
3101 video_convert_orc_convert_UYVY_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
3102 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
3103 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
3107 orc_union16 *ORC_RESTRICT ptr0;
3108 orc_int8 *ORC_RESTRICT ptr1;
3109 orc_int8 *ORC_RESTRICT ptr2;
3110 const orc_union32 *ORC_RESTRICT ptr4;
3117 for (j = 0; j < m; j++) {
3118 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
3119 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
3120 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
3121 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
3124 for (i = 0; i < n; i++) {
3130 _src.i = var33.x2[0];
3131 var34.x2[0] = _src.x2[1];
3132 var37.x2[0] = _src.x2[0];
3136 _src.i = var33.x2[1];
3137 var34.x2[1] = _src.x2[1];
3138 var37.x2[1] = _src.x2[0];
3160 _backup_video_convert_orc_convert_UYVY_Y42B (OrcExecutor * ORC_RESTRICT ex)
3165 int m = ex->params[ORC_VAR_A1];
3166 orc_union16 *ORC_RESTRICT ptr0;
3167 orc_int8 *ORC_RESTRICT ptr1;
3168 orc_int8 *ORC_RESTRICT ptr2;
3169 const orc_union32 *ORC_RESTRICT ptr4;
3176 for (j = 0; j < m; j++) {
3177 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
3178 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
3179 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
3180 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
3183 for (i = 0; i < n; i++) {
3189 _src.i = var33.x2[0];
3190 var34.x2[0] = _src.x2[1];
3191 var37.x2[0] = _src.x2[0];
3195 _src.i = var33.x2[1];
3196 var34.x2[1] = _src.x2[1];
3197 var37.x2[1] = _src.x2[0];
3218 video_convert_orc_convert_UYVY_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
3219 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
3220 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
3222 OrcExecutor _ex, *ex = &_ex;
3223 static volatile int p_inited = 0;
3224 static OrcCode *c = 0;
3225 void (*func) (OrcExecutor *);
3228 orc_once_mutex_lock ();
3233 static const orc_uint8 bc[] = {
3234 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
3235 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 85, 89,
3236 86, 89, 95, 89, 52, 50, 66, 11, 2, 2, 11, 1, 1, 11, 1, 1,
3237 12, 4, 4, 20, 2, 21, 1, 199, 0, 32, 4, 199, 2, 1, 32, 2,
3240 p = orc_program_new_from_static_bytecode (bc);
3241 orc_program_set_backup_function (p,
3242 _backup_video_convert_orc_convert_UYVY_Y42B);
3244 p = orc_program_new ();
3245 orc_program_set_2d (p);
3246 orc_program_set_name (p, "video_convert_orc_convert_UYVY_Y42B");
3247 orc_program_set_backup_function (p,
3248 _backup_video_convert_orc_convert_UYVY_Y42B);
3249 orc_program_add_destination (p, 2, "d1");
3250 orc_program_add_destination (p, 1, "d2");
3251 orc_program_add_destination (p, 1, "d3");
3252 orc_program_add_source (p, 4, "s1");
3253 orc_program_add_temporary (p, 2, "t1");
3255 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
3257 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T1,
3261 orc_program_compile (p);
3262 c = orc_program_take_code (p);
3263 orc_program_free (p);
3266 orc_once_mutex_unlock ();
3268 ex->arrays[ORC_VAR_A2] = c;
3272 ORC_EXECUTOR_M (ex) = m;
3273 ex->arrays[ORC_VAR_D1] = d1;
3274 ex->params[ORC_VAR_D1] = d1_stride;
3275 ex->arrays[ORC_VAR_D2] = d2;
3276 ex->params[ORC_VAR_D2] = d2_stride;
3277 ex->arrays[ORC_VAR_D3] = d3;
3278 ex->params[ORC_VAR_D3] = d3_stride;
3279 ex->arrays[ORC_VAR_S1] = (void *) s1;
3280 ex->params[ORC_VAR_S1] = s1_stride;
3288 /* video_convert_orc_convert_YUY2_Y444 */
3291 video_convert_orc_convert_YUY2_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
3292 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
3293 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
3297 orc_union16 *ORC_RESTRICT ptr0;
3298 orc_union16 *ORC_RESTRICT ptr1;
3299 orc_union16 *ORC_RESTRICT ptr2;
3300 const orc_union32 *ORC_RESTRICT ptr4;
3309 for (j = 0; j < m; j++) {
3310 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
3311 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
3312 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
3313 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
3316 for (i = 0; i < n; i++) {
3322 _src.i = var35.x2[0];
3323 var39.x2[0] = _src.x2[1];
3324 var36.x2[0] = _src.x2[0];
3328 _src.i = var35.x2[1];
3329 var39.x2[1] = _src.x2[1];
3330 var36.x2[1] = _src.x2[0];
3342 var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
3346 var38.i = ((var40 & 0xff) << 8) | (var40 & 0xff);
3356 _backup_video_convert_orc_convert_YUY2_Y444 (OrcExecutor * ORC_RESTRICT ex)
3361 int m = ex->params[ORC_VAR_A1];
3362 orc_union16 *ORC_RESTRICT ptr0;
3363 orc_union16 *ORC_RESTRICT ptr1;
3364 orc_union16 *ORC_RESTRICT ptr2;
3365 const orc_union32 *ORC_RESTRICT ptr4;
3374 for (j = 0; j < m; j++) {
3375 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
3376 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
3377 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
3378 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
3381 for (i = 0; i < n; i++) {
3387 _src.i = var35.x2[0];
3388 var39.x2[0] = _src.x2[1];
3389 var36.x2[0] = _src.x2[0];
3393 _src.i = var35.x2[1];
3394 var39.x2[1] = _src.x2[1];
3395 var36.x2[1] = _src.x2[0];
3407 var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
3411 var38.i = ((var40 & 0xff) << 8) | (var40 & 0xff);
3420 video_convert_orc_convert_YUY2_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
3421 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
3422 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
3424 OrcExecutor _ex, *ex = &_ex;
3425 static volatile int p_inited = 0;
3426 static OrcCode *c = 0;
3427 void (*func) (OrcExecutor *);
3430 orc_once_mutex_lock ();
3435 static const orc_uint8 bc[] = {
3436 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
3437 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 89, 85,
3438 89, 50, 95, 89, 52, 52, 52, 11, 2, 2, 11, 2, 2, 11, 2, 2,
3439 12, 4, 4, 20, 2, 20, 1, 20, 1, 21, 1, 199, 32, 0, 4, 199,
3440 34, 33, 32, 151, 1, 33, 151, 2, 34, 2, 0,
3442 p = orc_program_new_from_static_bytecode (bc);
3443 orc_program_set_backup_function (p,
3444 _backup_video_convert_orc_convert_YUY2_Y444);
3446 p = orc_program_new ();
3447 orc_program_set_2d (p);
3448 orc_program_set_name (p, "video_convert_orc_convert_YUY2_Y444");
3449 orc_program_set_backup_function (p,
3450 _backup_video_convert_orc_convert_YUY2_Y444);
3451 orc_program_add_destination (p, 2, "d1");
3452 orc_program_add_destination (p, 2, "d2");
3453 orc_program_add_destination (p, 2, "d3");
3454 orc_program_add_source (p, 4, "s1");
3455 orc_program_add_temporary (p, 2, "t1");
3456 orc_program_add_temporary (p, 1, "t2");
3457 orc_program_add_temporary (p, 1, "t3");
3459 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_S1,
3461 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_T1,
3463 orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D2, ORC_VAR_T2, ORC_VAR_D1,
3465 orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D3, ORC_VAR_T3, ORC_VAR_D1,
3469 orc_program_compile (p);
3470 c = orc_program_take_code (p);
3471 orc_program_free (p);
3474 orc_once_mutex_unlock ();
3476 ex->arrays[ORC_VAR_A2] = c;
3480 ORC_EXECUTOR_M (ex) = m;
3481 ex->arrays[ORC_VAR_D1] = d1;
3482 ex->params[ORC_VAR_D1] = d1_stride;
3483 ex->arrays[ORC_VAR_D2] = d2;
3484 ex->params[ORC_VAR_D2] = d2_stride;
3485 ex->arrays[ORC_VAR_D3] = d3;
3486 ex->params[ORC_VAR_D3] = d3_stride;
3487 ex->arrays[ORC_VAR_S1] = (void *) s1;
3488 ex->params[ORC_VAR_S1] = s1_stride;
3496 /* video_convert_orc_convert_UYVY_Y444 */
3499 video_convert_orc_convert_UYVY_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
3500 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
3501 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
3505 orc_union16 *ORC_RESTRICT ptr0;
3506 orc_union16 *ORC_RESTRICT ptr1;
3507 orc_union16 *ORC_RESTRICT ptr2;
3508 const orc_union32 *ORC_RESTRICT ptr4;
3517 for (j = 0; j < m; j++) {
3518 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
3519 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
3520 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
3521 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
3524 for (i = 0; i < n; i++) {
3530 _src.i = var35.x2[0];
3531 var36.x2[0] = _src.x2[1];
3532 var39.x2[0] = _src.x2[0];
3536 _src.i = var35.x2[1];
3537 var36.x2[1] = _src.x2[1];
3538 var39.x2[1] = _src.x2[0];
3550 var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
3554 var38.i = ((var40 & 0xff) << 8) | (var40 & 0xff);
3564 _backup_video_convert_orc_convert_UYVY_Y444 (OrcExecutor * ORC_RESTRICT ex)
3569 int m = ex->params[ORC_VAR_A1];
3570 orc_union16 *ORC_RESTRICT ptr0;
3571 orc_union16 *ORC_RESTRICT ptr1;
3572 orc_union16 *ORC_RESTRICT ptr2;
3573 const orc_union32 *ORC_RESTRICT ptr4;
3582 for (j = 0; j < m; j++) {
3583 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
3584 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
3585 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
3586 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
3589 for (i = 0; i < n; i++) {
3595 _src.i = var35.x2[0];
3596 var36.x2[0] = _src.x2[1];
3597 var39.x2[0] = _src.x2[0];
3601 _src.i = var35.x2[1];
3602 var36.x2[1] = _src.x2[1];
3603 var39.x2[1] = _src.x2[0];
3615 var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
3619 var38.i = ((var40 & 0xff) << 8) | (var40 & 0xff);
3628 video_convert_orc_convert_UYVY_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
3629 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
3630 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
3632 OrcExecutor _ex, *ex = &_ex;
3633 static volatile int p_inited = 0;
3634 static OrcCode *c = 0;
3635 void (*func) (OrcExecutor *);
3638 orc_once_mutex_lock ();
3643 static const orc_uint8 bc[] = {
3644 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
3645 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 85, 89,
3646 86, 89, 95, 89, 52, 52, 52, 11, 2, 2, 11, 2, 2, 11, 2, 2,
3647 12, 4, 4, 20, 2, 20, 1, 20, 1, 21, 1, 199, 0, 32, 4, 199,
3648 34, 33, 32, 151, 1, 33, 151, 2, 34, 2, 0,
3650 p = orc_program_new_from_static_bytecode (bc);
3651 orc_program_set_backup_function (p,
3652 _backup_video_convert_orc_convert_UYVY_Y444);
3654 p = orc_program_new ();
3655 orc_program_set_2d (p);
3656 orc_program_set_name (p, "video_convert_orc_convert_UYVY_Y444");
3657 orc_program_set_backup_function (p,
3658 _backup_video_convert_orc_convert_UYVY_Y444);
3659 orc_program_add_destination (p, 2, "d1");
3660 orc_program_add_destination (p, 2, "d2");
3661 orc_program_add_destination (p, 2, "d3");
3662 orc_program_add_source (p, 4, "s1");
3663 orc_program_add_temporary (p, 2, "t1");
3664 orc_program_add_temporary (p, 1, "t2");
3665 orc_program_add_temporary (p, 1, "t3");
3667 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
3669 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_T1,
3671 orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D2, ORC_VAR_T2, ORC_VAR_D1,
3673 orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D3, ORC_VAR_T3, ORC_VAR_D1,
3677 orc_program_compile (p);
3678 c = orc_program_take_code (p);
3679 orc_program_free (p);
3682 orc_once_mutex_unlock ();
3684 ex->arrays[ORC_VAR_A2] = c;
3688 ORC_EXECUTOR_M (ex) = m;
3689 ex->arrays[ORC_VAR_D1] = d1;
3690 ex->params[ORC_VAR_D1] = d1_stride;
3691 ex->arrays[ORC_VAR_D2] = d2;
3692 ex->params[ORC_VAR_D2] = d2_stride;
3693 ex->arrays[ORC_VAR_D3] = d3;
3694 ex->params[ORC_VAR_D3] = d3_stride;
3695 ex->arrays[ORC_VAR_S1] = (void *) s1;
3696 ex->params[ORC_VAR_S1] = s1_stride;
3704 /* video_convert_orc_convert_UYVY_I420 */
3707 video_convert_orc_convert_UYVY_I420 (guint8 * ORC_RESTRICT d1,
3708 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
3709 guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1,
3710 const guint8 * ORC_RESTRICT s2, int n)
3713 orc_union16 *ORC_RESTRICT ptr0;
3714 orc_union16 *ORC_RESTRICT ptr1;
3715 orc_int8 *ORC_RESTRICT ptr2;
3716 orc_int8 *ORC_RESTRICT ptr3;
3717 const orc_union32 *ORC_RESTRICT ptr4;
3718 const orc_union32 *ORC_RESTRICT ptr5;
3729 ptr0 = (orc_union16 *) d1;
3730 ptr1 = (orc_union16 *) d2;
3731 ptr2 = (orc_int8 *) d3;
3732 ptr3 = (orc_int8 *) d4;
3733 ptr4 = (orc_union32 *) s1;
3734 ptr5 = (orc_union32 *) s2;
3737 for (i = 0; i < n; i++) {
3743 _src.i = var35.x2[0];
3744 var39.x2[0] = _src.x2[1];
3745 var40.x2[0] = _src.x2[0];
3749 _src.i = var35.x2[1];
3750 var39.x2[1] = _src.x2[1];
3751 var40.x2[1] = _src.x2[0];
3760 _src.i = var36.x2[0];
3761 var41.x2[0] = _src.x2[1];
3762 var42.x2[0] = _src.x2[0];
3766 _src.i = var36.x2[1];
3767 var41.x2[1] = _src.x2[1];
3768 var42.x2[1] = _src.x2[0];
3773 var43.x2[0] = ((orc_uint8) var40.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
3774 var43.x2[1] = ((orc_uint8) var40.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
3792 _backup_video_convert_orc_convert_UYVY_I420 (OrcExecutor * ORC_RESTRICT ex)
3796 orc_union16 *ORC_RESTRICT ptr0;
3797 orc_union16 *ORC_RESTRICT ptr1;
3798 orc_int8 *ORC_RESTRICT ptr2;
3799 orc_int8 *ORC_RESTRICT ptr3;
3800 const orc_union32 *ORC_RESTRICT ptr4;
3801 const orc_union32 *ORC_RESTRICT ptr5;
3812 ptr0 = (orc_union16 *) ex->arrays[0];
3813 ptr1 = (orc_union16 *) ex->arrays[1];
3814 ptr2 = (orc_int8 *) ex->arrays[2];
3815 ptr3 = (orc_int8 *) ex->arrays[3];
3816 ptr4 = (orc_union32 *) ex->arrays[4];
3817 ptr5 = (orc_union32 *) ex->arrays[5];
3820 for (i = 0; i < n; i++) {
3826 _src.i = var35.x2[0];
3827 var39.x2[0] = _src.x2[1];
3828 var40.x2[0] = _src.x2[0];
3832 _src.i = var35.x2[1];
3833 var39.x2[1] = _src.x2[1];
3834 var40.x2[1] = _src.x2[0];
3843 _src.i = var36.x2[0];
3844 var41.x2[0] = _src.x2[1];
3845 var42.x2[0] = _src.x2[0];
3849 _src.i = var36.x2[1];
3850 var41.x2[1] = _src.x2[1];
3851 var42.x2[1] = _src.x2[0];
3856 var43.x2[0] = ((orc_uint8) var40.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
3857 var43.x2[1] = ((orc_uint8) var40.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
3874 video_convert_orc_convert_UYVY_I420 (guint8 * ORC_RESTRICT d1,
3875 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
3876 guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1,
3877 const guint8 * ORC_RESTRICT s2, int n)
3879 OrcExecutor _ex, *ex = &_ex;
3880 static volatile int p_inited = 0;
3881 static OrcCode *c = 0;
3882 void (*func) (OrcExecutor *);
3885 orc_once_mutex_lock ();
3890 static const orc_uint8 bc[] = {
3891 1, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
3892 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 85, 89, 86,
3893 89, 95, 73, 52, 50, 48, 11, 2, 2, 11, 2, 2, 11, 1, 1, 11,
3894 1, 1, 12, 4, 4, 12, 4, 4, 20, 2, 20, 2, 20, 2, 21, 1,
3895 199, 34, 32, 4, 97, 0, 34, 21, 1, 199, 34, 33, 5, 97, 1, 34,
3896 21, 1, 39, 32, 32, 33, 199, 3, 2, 32, 2, 0,
3898 p = orc_program_new_from_static_bytecode (bc);
3899 orc_program_set_backup_function (p,
3900 _backup_video_convert_orc_convert_UYVY_I420);
3902 p = orc_program_new ();
3903 orc_program_set_name (p, "video_convert_orc_convert_UYVY_I420");
3904 orc_program_set_backup_function (p,
3905 _backup_video_convert_orc_convert_UYVY_I420);
3906 orc_program_add_destination (p, 2, "d1");
3907 orc_program_add_destination (p, 2, "d2");
3908 orc_program_add_destination (p, 1, "d3");
3909 orc_program_add_destination (p, 1, "d4");
3910 orc_program_add_source (p, 4, "s1");
3911 orc_program_add_source (p, 4, "s2");
3912 orc_program_add_temporary (p, 2, "t1");
3913 orc_program_add_temporary (p, 2, "t2");
3914 orc_program_add_temporary (p, 2, "t3");
3916 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_S1,
3918 orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_D1,
3920 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_S2,
3922 orc_program_append_2 (p, "storew", 0, ORC_VAR_D2, ORC_VAR_T3, ORC_VAR_D1,
3924 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
3926 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D4, ORC_VAR_D3, ORC_VAR_T1,
3930 orc_program_compile (p);
3931 c = orc_program_take_code (p);
3932 orc_program_free (p);
3935 orc_once_mutex_unlock ();
3937 ex->arrays[ORC_VAR_A2] = c;
3941 ex->arrays[ORC_VAR_D1] = d1;
3942 ex->arrays[ORC_VAR_D2] = d2;
3943 ex->arrays[ORC_VAR_D3] = d3;
3944 ex->arrays[ORC_VAR_D4] = d4;
3945 ex->arrays[ORC_VAR_S1] = (void *) s1;
3946 ex->arrays[ORC_VAR_S2] = (void *) s2;
3954 /* video_convert_orc_convert_AYUV_I420 */
3957 video_convert_orc_convert_AYUV_I420 (guint8 * ORC_RESTRICT d1, int d1_stride,
3958 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
3959 int d3_stride, guint8 * ORC_RESTRICT d4, int d4_stride,
3960 const guint8 * ORC_RESTRICT s1, int s1_stride,
3961 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
3965 orc_union16 *ORC_RESTRICT ptr0;
3966 orc_union16 *ORC_RESTRICT ptr1;
3967 orc_int8 *ORC_RESTRICT ptr2;
3968 orc_int8 *ORC_RESTRICT ptr3;
3969 const orc_union64 *ORC_RESTRICT ptr4;
3970 const orc_union64 *ORC_RESTRICT ptr5;
3989 for (j = 0; j < m; j++) {
3990 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
3991 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
3992 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
3993 ptr3 = ORC_PTR_OFFSET (d4, d4_stride * j);
3994 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
3995 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
3998 for (i = 0; i < n; i++) {
4004 _src.i = var40.x2[0];
4005 var46.x2[0] = _src.x2[1];
4006 var47.x2[0] = _src.x2[0];
4010 _src.i = var40.x2[1];
4011 var46.x2[1] = _src.x2[1];
4012 var47.x2[1] = _src.x2[0];
4017 _src.i = var47.x2[0];
4018 var41.x2[0] = _src.x2[1];
4022 _src.i = var47.x2[1];
4023 var41.x2[1] = _src.x2[1];
4032 _src.i = var42.x2[0];
4033 var48.x2[0] = _src.x2[1];
4034 var49.x2[0] = _src.x2[0];
4038 _src.i = var42.x2[1];
4039 var48.x2[1] = _src.x2[1];
4040 var49.x2[1] = _src.x2[0];
4045 _src.i = var49.x2[0];
4046 var43.x2[0] = _src.x2[1];
4050 _src.i = var49.x2[1];
4051 var43.x2[1] = _src.x2[1];
4057 ((orc_uint8) var46.x4[0] + (orc_uint8) var48.x4[0] + 1) >> 1;
4059 ((orc_uint8) var46.x4[1] + (orc_uint8) var48.x4[1] + 1) >> 1;
4061 ((orc_uint8) var46.x4[2] + (orc_uint8) var48.x4[2] + 1) >> 1;
4063 ((orc_uint8) var46.x4[3] + (orc_uint8) var48.x4[3] + 1) >> 1;
4067 _src.i = var50.x2[0];
4068 var51.x2[0] = _src.x2[1];
4069 var52.x2[0] = _src.x2[0];
4073 _src.i = var50.x2[1];
4074 var51.x2[1] = _src.x2[1];
4075 var52.x2[1] = _src.x2[0];
4085 var44 = ((orc_uint8) var53 + (orc_uint8) var54 + 1) >> 1;
4096 var45 = ((orc_uint8) var55 + (orc_uint8) var56 + 1) >> 1;
4106 _backup_video_convert_orc_convert_AYUV_I420 (OrcExecutor * ORC_RESTRICT ex)
4111 int m = ex->params[ORC_VAR_A1];
4112 orc_union16 *ORC_RESTRICT ptr0;
4113 orc_union16 *ORC_RESTRICT ptr1;
4114 orc_int8 *ORC_RESTRICT ptr2;
4115 orc_int8 *ORC_RESTRICT ptr3;
4116 const orc_union64 *ORC_RESTRICT ptr4;
4117 const orc_union64 *ORC_RESTRICT ptr5;
4136 for (j = 0; j < m; j++) {
4137 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
4138 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
4139 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
4140 ptr3 = ORC_PTR_OFFSET (ex->arrays[3], ex->params[3] * j);
4141 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
4142 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
4145 for (i = 0; i < n; i++) {
4151 _src.i = var40.x2[0];
4152 var46.x2[0] = _src.x2[1];
4153 var47.x2[0] = _src.x2[0];
4157 _src.i = var40.x2[1];
4158 var46.x2[1] = _src.x2[1];
4159 var47.x2[1] = _src.x2[0];
4164 _src.i = var47.x2[0];
4165 var41.x2[0] = _src.x2[1];
4169 _src.i = var47.x2[1];
4170 var41.x2[1] = _src.x2[1];
4179 _src.i = var42.x2[0];
4180 var48.x2[0] = _src.x2[1];
4181 var49.x2[0] = _src.x2[0];
4185 _src.i = var42.x2[1];
4186 var48.x2[1] = _src.x2[1];
4187 var49.x2[1] = _src.x2[0];
4192 _src.i = var49.x2[0];
4193 var43.x2[0] = _src.x2[1];
4197 _src.i = var49.x2[1];
4198 var43.x2[1] = _src.x2[1];
4204 ((orc_uint8) var46.x4[0] + (orc_uint8) var48.x4[0] + 1) >> 1;
4206 ((orc_uint8) var46.x4[1] + (orc_uint8) var48.x4[1] + 1) >> 1;
4208 ((orc_uint8) var46.x4[2] + (orc_uint8) var48.x4[2] + 1) >> 1;
4210 ((orc_uint8) var46.x4[3] + (orc_uint8) var48.x4[3] + 1) >> 1;
4214 _src.i = var50.x2[0];
4215 var51.x2[0] = _src.x2[1];
4216 var52.x2[0] = _src.x2[0];
4220 _src.i = var50.x2[1];
4221 var51.x2[1] = _src.x2[1];
4222 var52.x2[1] = _src.x2[0];
4232 var44 = ((orc_uint8) var53 + (orc_uint8) var54 + 1) >> 1;
4243 var45 = ((orc_uint8) var55 + (orc_uint8) var56 + 1) >> 1;
4252 video_convert_orc_convert_AYUV_I420 (guint8 * ORC_RESTRICT d1, int d1_stride,
4253 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
4254 int d3_stride, guint8 * ORC_RESTRICT d4, int d4_stride,
4255 const guint8 * ORC_RESTRICT s1, int s1_stride,
4256 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
4258 OrcExecutor _ex, *ex = &_ex;
4259 static volatile int p_inited = 0;
4260 static OrcCode *c = 0;
4261 void (*func) (OrcExecutor *);
4264 orc_once_mutex_lock ();
4269 static const orc_uint8 bc[] = {
4270 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
4271 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 65, 89,
4272 85, 86, 95, 73, 52, 50, 48, 11, 2, 2, 11, 2, 2, 11, 1, 1,
4273 11, 1, 1, 12, 8, 8, 12, 8, 8, 20, 4, 20, 4, 20, 4, 20,
4274 4, 20, 2, 20, 2, 20, 1, 20, 1, 21, 1, 198, 33, 32, 4, 21,
4275 1, 189, 0, 32, 21, 1, 198, 34, 32, 5, 21, 1, 189, 1, 32, 21,
4276 2, 39, 35, 33, 34, 21, 1, 199, 37, 36, 35, 199, 38, 39, 36, 39,
4277 2, 38, 39, 199, 38, 39, 37, 39, 3, 38, 39, 2, 0,
4279 p = orc_program_new_from_static_bytecode (bc);
4280 orc_program_set_backup_function (p,
4281 _backup_video_convert_orc_convert_AYUV_I420);
4283 p = orc_program_new ();
4284 orc_program_set_2d (p);
4285 orc_program_set_name (p, "video_convert_orc_convert_AYUV_I420");
4286 orc_program_set_backup_function (p,
4287 _backup_video_convert_orc_convert_AYUV_I420);
4288 orc_program_add_destination (p, 2, "d1");
4289 orc_program_add_destination (p, 2, "d2");
4290 orc_program_add_destination (p, 1, "d3");
4291 orc_program_add_destination (p, 1, "d4");
4292 orc_program_add_source (p, 8, "s1");
4293 orc_program_add_source (p, 8, "s2");
4294 orc_program_add_temporary (p, 4, "t1");
4295 orc_program_add_temporary (p, 4, "t2");
4296 orc_program_add_temporary (p, 4, "t3");
4297 orc_program_add_temporary (p, 4, "t4");
4298 orc_program_add_temporary (p, 2, "t5");
4299 orc_program_add_temporary (p, 2, "t6");
4300 orc_program_add_temporary (p, 1, "t7");
4301 orc_program_add_temporary (p, 1, "t8");
4303 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
4305 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
4306 ORC_VAR_D1, ORC_VAR_D1);
4307 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_S2,
4309 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D2, ORC_VAR_T1,
4310 ORC_VAR_D1, ORC_VAR_D1);
4311 orc_program_append_2 (p, "avgub", 2, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T3,
4313 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T4,
4315 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T7, ORC_VAR_T8, ORC_VAR_T5,
4317 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D3, ORC_VAR_T7, ORC_VAR_T8,
4319 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T7, ORC_VAR_T8, ORC_VAR_T6,
4321 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D4, ORC_VAR_T7, ORC_VAR_T8,
4325 orc_program_compile (p);
4326 c = orc_program_take_code (p);
4327 orc_program_free (p);
4330 orc_once_mutex_unlock ();
4332 ex->arrays[ORC_VAR_A2] = c;
4336 ORC_EXECUTOR_M (ex) = m;
4337 ex->arrays[ORC_VAR_D1] = d1;
4338 ex->params[ORC_VAR_D1] = d1_stride;
4339 ex->arrays[ORC_VAR_D2] = d2;
4340 ex->params[ORC_VAR_D2] = d2_stride;
4341 ex->arrays[ORC_VAR_D3] = d3;
4342 ex->params[ORC_VAR_D3] = d3_stride;
4343 ex->arrays[ORC_VAR_D4] = d4;
4344 ex->params[ORC_VAR_D4] = d4_stride;
4345 ex->arrays[ORC_VAR_S1] = (void *) s1;
4346 ex->params[ORC_VAR_S1] = s1_stride;
4347 ex->arrays[ORC_VAR_S2] = (void *) s2;
4348 ex->params[ORC_VAR_S2] = s2_stride;
4356 /* video_convert_orc_convert_AYUV_YUY2 */
4359 video_convert_orc_convert_AYUV_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
4360 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
4364 orc_union32 *ORC_RESTRICT ptr0;
4365 const orc_union64 *ORC_RESTRICT ptr4;
4375 for (j = 0; j < m; j++) {
4376 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
4377 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
4380 for (i = 0; i < n; i++) {
4386 _src.i = var37.x2[0];
4387 var39.x2[0] = _src.x2[1];
4388 var40.x2[0] = _src.x2[0];
4392 _src.i = var37.x2[1];
4393 var39.x2[1] = _src.x2[1];
4394 var40.x2[1] = _src.x2[0];
4400 var41.i = _src.x2[1];
4401 var42.i = _src.x2[0];
4405 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
4407 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
4411 _src.i = var40.x2[0];
4412 var44.x2[0] = _src.x2[1];
4416 _src.i = var40.x2[1];
4417 var44.x2[1] = _src.x2[1];
4422 _dest.x2[0] = var44.x2[0];
4423 _dest.x2[1] = var43.x2[0];
4424 var38.x2[0] = _dest.i;
4428 _dest.x2[0] = var44.x2[1];
4429 _dest.x2[1] = var43.x2[1];
4430 var38.x2[1] = _dest.i;
4441 _backup_video_convert_orc_convert_AYUV_YUY2 (OrcExecutor * ORC_RESTRICT ex)
4446 int m = ex->params[ORC_VAR_A1];
4447 orc_union32 *ORC_RESTRICT ptr0;
4448 const orc_union64 *ORC_RESTRICT ptr4;
4458 for (j = 0; j < m; j++) {
4459 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
4460 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
4463 for (i = 0; i < n; i++) {
4469 _src.i = var37.x2[0];
4470 var39.x2[0] = _src.x2[1];
4471 var40.x2[0] = _src.x2[0];
4475 _src.i = var37.x2[1];
4476 var39.x2[1] = _src.x2[1];
4477 var40.x2[1] = _src.x2[0];
4483 var41.i = _src.x2[1];
4484 var42.i = _src.x2[0];
4488 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
4490 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
4494 _src.i = var40.x2[0];
4495 var44.x2[0] = _src.x2[1];
4499 _src.i = var40.x2[1];
4500 var44.x2[1] = _src.x2[1];
4505 _dest.x2[0] = var44.x2[0];
4506 _dest.x2[1] = var43.x2[0];
4507 var38.x2[0] = _dest.i;
4511 _dest.x2[0] = var44.x2[1];
4512 _dest.x2[1] = var43.x2[1];
4513 var38.x2[1] = _dest.i;
4523 video_convert_orc_convert_AYUV_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
4524 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
4526 OrcExecutor _ex, *ex = &_ex;
4527 static volatile int p_inited = 0;
4528 static OrcCode *c = 0;
4529 void (*func) (OrcExecutor *);
4532 orc_once_mutex_lock ();
4537 static const orc_uint8 bc[] = {
4538 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
4539 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 65, 89,
4540 85, 86, 95, 89, 85, 89, 50, 11, 4, 4, 12, 8, 8, 20, 2, 20,
4541 2, 20, 2, 20, 4, 20, 4, 21, 1, 198, 36, 35, 4, 198, 33, 34,
4542 36, 21, 1, 39, 33, 33, 34, 21, 1, 189, 32, 35, 21, 1, 196, 0,
4545 p = orc_program_new_from_static_bytecode (bc);
4546 orc_program_set_backup_function (p,
4547 _backup_video_convert_orc_convert_AYUV_YUY2);
4549 p = orc_program_new ();
4550 orc_program_set_2d (p);
4551 orc_program_set_name (p, "video_convert_orc_convert_AYUV_YUY2");
4552 orc_program_set_backup_function (p,
4553 _backup_video_convert_orc_convert_AYUV_YUY2);
4554 orc_program_add_destination (p, 4, "d1");
4555 orc_program_add_source (p, 8, "s1");
4556 orc_program_add_temporary (p, 2, "t1");
4557 orc_program_add_temporary (p, 2, "t2");
4558 orc_program_add_temporary (p, 2, "t3");
4559 orc_program_add_temporary (p, 4, "t4");
4560 orc_program_add_temporary (p, 4, "t5");
4562 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
4564 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
4566 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
4568 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
4569 ORC_VAR_D1, ORC_VAR_D1);
4570 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
4574 orc_program_compile (p);
4575 c = orc_program_take_code (p);
4576 orc_program_free (p);
4579 orc_once_mutex_unlock ();
4581 ex->arrays[ORC_VAR_A2] = c;
4585 ORC_EXECUTOR_M (ex) = m;
4586 ex->arrays[ORC_VAR_D1] = d1;
4587 ex->params[ORC_VAR_D1] = d1_stride;
4588 ex->arrays[ORC_VAR_S1] = (void *) s1;
4589 ex->params[ORC_VAR_S1] = s1_stride;
4597 /* video_convert_orc_convert_AYUV_UYVY */
4600 video_convert_orc_convert_AYUV_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
4601 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
4605 orc_union32 *ORC_RESTRICT ptr0;
4606 const orc_union64 *ORC_RESTRICT ptr4;
4616 for (j = 0; j < m; j++) {
4617 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
4618 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
4621 for (i = 0; i < n; i++) {
4627 _src.i = var37.x2[0];
4628 var39.x2[0] = _src.x2[1];
4629 var40.x2[0] = _src.x2[0];
4633 _src.i = var37.x2[1];
4634 var39.x2[1] = _src.x2[1];
4635 var40.x2[1] = _src.x2[0];
4641 var41.i = _src.x2[1];
4642 var42.i = _src.x2[0];
4646 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
4648 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
4652 _src.i = var40.x2[0];
4653 var44.x2[0] = _src.x2[1];
4657 _src.i = var40.x2[1];
4658 var44.x2[1] = _src.x2[1];
4663 _dest.x2[0] = var43.x2[0];
4664 _dest.x2[1] = var44.x2[0];
4665 var38.x2[0] = _dest.i;
4669 _dest.x2[0] = var43.x2[1];
4670 _dest.x2[1] = var44.x2[1];
4671 var38.x2[1] = _dest.i;
4682 _backup_video_convert_orc_convert_AYUV_UYVY (OrcExecutor * ORC_RESTRICT ex)
4687 int m = ex->params[ORC_VAR_A1];
4688 orc_union32 *ORC_RESTRICT ptr0;
4689 const orc_union64 *ORC_RESTRICT ptr4;
4699 for (j = 0; j < m; j++) {
4700 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
4701 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
4704 for (i = 0; i < n; i++) {
4710 _src.i = var37.x2[0];
4711 var39.x2[0] = _src.x2[1];
4712 var40.x2[0] = _src.x2[0];
4716 _src.i = var37.x2[1];
4717 var39.x2[1] = _src.x2[1];
4718 var40.x2[1] = _src.x2[0];
4724 var41.i = _src.x2[1];
4725 var42.i = _src.x2[0];
4729 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
4731 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
4735 _src.i = var40.x2[0];
4736 var44.x2[0] = _src.x2[1];
4740 _src.i = var40.x2[1];
4741 var44.x2[1] = _src.x2[1];
4746 _dest.x2[0] = var43.x2[0];
4747 _dest.x2[1] = var44.x2[0];
4748 var38.x2[0] = _dest.i;
4752 _dest.x2[0] = var43.x2[1];
4753 _dest.x2[1] = var44.x2[1];
4754 var38.x2[1] = _dest.i;
4764 video_convert_orc_convert_AYUV_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
4765 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
4767 OrcExecutor _ex, *ex = &_ex;
4768 static volatile int p_inited = 0;
4769 static OrcCode *c = 0;
4770 void (*func) (OrcExecutor *);
4773 orc_once_mutex_lock ();
4778 static const orc_uint8 bc[] = {
4779 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
4780 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 65, 89,
4781 85, 86, 95, 85, 89, 86, 89, 11, 4, 4, 12, 8, 8, 20, 2, 20,
4782 2, 20, 2, 20, 4, 20, 4, 21, 1, 198, 36, 35, 4, 198, 33, 34,
4783 36, 21, 1, 39, 33, 33, 34, 21, 1, 189, 32, 35, 21, 1, 196, 0,
4786 p = orc_program_new_from_static_bytecode (bc);
4787 orc_program_set_backup_function (p,
4788 _backup_video_convert_orc_convert_AYUV_UYVY);
4790 p = orc_program_new ();
4791 orc_program_set_2d (p);
4792 orc_program_set_name (p, "video_convert_orc_convert_AYUV_UYVY");
4793 orc_program_set_backup_function (p,
4794 _backup_video_convert_orc_convert_AYUV_UYVY);
4795 orc_program_add_destination (p, 4, "d1");
4796 orc_program_add_source (p, 8, "s1");
4797 orc_program_add_temporary (p, 2, "t1");
4798 orc_program_add_temporary (p, 2, "t2");
4799 orc_program_add_temporary (p, 2, "t3");
4800 orc_program_add_temporary (p, 4, "t4");
4801 orc_program_add_temporary (p, 4, "t5");
4803 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
4805 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
4807 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
4809 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
4810 ORC_VAR_D1, ORC_VAR_D1);
4811 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
4815 orc_program_compile (p);
4816 c = orc_program_take_code (p);
4817 orc_program_free (p);
4820 orc_once_mutex_unlock ();
4822 ex->arrays[ORC_VAR_A2] = c;
4826 ORC_EXECUTOR_M (ex) = m;
4827 ex->arrays[ORC_VAR_D1] = d1;
4828 ex->params[ORC_VAR_D1] = d1_stride;
4829 ex->arrays[ORC_VAR_S1] = (void *) s1;
4830 ex->params[ORC_VAR_S1] = s1_stride;
4838 /* video_convert_orc_convert_AYUV_Y42B */
4841 video_convert_orc_convert_AYUV_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
4842 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
4843 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
4847 orc_union16 *ORC_RESTRICT ptr0;
4848 orc_int8 *ORC_RESTRICT ptr1;
4849 orc_int8 *ORC_RESTRICT ptr2;
4850 const orc_union64 *ORC_RESTRICT ptr4;
4861 for (j = 0; j < m; j++) {
4862 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
4863 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
4864 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
4865 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
4868 for (i = 0; i < n; i++) {
4874 _src.i = var36.x2[0];
4875 var40.x2[0] = _src.x2[1];
4876 var41.x2[0] = _src.x2[0];
4880 _src.i = var36.x2[1];
4881 var40.x2[1] = _src.x2[1];
4882 var41.x2[1] = _src.x2[0];
4888 var42.i = _src.x2[1];
4889 var43.i = _src.x2[0];
4893 ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
4895 ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
4910 _src.i = var41.x2[0];
4911 var39.x2[0] = _src.x2[1];
4915 _src.i = var41.x2[1];
4916 var39.x2[1] = _src.x2[1];
4927 _backup_video_convert_orc_convert_AYUV_Y42B (OrcExecutor * ORC_RESTRICT ex)
4932 int m = ex->params[ORC_VAR_A1];
4933 orc_union16 *ORC_RESTRICT ptr0;
4934 orc_int8 *ORC_RESTRICT ptr1;
4935 orc_int8 *ORC_RESTRICT ptr2;
4936 const orc_union64 *ORC_RESTRICT ptr4;
4947 for (j = 0; j < m; j++) {
4948 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
4949 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
4950 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
4951 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
4954 for (i = 0; i < n; i++) {
4960 _src.i = var36.x2[0];
4961 var40.x2[0] = _src.x2[1];
4962 var41.x2[0] = _src.x2[0];
4966 _src.i = var36.x2[1];
4967 var40.x2[1] = _src.x2[1];
4968 var41.x2[1] = _src.x2[0];
4974 var42.i = _src.x2[1];
4975 var43.i = _src.x2[0];
4979 ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
4981 ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
4996 _src.i = var41.x2[0];
4997 var39.x2[0] = _src.x2[1];
5001 _src.i = var41.x2[1];
5002 var39.x2[1] = _src.x2[1];
5012 video_convert_orc_convert_AYUV_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
5013 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
5014 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
5016 OrcExecutor _ex, *ex = &_ex;
5017 static volatile int p_inited = 0;
5018 static OrcCode *c = 0;
5019 void (*func) (OrcExecutor *);
5022 orc_once_mutex_lock ();
5027 static const orc_uint8 bc[] = {
5028 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
5029 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 65, 89,
5030 85, 86, 95, 89, 52, 50, 66, 11, 2, 2, 11, 1, 1, 11, 1, 1,
5031 12, 8, 8, 20, 4, 20, 4, 20, 2, 20, 2, 21, 1, 198, 33, 32,
5032 4, 198, 34, 35, 33, 21, 1, 39, 34, 34, 35, 199, 2, 1, 34, 21,
5033 1, 189, 0, 32, 2, 0,
5035 p = orc_program_new_from_static_bytecode (bc);
5036 orc_program_set_backup_function (p,
5037 _backup_video_convert_orc_convert_AYUV_Y42B);
5039 p = orc_program_new ();
5040 orc_program_set_2d (p);
5041 orc_program_set_name (p, "video_convert_orc_convert_AYUV_Y42B");
5042 orc_program_set_backup_function (p,
5043 _backup_video_convert_orc_convert_AYUV_Y42B);
5044 orc_program_add_destination (p, 2, "d1");
5045 orc_program_add_destination (p, 1, "d2");
5046 orc_program_add_destination (p, 1, "d3");
5047 orc_program_add_source (p, 8, "s1");
5048 orc_program_add_temporary (p, 4, "t1");
5049 orc_program_add_temporary (p, 4, "t2");
5050 orc_program_add_temporary (p, 2, "t3");
5051 orc_program_add_temporary (p, 2, "t4");
5053 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
5055 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
5057 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
5059 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T3,
5061 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
5062 ORC_VAR_D1, ORC_VAR_D1);
5065 orc_program_compile (p);
5066 c = orc_program_take_code (p);
5067 orc_program_free (p);
5070 orc_once_mutex_unlock ();
5072 ex->arrays[ORC_VAR_A2] = c;
5076 ORC_EXECUTOR_M (ex) = m;
5077 ex->arrays[ORC_VAR_D1] = d1;
5078 ex->params[ORC_VAR_D1] = d1_stride;
5079 ex->arrays[ORC_VAR_D2] = d2;
5080 ex->params[ORC_VAR_D2] = d2_stride;
5081 ex->arrays[ORC_VAR_D3] = d3;
5082 ex->params[ORC_VAR_D3] = d3_stride;
5083 ex->arrays[ORC_VAR_S1] = (void *) s1;
5084 ex->params[ORC_VAR_S1] = s1_stride;
5092 /* video_convert_orc_convert_AYUV_Y444 */
5095 video_convert_orc_convert_AYUV_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
5096 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
5097 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
5101 orc_int8 *ORC_RESTRICT ptr0;
5102 orc_int8 *ORC_RESTRICT ptr1;
5103 orc_int8 *ORC_RESTRICT ptr2;
5104 const orc_union32 *ORC_RESTRICT ptr4;
5112 for (j = 0; j < m; j++) {
5113 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
5114 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
5115 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
5116 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
5119 for (i = 0; i < n; i++) {
5126 var38.i = _src.x2[1];
5127 var39.i = _src.x2[0];
5155 _backup_video_convert_orc_convert_AYUV_Y444 (OrcExecutor * ORC_RESTRICT ex)
5160 int m = ex->params[ORC_VAR_A1];
5161 orc_int8 *ORC_RESTRICT ptr0;
5162 orc_int8 *ORC_RESTRICT ptr1;
5163 orc_int8 *ORC_RESTRICT ptr2;
5164 const orc_union32 *ORC_RESTRICT ptr4;
5172 for (j = 0; j < m; j++) {
5173 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
5174 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
5175 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
5176 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
5179 for (i = 0; i < n; i++) {
5186 var38.i = _src.x2[1];
5187 var39.i = _src.x2[0];
5214 video_convert_orc_convert_AYUV_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
5215 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
5216 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
5218 OrcExecutor _ex, *ex = &_ex;
5219 static volatile int p_inited = 0;
5220 static OrcCode *c = 0;
5221 void (*func) (OrcExecutor *);
5224 orc_once_mutex_lock ();
5229 static const orc_uint8 bc[] = {
5230 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
5231 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 65, 89,
5232 85, 86, 95, 89, 52, 52, 52, 11, 1, 1, 11, 1, 1, 11, 1, 1,
5233 12, 4, 4, 20, 2, 20, 2, 198, 33, 32, 4, 199, 2, 1, 33, 189,
5236 p = orc_program_new_from_static_bytecode (bc);
5237 orc_program_set_backup_function (p,
5238 _backup_video_convert_orc_convert_AYUV_Y444);
5240 p = orc_program_new ();
5241 orc_program_set_2d (p);
5242 orc_program_set_name (p, "video_convert_orc_convert_AYUV_Y444");
5243 orc_program_set_backup_function (p,
5244 _backup_video_convert_orc_convert_AYUV_Y444);
5245 orc_program_add_destination (p, 1, "d1");
5246 orc_program_add_destination (p, 1, "d2");
5247 orc_program_add_destination (p, 1, "d3");
5248 orc_program_add_source (p, 4, "s1");
5249 orc_program_add_temporary (p, 2, "t1");
5250 orc_program_add_temporary (p, 2, "t2");
5252 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
5254 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T2,
5256 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
5257 ORC_VAR_D1, ORC_VAR_D1);
5260 orc_program_compile (p);
5261 c = orc_program_take_code (p);
5262 orc_program_free (p);
5265 orc_once_mutex_unlock ();
5267 ex->arrays[ORC_VAR_A2] = c;
5271 ORC_EXECUTOR_M (ex) = m;
5272 ex->arrays[ORC_VAR_D1] = d1;
5273 ex->params[ORC_VAR_D1] = d1_stride;
5274 ex->arrays[ORC_VAR_D2] = d2;
5275 ex->params[ORC_VAR_D2] = d2_stride;
5276 ex->arrays[ORC_VAR_D3] = d3;
5277 ex->params[ORC_VAR_D3] = d3_stride;
5278 ex->arrays[ORC_VAR_S1] = (void *) s1;
5279 ex->params[ORC_VAR_S1] = s1_stride;
5287 /* video_convert_orc_convert_Y42B_YUY2 */
5290 video_convert_orc_convert_Y42B_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
5291 const guint8 * ORC_RESTRICT s1, int s1_stride,
5292 const guint8 * ORC_RESTRICT s2, int s2_stride,
5293 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
5297 orc_union32 *ORC_RESTRICT ptr0;
5298 const orc_union16 *ORC_RESTRICT ptr4;
5299 const orc_int8 *ORC_RESTRICT ptr5;
5300 const orc_int8 *ORC_RESTRICT ptr6;
5307 for (j = 0; j < m; j++) {
5308 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
5309 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
5310 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
5311 ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
5314 for (i = 0; i < n; i++) {
5322 _dest.x2[0] = var33;
5323 _dest.x2[1] = var34;
5331 _dest.x2[0] = var35.x2[0];
5332 _dest.x2[1] = var37.x2[0];
5333 var36.x2[0] = _dest.i;
5337 _dest.x2[0] = var35.x2[1];
5338 _dest.x2[1] = var37.x2[1];
5339 var36.x2[1] = _dest.i;
5350 _backup_video_convert_orc_convert_Y42B_YUY2 (OrcExecutor * ORC_RESTRICT ex)
5355 int m = ex->params[ORC_VAR_A1];
5356 orc_union32 *ORC_RESTRICT ptr0;
5357 const orc_union16 *ORC_RESTRICT ptr4;
5358 const orc_int8 *ORC_RESTRICT ptr5;
5359 const orc_int8 *ORC_RESTRICT ptr6;
5366 for (j = 0; j < m; j++) {
5367 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
5368 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
5369 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
5370 ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
5373 for (i = 0; i < n; i++) {
5381 _dest.x2[0] = var33;
5382 _dest.x2[1] = var34;
5390 _dest.x2[0] = var35.x2[0];
5391 _dest.x2[1] = var37.x2[0];
5392 var36.x2[0] = _dest.i;
5396 _dest.x2[0] = var35.x2[1];
5397 _dest.x2[1] = var37.x2[1];
5398 var36.x2[1] = _dest.i;
5408 video_convert_orc_convert_Y42B_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
5409 const guint8 * ORC_RESTRICT s1, int s1_stride,
5410 const guint8 * ORC_RESTRICT s2, int s2_stride,
5411 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
5413 OrcExecutor _ex, *ex = &_ex;
5414 static volatile int p_inited = 0;
5415 static OrcCode *c = 0;
5416 void (*func) (OrcExecutor *);
5419 orc_once_mutex_lock ();
5424 static const orc_uint8 bc[] = {
5425 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
5426 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 89, 52,
5427 50, 66, 95, 89, 85, 89, 50, 11, 4, 4, 12, 2, 2, 12, 1, 1,
5428 12, 1, 1, 20, 2, 196, 32, 5, 6, 21, 1, 196, 0, 4, 32, 2,
5431 p = orc_program_new_from_static_bytecode (bc);
5432 orc_program_set_backup_function (p,
5433 _backup_video_convert_orc_convert_Y42B_YUY2);
5435 p = orc_program_new ();
5436 orc_program_set_2d (p);
5437 orc_program_set_name (p, "video_convert_orc_convert_Y42B_YUY2");
5438 orc_program_set_backup_function (p,
5439 _backup_video_convert_orc_convert_Y42B_YUY2);
5440 orc_program_add_destination (p, 4, "d1");
5441 orc_program_add_source (p, 2, "s1");
5442 orc_program_add_source (p, 1, "s2");
5443 orc_program_add_source (p, 1, "s3");
5444 orc_program_add_temporary (p, 2, "t1");
5446 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
5448 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_T1,
5452 orc_program_compile (p);
5453 c = orc_program_take_code (p);
5454 orc_program_free (p);
5457 orc_once_mutex_unlock ();
5459 ex->arrays[ORC_VAR_A2] = c;
5463 ORC_EXECUTOR_M (ex) = m;
5464 ex->arrays[ORC_VAR_D1] = d1;
5465 ex->params[ORC_VAR_D1] = d1_stride;
5466 ex->arrays[ORC_VAR_S1] = (void *) s1;
5467 ex->params[ORC_VAR_S1] = s1_stride;
5468 ex->arrays[ORC_VAR_S2] = (void *) s2;
5469 ex->params[ORC_VAR_S2] = s2_stride;
5470 ex->arrays[ORC_VAR_S3] = (void *) s3;
5471 ex->params[ORC_VAR_S3] = s3_stride;
5479 /* video_convert_orc_convert_Y42B_UYVY */
5482 video_convert_orc_convert_Y42B_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
5483 const guint8 * ORC_RESTRICT s1, int s1_stride,
5484 const guint8 * ORC_RESTRICT s2, int s2_stride,
5485 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
5489 orc_union32 *ORC_RESTRICT ptr0;
5490 const orc_union16 *ORC_RESTRICT ptr4;
5491 const orc_int8 *ORC_RESTRICT ptr5;
5492 const orc_int8 *ORC_RESTRICT ptr6;
5499 for (j = 0; j < m; j++) {
5500 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
5501 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
5502 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
5503 ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
5506 for (i = 0; i < n; i++) {
5514 _dest.x2[0] = var33;
5515 _dest.x2[1] = var34;
5523 _dest.x2[0] = var37.x2[0];
5524 _dest.x2[1] = var35.x2[0];
5525 var36.x2[0] = _dest.i;
5529 _dest.x2[0] = var37.x2[1];
5530 _dest.x2[1] = var35.x2[1];
5531 var36.x2[1] = _dest.i;
5542 _backup_video_convert_orc_convert_Y42B_UYVY (OrcExecutor * ORC_RESTRICT ex)
5547 int m = ex->params[ORC_VAR_A1];
5548 orc_union32 *ORC_RESTRICT ptr0;
5549 const orc_union16 *ORC_RESTRICT ptr4;
5550 const orc_int8 *ORC_RESTRICT ptr5;
5551 const orc_int8 *ORC_RESTRICT ptr6;
5558 for (j = 0; j < m; j++) {
5559 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
5560 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
5561 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
5562 ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
5565 for (i = 0; i < n; i++) {
5573 _dest.x2[0] = var33;
5574 _dest.x2[1] = var34;
5582 _dest.x2[0] = var37.x2[0];
5583 _dest.x2[1] = var35.x2[0];
5584 var36.x2[0] = _dest.i;
5588 _dest.x2[0] = var37.x2[1];
5589 _dest.x2[1] = var35.x2[1];
5590 var36.x2[1] = _dest.i;
5600 video_convert_orc_convert_Y42B_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
5601 const guint8 * ORC_RESTRICT s1, int s1_stride,
5602 const guint8 * ORC_RESTRICT s2, int s2_stride,
5603 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
5605 OrcExecutor _ex, *ex = &_ex;
5606 static volatile int p_inited = 0;
5607 static OrcCode *c = 0;
5608 void (*func) (OrcExecutor *);
5611 orc_once_mutex_lock ();
5616 static const orc_uint8 bc[] = {
5617 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
5618 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 89, 52,
5619 50, 66, 95, 85, 89, 86, 89, 11, 4, 4, 12, 2, 2, 12, 1, 1,
5620 12, 1, 1, 20, 2, 196, 32, 5, 6, 21, 1, 196, 0, 32, 4, 2,
5623 p = orc_program_new_from_static_bytecode (bc);
5624 orc_program_set_backup_function (p,
5625 _backup_video_convert_orc_convert_Y42B_UYVY);
5627 p = orc_program_new ();
5628 orc_program_set_2d (p);
5629 orc_program_set_name (p, "video_convert_orc_convert_Y42B_UYVY");
5630 orc_program_set_backup_function (p,
5631 _backup_video_convert_orc_convert_Y42B_UYVY);
5632 orc_program_add_destination (p, 4, "d1");
5633 orc_program_add_source (p, 2, "s1");
5634 orc_program_add_source (p, 1, "s2");
5635 orc_program_add_source (p, 1, "s3");
5636 orc_program_add_temporary (p, 2, "t1");
5638 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
5640 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
5644 orc_program_compile (p);
5645 c = orc_program_take_code (p);
5646 orc_program_free (p);
5649 orc_once_mutex_unlock ();
5651 ex->arrays[ORC_VAR_A2] = c;
5655 ORC_EXECUTOR_M (ex) = m;
5656 ex->arrays[ORC_VAR_D1] = d1;
5657 ex->params[ORC_VAR_D1] = d1_stride;
5658 ex->arrays[ORC_VAR_S1] = (void *) s1;
5659 ex->params[ORC_VAR_S1] = s1_stride;
5660 ex->arrays[ORC_VAR_S2] = (void *) s2;
5661 ex->params[ORC_VAR_S2] = s2_stride;
5662 ex->arrays[ORC_VAR_S3] = (void *) s3;
5663 ex->params[ORC_VAR_S3] = s3_stride;
5671 /* video_convert_orc_convert_Y42B_AYUV */
5674 video_convert_orc_convert_Y42B_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
5675 const guint8 * ORC_RESTRICT s1, int s1_stride,
5676 const guint8 * ORC_RESTRICT s2, int s2_stride,
5677 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
5681 orc_union64 *ORC_RESTRICT ptr0;
5682 const orc_union16 *ORC_RESTRICT ptr4;
5683 const orc_int8 *ORC_RESTRICT ptr5;
5684 const orc_int8 *ORC_RESTRICT ptr6;
5687 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
5688 volatile orc_union16 var38;
5698 for (j = 0; j < m; j++) {
5699 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
5700 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
5701 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
5702 ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
5705 var38.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
5706 var38.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
5708 for (i = 0; i < n; i++) {
5716 _dest.x2[0] = var36;
5717 _dest.x2[1] = var37;
5725 _dest.x2[0] = var38.x2[0];
5726 _dest.x2[1] = var39.x2[0];
5727 var42.x2[0] = _dest.i;
5731 _dest.x2[0] = var38.x2[1];
5732 _dest.x2[1] = var39.x2[1];
5733 var42.x2[1] = _dest.i;
5738 _dest.x2[0] = var41.i;
5739 _dest.x2[1] = var41.i;
5745 _dest.x2[0] = var42.x2[0];
5746 _dest.x2[1] = var43.x2[0];
5747 var40.x2[0] = _dest.i;
5751 _dest.x2[0] = var42.x2[1];
5752 _dest.x2[1] = var43.x2[1];
5753 var40.x2[1] = _dest.i;
5764 _backup_video_convert_orc_convert_Y42B_AYUV (OrcExecutor * ORC_RESTRICT ex)
5769 int m = ex->params[ORC_VAR_A1];
5770 orc_union64 *ORC_RESTRICT ptr0;
5771 const orc_union16 *ORC_RESTRICT ptr4;
5772 const orc_int8 *ORC_RESTRICT ptr5;
5773 const orc_int8 *ORC_RESTRICT ptr6;
5776 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
5777 volatile orc_union16 var38;
5787 for (j = 0; j < m; j++) {
5788 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
5789 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
5790 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
5791 ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
5794 var38.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
5795 var38.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
5797 for (i = 0; i < n; i++) {
5805 _dest.x2[0] = var36;
5806 _dest.x2[1] = var37;
5814 _dest.x2[0] = var38.x2[0];
5815 _dest.x2[1] = var39.x2[0];
5816 var42.x2[0] = _dest.i;
5820 _dest.x2[0] = var38.x2[1];
5821 _dest.x2[1] = var39.x2[1];
5822 var42.x2[1] = _dest.i;
5827 _dest.x2[0] = var41.i;
5828 _dest.x2[1] = var41.i;
5834 _dest.x2[0] = var42.x2[0];
5835 _dest.x2[1] = var43.x2[0];
5836 var40.x2[0] = _dest.i;
5840 _dest.x2[0] = var42.x2[1];
5841 _dest.x2[1] = var43.x2[1];
5842 var40.x2[1] = _dest.i;
5852 video_convert_orc_convert_Y42B_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
5853 const guint8 * ORC_RESTRICT s1, int s1_stride,
5854 const guint8 * ORC_RESTRICT s2, int s2_stride,
5855 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
5857 OrcExecutor _ex, *ex = &_ex;
5858 static volatile int p_inited = 0;
5859 static OrcCode *c = 0;
5860 void (*func) (OrcExecutor *);
5863 orc_once_mutex_lock ();
5868 static const orc_uint8 bc[] = {
5869 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
5870 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 89, 52,
5871 50, 66, 95, 65, 89, 85, 86, 11, 8, 8, 12, 2, 2, 12, 1, 1,
5872 12, 1, 1, 14, 1, 255, 0, 0, 0, 20, 2, 20, 2, 20, 4, 20,
5873 4, 196, 32, 5, 6, 21, 1, 196, 35, 16, 4, 195, 34, 32, 32, 21,
5874 1, 195, 0, 35, 34, 2, 0,
5876 p = orc_program_new_from_static_bytecode (bc);
5877 orc_program_set_backup_function (p,
5878 _backup_video_convert_orc_convert_Y42B_AYUV);
5880 p = orc_program_new ();
5881 orc_program_set_2d (p);
5882 orc_program_set_name (p, "video_convert_orc_convert_Y42B_AYUV");
5883 orc_program_set_backup_function (p,
5884 _backup_video_convert_orc_convert_Y42B_AYUV);
5885 orc_program_add_destination (p, 8, "d1");
5886 orc_program_add_source (p, 2, "s1");
5887 orc_program_add_source (p, 1, "s2");
5888 orc_program_add_source (p, 1, "s3");
5889 orc_program_add_constant (p, 1, 0x000000ff, "c1");
5890 orc_program_add_temporary (p, 2, "t1");
5891 orc_program_add_temporary (p, 2, "t2");
5892 orc_program_add_temporary (p, 4, "t3");
5893 orc_program_add_temporary (p, 4, "t4");
5895 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
5897 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T4, ORC_VAR_C1, ORC_VAR_S1,
5899 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
5901 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T4, ORC_VAR_T3,
5905 orc_program_compile (p);
5906 c = orc_program_take_code (p);
5907 orc_program_free (p);
5910 orc_once_mutex_unlock ();
5912 ex->arrays[ORC_VAR_A2] = c;
5916 ORC_EXECUTOR_M (ex) = m;
5917 ex->arrays[ORC_VAR_D1] = d1;
5918 ex->params[ORC_VAR_D1] = d1_stride;
5919 ex->arrays[ORC_VAR_S1] = (void *) s1;
5920 ex->params[ORC_VAR_S1] = s1_stride;
5921 ex->arrays[ORC_VAR_S2] = (void *) s2;
5922 ex->params[ORC_VAR_S2] = s2_stride;
5923 ex->arrays[ORC_VAR_S3] = (void *) s3;
5924 ex->params[ORC_VAR_S3] = s3_stride;
5932 /* video_convert_orc_convert_Y444_YUY2 */
5935 video_convert_orc_convert_Y444_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
5936 const guint8 * ORC_RESTRICT s1, int s1_stride,
5937 const guint8 * ORC_RESTRICT s2, int s2_stride,
5938 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
5942 orc_union32 *ORC_RESTRICT ptr0;
5943 const orc_union16 *ORC_RESTRICT ptr4;
5944 const orc_union16 *ORC_RESTRICT ptr5;
5945 const orc_union16 *ORC_RESTRICT ptr6;
5955 for (j = 0; j < m; j++) {
5956 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
5957 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
5958 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
5959 ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
5962 for (i = 0; i < n; i++) {
5970 _dest.x2[0] = var36.x2[0];
5971 _dest.x2[1] = var37.x2[0];
5972 var40.x2[0] = _dest.i;
5976 _dest.x2[0] = var36.x2[1];
5977 _dest.x2[1] = var37.x2[1];
5978 var40.x2[1] = _dest.i;
5984 var41.i = _src.x2[1];
5985 var42.i = _src.x2[0];
5989 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
5991 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
5997 _dest.x2[0] = var38.x2[0];
5998 _dest.x2[1] = var43.x2[0];
5999 var39.x2[0] = _dest.i;
6003 _dest.x2[0] = var38.x2[1];
6004 _dest.x2[1] = var43.x2[1];
6005 var39.x2[1] = _dest.i;
6016 _backup_video_convert_orc_convert_Y444_YUY2 (OrcExecutor * ORC_RESTRICT ex)
6021 int m = ex->params[ORC_VAR_A1];
6022 orc_union32 *ORC_RESTRICT ptr0;
6023 const orc_union16 *ORC_RESTRICT ptr4;
6024 const orc_union16 *ORC_RESTRICT ptr5;
6025 const orc_union16 *ORC_RESTRICT ptr6;
6035 for (j = 0; j < m; j++) {
6036 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
6037 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
6038 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
6039 ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
6042 for (i = 0; i < n; i++) {
6050 _dest.x2[0] = var36.x2[0];
6051 _dest.x2[1] = var37.x2[0];
6052 var40.x2[0] = _dest.i;
6056 _dest.x2[0] = var36.x2[1];
6057 _dest.x2[1] = var37.x2[1];
6058 var40.x2[1] = _dest.i;
6064 var41.i = _src.x2[1];
6065 var42.i = _src.x2[0];
6069 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
6071 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
6077 _dest.x2[0] = var38.x2[0];
6078 _dest.x2[1] = var43.x2[0];
6079 var39.x2[0] = _dest.i;
6083 _dest.x2[0] = var38.x2[1];
6084 _dest.x2[1] = var43.x2[1];
6085 var39.x2[1] = _dest.i;
6095 video_convert_orc_convert_Y444_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
6096 const guint8 * ORC_RESTRICT s1, int s1_stride,
6097 const guint8 * ORC_RESTRICT s2, int s2_stride,
6098 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
6100 OrcExecutor _ex, *ex = &_ex;
6101 static volatile int p_inited = 0;
6102 static OrcCode *c = 0;
6103 void (*func) (OrcExecutor *);
6106 orc_once_mutex_lock ();
6111 static const orc_uint8 bc[] = {
6112 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
6113 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 89, 52,
6114 52, 52, 95, 89, 85, 89, 50, 11, 4, 4, 12, 2, 2, 12, 2, 2,
6115 12, 2, 2, 20, 2, 20, 4, 20, 2, 20, 2, 21, 1, 196, 33, 5,
6116 6, 198, 34, 35, 33, 21, 1, 39, 32, 34, 35, 21, 1, 196, 0, 4,
6119 p = orc_program_new_from_static_bytecode (bc);
6120 orc_program_set_backup_function (p,
6121 _backup_video_convert_orc_convert_Y444_YUY2);
6123 p = orc_program_new ();
6124 orc_program_set_2d (p);
6125 orc_program_set_name (p, "video_convert_orc_convert_Y444_YUY2");
6126 orc_program_set_backup_function (p,
6127 _backup_video_convert_orc_convert_Y444_YUY2);
6128 orc_program_add_destination (p, 4, "d1");
6129 orc_program_add_source (p, 2, "s1");
6130 orc_program_add_source (p, 2, "s2");
6131 orc_program_add_source (p, 2, "s3");
6132 orc_program_add_temporary (p, 2, "t1");
6133 orc_program_add_temporary (p, 4, "t2");
6134 orc_program_add_temporary (p, 2, "t3");
6135 orc_program_add_temporary (p, 2, "t4");
6137 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S3,
6139 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
6141 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
6143 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_T1,
6147 orc_program_compile (p);
6148 c = orc_program_take_code (p);
6149 orc_program_free (p);
6152 orc_once_mutex_unlock ();
6154 ex->arrays[ORC_VAR_A2] = c;
6158 ORC_EXECUTOR_M (ex) = m;
6159 ex->arrays[ORC_VAR_D1] = d1;
6160 ex->params[ORC_VAR_D1] = d1_stride;
6161 ex->arrays[ORC_VAR_S1] = (void *) s1;
6162 ex->params[ORC_VAR_S1] = s1_stride;
6163 ex->arrays[ORC_VAR_S2] = (void *) s2;
6164 ex->params[ORC_VAR_S2] = s2_stride;
6165 ex->arrays[ORC_VAR_S3] = (void *) s3;
6166 ex->params[ORC_VAR_S3] = s3_stride;
6174 /* video_convert_orc_convert_Y444_UYVY */
6177 video_convert_orc_convert_Y444_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
6178 const guint8 * ORC_RESTRICT s1, int s1_stride,
6179 const guint8 * ORC_RESTRICT s2, int s2_stride,
6180 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
6184 orc_union32 *ORC_RESTRICT ptr0;
6185 const orc_union16 *ORC_RESTRICT ptr4;
6186 const orc_union16 *ORC_RESTRICT ptr5;
6187 const orc_union16 *ORC_RESTRICT ptr6;
6197 for (j = 0; j < m; j++) {
6198 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
6199 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
6200 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
6201 ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
6204 for (i = 0; i < n; i++) {
6212 _dest.x2[0] = var36.x2[0];
6213 _dest.x2[1] = var37.x2[0];
6214 var40.x2[0] = _dest.i;
6218 _dest.x2[0] = var36.x2[1];
6219 _dest.x2[1] = var37.x2[1];
6220 var40.x2[1] = _dest.i;
6226 var41.i = _src.x2[1];
6227 var42.i = _src.x2[0];
6231 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
6233 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
6239 _dest.x2[0] = var43.x2[0];
6240 _dest.x2[1] = var38.x2[0];
6241 var39.x2[0] = _dest.i;
6245 _dest.x2[0] = var43.x2[1];
6246 _dest.x2[1] = var38.x2[1];
6247 var39.x2[1] = _dest.i;
6258 _backup_video_convert_orc_convert_Y444_UYVY (OrcExecutor * ORC_RESTRICT ex)
6263 int m = ex->params[ORC_VAR_A1];
6264 orc_union32 *ORC_RESTRICT ptr0;
6265 const orc_union16 *ORC_RESTRICT ptr4;
6266 const orc_union16 *ORC_RESTRICT ptr5;
6267 const orc_union16 *ORC_RESTRICT ptr6;
6277 for (j = 0; j < m; j++) {
6278 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
6279 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
6280 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
6281 ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
6284 for (i = 0; i < n; i++) {
6292 _dest.x2[0] = var36.x2[0];
6293 _dest.x2[1] = var37.x2[0];
6294 var40.x2[0] = _dest.i;
6298 _dest.x2[0] = var36.x2[1];
6299 _dest.x2[1] = var37.x2[1];
6300 var40.x2[1] = _dest.i;
6306 var41.i = _src.x2[1];
6307 var42.i = _src.x2[0];
6311 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
6313 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
6319 _dest.x2[0] = var43.x2[0];
6320 _dest.x2[1] = var38.x2[0];
6321 var39.x2[0] = _dest.i;
6325 _dest.x2[0] = var43.x2[1];
6326 _dest.x2[1] = var38.x2[1];
6327 var39.x2[1] = _dest.i;
6337 video_convert_orc_convert_Y444_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
6338 const guint8 * ORC_RESTRICT s1, int s1_stride,
6339 const guint8 * ORC_RESTRICT s2, int s2_stride,
6340 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
6342 OrcExecutor _ex, *ex = &_ex;
6343 static volatile int p_inited = 0;
6344 static OrcCode *c = 0;
6345 void (*func) (OrcExecutor *);
6348 orc_once_mutex_lock ();
6353 static const orc_uint8 bc[] = {
6354 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
6355 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 89, 52,
6356 52, 52, 95, 85, 89, 86, 89, 11, 4, 4, 12, 2, 2, 12, 2, 2,
6357 12, 2, 2, 20, 2, 20, 4, 20, 2, 20, 2, 21, 1, 196, 33, 5,
6358 6, 198, 34, 35, 33, 21, 1, 39, 32, 34, 35, 21, 1, 196, 0, 32,
6361 p = orc_program_new_from_static_bytecode (bc);
6362 orc_program_set_backup_function (p,
6363 _backup_video_convert_orc_convert_Y444_UYVY);
6365 p = orc_program_new ();
6366 orc_program_set_2d (p);
6367 orc_program_set_name (p, "video_convert_orc_convert_Y444_UYVY");
6368 orc_program_set_backup_function (p,
6369 _backup_video_convert_orc_convert_Y444_UYVY);
6370 orc_program_add_destination (p, 4, "d1");
6371 orc_program_add_source (p, 2, "s1");
6372 orc_program_add_source (p, 2, "s2");
6373 orc_program_add_source (p, 2, "s3");
6374 orc_program_add_temporary (p, 2, "t1");
6375 orc_program_add_temporary (p, 4, "t2");
6376 orc_program_add_temporary (p, 2, "t3");
6377 orc_program_add_temporary (p, 2, "t4");
6379 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S3,
6381 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
6383 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
6385 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
6389 orc_program_compile (p);
6390 c = orc_program_take_code (p);
6391 orc_program_free (p);
6394 orc_once_mutex_unlock ();
6396 ex->arrays[ORC_VAR_A2] = c;
6400 ORC_EXECUTOR_M (ex) = m;
6401 ex->arrays[ORC_VAR_D1] = d1;
6402 ex->params[ORC_VAR_D1] = d1_stride;
6403 ex->arrays[ORC_VAR_S1] = (void *) s1;
6404 ex->params[ORC_VAR_S1] = s1_stride;
6405 ex->arrays[ORC_VAR_S2] = (void *) s2;
6406 ex->params[ORC_VAR_S2] = s2_stride;
6407 ex->arrays[ORC_VAR_S3] = (void *) s3;
6408 ex->params[ORC_VAR_S3] = s3_stride;
6416 /* video_convert_orc_convert_Y444_AYUV */
6419 video_convert_orc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
6420 const guint8 * ORC_RESTRICT s1, int s1_stride,
6421 const guint8 * ORC_RESTRICT s2, int s2_stride,
6422 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
6426 orc_union32 *ORC_RESTRICT ptr0;
6427 const orc_int8 *ORC_RESTRICT ptr4;
6428 const orc_int8 *ORC_RESTRICT ptr5;
6429 const orc_int8 *ORC_RESTRICT ptr6;
6432 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6433 volatile orc_int8 var36;
6442 for (j = 0; j < m; j++) {
6443 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
6444 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
6445 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
6446 ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
6449 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
6451 for (i = 0; i < n; i++) {
6459 _dest.x2[0] = var34;
6460 _dest.x2[1] = var35;
6468 _dest.x2[0] = var36;
6469 _dest.x2[1] = var37;
6475 _dest.x2[0] = var40.i;
6476 _dest.x2[1] = var39.i;
6488 _backup_video_convert_orc_convert_Y444_AYUV (OrcExecutor * ORC_RESTRICT ex)
6493 int m = ex->params[ORC_VAR_A1];
6494 orc_union32 *ORC_RESTRICT ptr0;
6495 const orc_int8 *ORC_RESTRICT ptr4;
6496 const orc_int8 *ORC_RESTRICT ptr5;
6497 const orc_int8 *ORC_RESTRICT ptr6;
6500 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6501 volatile orc_int8 var36;
6510 for (j = 0; j < m; j++) {
6511 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
6512 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
6513 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
6514 ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
6517 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
6519 for (i = 0; i < n; i++) {
6527 _dest.x2[0] = var34;
6528 _dest.x2[1] = var35;
6536 _dest.x2[0] = var36;
6537 _dest.x2[1] = var37;
6543 _dest.x2[0] = var40.i;
6544 _dest.x2[1] = var39.i;
6555 video_convert_orc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
6556 const guint8 * ORC_RESTRICT s1, int s1_stride,
6557 const guint8 * ORC_RESTRICT s2, int s2_stride,
6558 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
6560 OrcExecutor _ex, *ex = &_ex;
6561 static volatile int p_inited = 0;
6562 static OrcCode *c = 0;
6563 void (*func) (OrcExecutor *);
6566 orc_once_mutex_lock ();
6571 static const orc_uint8 bc[] = {
6572 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
6573 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 89, 52,
6574 52, 52, 95, 65, 89, 85, 86, 11, 4, 4, 12, 1, 1, 12, 1, 1,
6575 12, 1, 1, 14, 1, 255, 0, 0, 0, 20, 2, 20, 2, 196, 32, 5,
6576 6, 196, 33, 16, 4, 195, 0, 33, 32, 2, 0,
6578 p = orc_program_new_from_static_bytecode (bc);
6579 orc_program_set_backup_function (p,
6580 _backup_video_convert_orc_convert_Y444_AYUV);
6582 p = orc_program_new ();
6583 orc_program_set_2d (p);
6584 orc_program_set_name (p, "video_convert_orc_convert_Y444_AYUV");
6585 orc_program_set_backup_function (p,
6586 _backup_video_convert_orc_convert_Y444_AYUV);
6587 orc_program_add_destination (p, 4, "d1");
6588 orc_program_add_source (p, 1, "s1");
6589 orc_program_add_source (p, 1, "s2");
6590 orc_program_add_source (p, 1, "s3");
6591 orc_program_add_constant (p, 1, 0x000000ff, "c1");
6592 orc_program_add_temporary (p, 2, "t1");
6593 orc_program_add_temporary (p, 2, "t2");
6595 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
6597 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
6599 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
6603 orc_program_compile (p);
6604 c = orc_program_take_code (p);
6605 orc_program_free (p);
6608 orc_once_mutex_unlock ();
6610 ex->arrays[ORC_VAR_A2] = c;
6614 ORC_EXECUTOR_M (ex) = m;
6615 ex->arrays[ORC_VAR_D1] = d1;
6616 ex->params[ORC_VAR_D1] = d1_stride;
6617 ex->arrays[ORC_VAR_S1] = (void *) s1;
6618 ex->params[ORC_VAR_S1] = s1_stride;
6619 ex->arrays[ORC_VAR_S2] = (void *) s2;
6620 ex->params[ORC_VAR_S2] = s2_stride;
6621 ex->arrays[ORC_VAR_S3] = (void *) s3;
6622 ex->params[ORC_VAR_S3] = s3_stride;
6630 /* video_convert_orc_convert_AYUV_ARGB */
6633 video_convert_orc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1, int d1_stride,
6634 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
6638 orc_union32 *ORC_RESTRICT ptr0;
6639 const orc_union32 *ORC_RESTRICT ptr4;
6641 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6642 volatile orc_union32 var49;
6646 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6647 volatile orc_union16 var50;
6651 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6652 volatile orc_union16 var51;
6656 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6657 volatile orc_union16 var52;
6661 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6662 volatile orc_union16 var53;
6666 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6667 volatile orc_union16 var54;
6671 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6672 volatile orc_union32 var55;
6714 for (j = 0; j < m; j++) {
6715 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
6716 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
6719 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6720 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6721 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6722 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6724 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
6726 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
6728 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
6730 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
6732 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
6734 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6735 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6736 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6737 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6739 for (i = 0; i < n; i++) {
6743 var57.x4[0] = var48.x4[0] - var49.x4[0];
6744 var57.x4[1] = var48.x4[1] - var49.x4[1];
6745 var57.x4[2] = var48.x4[2] - var49.x4[2];
6746 var57.x4[3] = var48.x4[3] - var49.x4[3];
6751 var58.i = _src.x2[1];
6752 var59.i = _src.x2[0];
6775 var67.i = (var64.i * var50.i) & 0xffff;
6777 var68.i = var67.i >> 8;
6779 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
6781 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
6783 var71.i = (var66.i * var51.i) & 0xffff;
6785 var72.i = var71.i >> 8;
6787 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
6789 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
6791 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
6793 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
6795 var77.i = (var65.i * var52.i) & 0xffff;
6797 var78.i = var77.i >> 8;
6799 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
6801 var80.i = (var65.i * var53.i) & 0xffff;
6803 var81.i = var80.i >> 8;
6805 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
6807 var83.i = (var66.i * var54.i) & 0xffff;
6809 var84.i = var83.i >> 8;
6811 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
6813 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
6815 var87 = ORC_CLAMP_SB (var74.i);
6817 var88 = ORC_CLAMP_SB (var86.i);
6819 var89 = ORC_CLAMP_SB (var79.i);
6823 _dest.x2[0] = var61;
6824 _dest.x2[1] = var87;
6830 _dest.x2[0] = var88;
6831 _dest.x2[1] = var89;
6837 _dest.x2[0] = var90.i;
6838 _dest.x2[1] = var91.i;
6842 var56.x4[0] = var92.x4[0] + var55.x4[0];
6843 var56.x4[1] = var92.x4[1] + var55.x4[1];
6844 var56.x4[2] = var92.x4[2] + var55.x4[2];
6845 var56.x4[3] = var92.x4[3] + var55.x4[3];
6855 _backup_video_convert_orc_convert_AYUV_ARGB (OrcExecutor * ORC_RESTRICT ex)
6860 int m = ex->params[ORC_VAR_A1];
6861 orc_union32 *ORC_RESTRICT ptr0;
6862 const orc_union32 *ORC_RESTRICT ptr4;
6864 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6865 volatile orc_union32 var49;
6869 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6870 volatile orc_union16 var50;
6874 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6875 volatile orc_union16 var51;
6879 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6880 volatile orc_union16 var52;
6884 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6885 volatile orc_union16 var53;
6889 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6890 volatile orc_union16 var54;
6894 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
6895 volatile orc_union32 var55;
6937 for (j = 0; j < m; j++) {
6938 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
6939 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
6942 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6943 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6944 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6945 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6947 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
6949 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
6951 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
6953 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
6955 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
6957 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6958 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6959 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6960 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
6962 for (i = 0; i < n; i++) {
6966 var57.x4[0] = var48.x4[0] - var49.x4[0];
6967 var57.x4[1] = var48.x4[1] - var49.x4[1];
6968 var57.x4[2] = var48.x4[2] - var49.x4[2];
6969 var57.x4[3] = var48.x4[3] - var49.x4[3];
6974 var58.i = _src.x2[1];
6975 var59.i = _src.x2[0];
6998 var67.i = (var64.i * var50.i) & 0xffff;
7000 var68.i = var67.i >> 8;
7002 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
7004 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
7006 var71.i = (var66.i * var51.i) & 0xffff;
7008 var72.i = var71.i >> 8;
7010 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
7012 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
7014 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
7016 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
7018 var77.i = (var65.i * var52.i) & 0xffff;
7020 var78.i = var77.i >> 8;
7022 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
7024 var80.i = (var65.i * var53.i) & 0xffff;
7026 var81.i = var80.i >> 8;
7028 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
7030 var83.i = (var66.i * var54.i) & 0xffff;
7032 var84.i = var83.i >> 8;
7034 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
7036 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
7038 var87 = ORC_CLAMP_SB (var74.i);
7040 var88 = ORC_CLAMP_SB (var86.i);
7042 var89 = ORC_CLAMP_SB (var79.i);
7046 _dest.x2[0] = var61;
7047 _dest.x2[1] = var87;
7053 _dest.x2[0] = var88;
7054 _dest.x2[1] = var89;
7060 _dest.x2[0] = var90.i;
7061 _dest.x2[1] = var91.i;
7065 var56.x4[0] = var92.x4[0] + var55.x4[0];
7066 var56.x4[1] = var92.x4[1] + var55.x4[1];
7067 var56.x4[2] = var92.x4[2] + var55.x4[2];
7068 var56.x4[3] = var92.x4[3] + var55.x4[3];
7077 video_convert_orc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1, int d1_stride,
7078 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7080 OrcExecutor _ex, *ex = &_ex;
7081 static volatile int p_inited = 0;
7082 static OrcCode *c = 0;
7083 void (*func) (OrcExecutor *);
7086 orc_once_mutex_lock ();
7091 static const orc_uint8 bc[] = {
7092 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
7093 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 65, 89,
7094 85, 86, 95, 65, 82, 71, 66, 11, 4, 4, 12, 4, 4, 14, 1, 8,
7095 0, 0, 0, 14, 4, 128, 0, 0, 0, 14, 4, 42, 0, 0, 0, 14,
7096 4, 103, 0, 0, 0, 14, 4, 4, 0, 0, 0, 14, 4, 100, 0, 0,
7097 0, 14, 4, 104, 0, 0, 0, 20, 2, 20, 2, 20, 1, 20, 1, 20,
7098 1, 20, 1, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20,
7099 1, 20, 1, 20, 1, 20, 4, 21, 2, 65, 47, 4, 17, 198, 32, 33,
7100 47, 199, 35, 34, 33, 199, 37, 36, 32, 149, 38, 35, 149, 39, 36, 149,
7101 40, 37, 89, 32, 38, 18, 94, 32, 32, 16, 71, 38, 38, 32, 71, 41,
7102 38, 40, 89, 32, 40, 19, 94, 32, 32, 16, 99, 41, 41, 32, 71, 41,
7103 41, 40, 71, 43, 38, 39, 71, 43, 43, 39, 89, 32, 39, 20, 94, 32,
7104 32, 16, 71, 43, 43, 32, 89, 32, 39, 21, 94, 32, 32, 16, 99, 42,
7105 38, 32, 89, 32, 40, 22, 94, 32, 32, 16, 99, 42, 42, 32, 99, 42,
7106 42, 32, 159, 44, 41, 159, 45, 42, 159, 46, 43, 196, 32, 34, 44, 196,
7107 33, 45, 46, 195, 47, 32, 33, 21, 2, 33, 0, 47, 17, 2, 0,
7109 p = orc_program_new_from_static_bytecode (bc);
7110 orc_program_set_backup_function (p,
7111 _backup_video_convert_orc_convert_AYUV_ARGB);
7113 p = orc_program_new ();
7114 orc_program_set_2d (p);
7115 orc_program_set_name (p, "video_convert_orc_convert_AYUV_ARGB");
7116 orc_program_set_backup_function (p,
7117 _backup_video_convert_orc_convert_AYUV_ARGB);
7118 orc_program_add_destination (p, 4, "d1");
7119 orc_program_add_source (p, 4, "s1");
7120 orc_program_add_constant (p, 1, 0x00000008, "c1");
7121 orc_program_add_constant (p, 4, 0x00000080, "c2");
7122 orc_program_add_constant (p, 4, 0x0000002a, "c3");
7123 orc_program_add_constant (p, 4, 0x00000067, "c4");
7124 orc_program_add_constant (p, 4, 0x00000004, "c5");
7125 orc_program_add_constant (p, 4, 0x00000064, "c6");
7126 orc_program_add_constant (p, 4, 0x00000068, "c7");
7127 orc_program_add_temporary (p, 2, "t1");
7128 orc_program_add_temporary (p, 2, "t2");
7129 orc_program_add_temporary (p, 1, "t3");
7130 orc_program_add_temporary (p, 1, "t4");
7131 orc_program_add_temporary (p, 1, "t5");
7132 orc_program_add_temporary (p, 1, "t6");
7133 orc_program_add_temporary (p, 2, "t7");
7134 orc_program_add_temporary (p, 2, "t8");
7135 orc_program_add_temporary (p, 2, "t9");
7136 orc_program_add_temporary (p, 2, "t10");
7137 orc_program_add_temporary (p, 2, "t11");
7138 orc_program_add_temporary (p, 2, "t12");
7139 orc_program_add_temporary (p, 1, "t13");
7140 orc_program_add_temporary (p, 1, "t14");
7141 orc_program_add_temporary (p, 1, "t15");
7142 orc_program_add_temporary (p, 4, "t16");
7144 orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
7146 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
7148 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
7150 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
7152 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
7154 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
7156 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
7158 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
7160 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
7162 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
7164 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
7166 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
7168 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
7170 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
7171 ORC_VAR_T1, ORC_VAR_D1);
7172 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
7173 ORC_VAR_T9, ORC_VAR_D1);
7174 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
7176 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
7177 ORC_VAR_T8, ORC_VAR_D1);
7178 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
7180 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
7182 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
7183 ORC_VAR_T1, ORC_VAR_D1);
7184 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
7186 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
7188 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
7190 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
7192 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
7194 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
7195 ORC_VAR_T1, ORC_VAR_D1);
7196 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
7197 ORC_VAR_T1, ORC_VAR_D1);
7198 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
7199 ORC_VAR_D1, ORC_VAR_D1);
7200 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
7201 ORC_VAR_D1, ORC_VAR_D1);
7202 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
7203 ORC_VAR_D1, ORC_VAR_D1);
7204 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3,
7205 ORC_VAR_T13, ORC_VAR_D1);
7206 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T14,
7207 ORC_VAR_T15, ORC_VAR_D1);
7208 orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
7210 orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
7214 orc_program_compile (p);
7215 c = orc_program_take_code (p);
7216 orc_program_free (p);
7219 orc_once_mutex_unlock ();
7221 ex->arrays[ORC_VAR_A2] = c;
7225 ORC_EXECUTOR_M (ex) = m;
7226 ex->arrays[ORC_VAR_D1] = d1;
7227 ex->params[ORC_VAR_D1] = d1_stride;
7228 ex->arrays[ORC_VAR_S1] = (void *) s1;
7229 ex->params[ORC_VAR_S1] = s1_stride;
7237 /* video_convert_orc_convert_AYUV_BGRA */
7240 video_convert_orc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1, int d1_stride,
7241 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7245 orc_union32 *ORC_RESTRICT ptr0;
7246 const orc_union32 *ORC_RESTRICT ptr4;
7248 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7249 volatile orc_union32 var49;
7253 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7254 volatile orc_union16 var50;
7258 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7259 volatile orc_union16 var51;
7263 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7264 volatile orc_union16 var52;
7268 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7269 volatile orc_union16 var53;
7273 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7274 volatile orc_union16 var54;
7278 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7279 volatile orc_union32 var55;
7321 for (j = 0; j < m; j++) {
7322 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
7323 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
7326 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7327 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7328 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7329 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7331 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
7333 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
7335 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
7337 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
7339 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
7341 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7342 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7343 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7344 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7346 for (i = 0; i < n; i++) {
7350 var57.x4[0] = var48.x4[0] - var49.x4[0];
7351 var57.x4[1] = var48.x4[1] - var49.x4[1];
7352 var57.x4[2] = var48.x4[2] - var49.x4[2];
7353 var57.x4[3] = var48.x4[3] - var49.x4[3];
7358 var58.i = _src.x2[1];
7359 var59.i = _src.x2[0];
7382 var67.i = (var64.i * var50.i) & 0xffff;
7384 var68.i = var67.i >> 8;
7386 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
7388 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
7390 var71.i = (var66.i * var51.i) & 0xffff;
7392 var72.i = var71.i >> 8;
7394 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
7396 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
7398 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
7400 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
7402 var77.i = (var65.i * var52.i) & 0xffff;
7404 var78.i = var77.i >> 8;
7406 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
7408 var80.i = (var65.i * var53.i) & 0xffff;
7410 var81.i = var80.i >> 8;
7412 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
7414 var83.i = (var66.i * var54.i) & 0xffff;
7416 var84.i = var83.i >> 8;
7418 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
7420 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
7422 var87 = ORC_CLAMP_SB (var74.i);
7424 var88 = ORC_CLAMP_SB (var86.i);
7426 var89 = ORC_CLAMP_SB (var79.i);
7430 _dest.x2[0] = var89;
7431 _dest.x2[1] = var88;
7437 _dest.x2[0] = var87;
7438 _dest.x2[1] = var61;
7444 _dest.x2[0] = var90.i;
7445 _dest.x2[1] = var91.i;
7449 var56.x4[0] = var92.x4[0] + var55.x4[0];
7450 var56.x4[1] = var92.x4[1] + var55.x4[1];
7451 var56.x4[2] = var92.x4[2] + var55.x4[2];
7452 var56.x4[3] = var92.x4[3] + var55.x4[3];
7462 _backup_video_convert_orc_convert_AYUV_BGRA (OrcExecutor * ORC_RESTRICT ex)
7467 int m = ex->params[ORC_VAR_A1];
7468 orc_union32 *ORC_RESTRICT ptr0;
7469 const orc_union32 *ORC_RESTRICT ptr4;
7471 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7472 volatile orc_union32 var49;
7476 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7477 volatile orc_union16 var50;
7481 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7482 volatile orc_union16 var51;
7486 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7487 volatile orc_union16 var52;
7491 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7492 volatile orc_union16 var53;
7496 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7497 volatile orc_union16 var54;
7501 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7502 volatile orc_union32 var55;
7544 for (j = 0; j < m; j++) {
7545 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
7546 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
7549 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7550 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7551 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7552 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7554 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
7556 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
7558 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
7560 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
7562 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
7564 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7565 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7566 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7567 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7569 for (i = 0; i < n; i++) {
7573 var57.x4[0] = var48.x4[0] - var49.x4[0];
7574 var57.x4[1] = var48.x4[1] - var49.x4[1];
7575 var57.x4[2] = var48.x4[2] - var49.x4[2];
7576 var57.x4[3] = var48.x4[3] - var49.x4[3];
7581 var58.i = _src.x2[1];
7582 var59.i = _src.x2[0];
7605 var67.i = (var64.i * var50.i) & 0xffff;
7607 var68.i = var67.i >> 8;
7609 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
7611 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
7613 var71.i = (var66.i * var51.i) & 0xffff;
7615 var72.i = var71.i >> 8;
7617 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
7619 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
7621 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
7623 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
7625 var77.i = (var65.i * var52.i) & 0xffff;
7627 var78.i = var77.i >> 8;
7629 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
7631 var80.i = (var65.i * var53.i) & 0xffff;
7633 var81.i = var80.i >> 8;
7635 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
7637 var83.i = (var66.i * var54.i) & 0xffff;
7639 var84.i = var83.i >> 8;
7641 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
7643 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
7645 var87 = ORC_CLAMP_SB (var74.i);
7647 var88 = ORC_CLAMP_SB (var86.i);
7649 var89 = ORC_CLAMP_SB (var79.i);
7653 _dest.x2[0] = var89;
7654 _dest.x2[1] = var88;
7660 _dest.x2[0] = var87;
7661 _dest.x2[1] = var61;
7667 _dest.x2[0] = var90.i;
7668 _dest.x2[1] = var91.i;
7672 var56.x4[0] = var92.x4[0] + var55.x4[0];
7673 var56.x4[1] = var92.x4[1] + var55.x4[1];
7674 var56.x4[2] = var92.x4[2] + var55.x4[2];
7675 var56.x4[3] = var92.x4[3] + var55.x4[3];
7684 video_convert_orc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1, int d1_stride,
7685 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7687 OrcExecutor _ex, *ex = &_ex;
7688 static volatile int p_inited = 0;
7689 static OrcCode *c = 0;
7690 void (*func) (OrcExecutor *);
7693 orc_once_mutex_lock ();
7698 static const orc_uint8 bc[] = {
7699 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
7700 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 65, 89,
7701 85, 86, 95, 66, 71, 82, 65, 11, 4, 4, 12, 4, 4, 14, 1, 8,
7702 0, 0, 0, 14, 4, 128, 0, 0, 0, 14, 4, 42, 0, 0, 0, 14,
7703 4, 103, 0, 0, 0, 14, 4, 4, 0, 0, 0, 14, 4, 100, 0, 0,
7704 0, 14, 4, 104, 0, 0, 0, 20, 2, 20, 2, 20, 1, 20, 1, 20,
7705 1, 20, 1, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20,
7706 1, 20, 1, 20, 1, 20, 4, 21, 2, 65, 47, 4, 17, 198, 32, 33,
7707 47, 199, 35, 34, 33, 199, 37, 36, 32, 149, 38, 35, 149, 39, 36, 149,
7708 40, 37, 89, 32, 38, 18, 94, 32, 32, 16, 71, 38, 38, 32, 71, 41,
7709 38, 40, 89, 32, 40, 19, 94, 32, 32, 16, 99, 41, 41, 32, 71, 41,
7710 41, 40, 71, 43, 38, 39, 71, 43, 43, 39, 89, 32, 39, 20, 94, 32,
7711 32, 16, 71, 43, 43, 32, 89, 32, 39, 21, 94, 32, 32, 16, 99, 42,
7712 38, 32, 89, 32, 40, 22, 94, 32, 32, 16, 99, 42, 42, 32, 99, 42,
7713 42, 32, 159, 44, 41, 159, 45, 42, 159, 46, 43, 196, 32, 46, 45, 196,
7714 33, 44, 34, 195, 47, 32, 33, 21, 2, 33, 0, 47, 17, 2, 0,
7716 p = orc_program_new_from_static_bytecode (bc);
7717 orc_program_set_backup_function (p,
7718 _backup_video_convert_orc_convert_AYUV_BGRA);
7720 p = orc_program_new ();
7721 orc_program_set_2d (p);
7722 orc_program_set_name (p, "video_convert_orc_convert_AYUV_BGRA");
7723 orc_program_set_backup_function (p,
7724 _backup_video_convert_orc_convert_AYUV_BGRA);
7725 orc_program_add_destination (p, 4, "d1");
7726 orc_program_add_source (p, 4, "s1");
7727 orc_program_add_constant (p, 1, 0x00000008, "c1");
7728 orc_program_add_constant (p, 4, 0x00000080, "c2");
7729 orc_program_add_constant (p, 4, 0x0000002a, "c3");
7730 orc_program_add_constant (p, 4, 0x00000067, "c4");
7731 orc_program_add_constant (p, 4, 0x00000004, "c5");
7732 orc_program_add_constant (p, 4, 0x00000064, "c6");
7733 orc_program_add_constant (p, 4, 0x00000068, "c7");
7734 orc_program_add_temporary (p, 2, "t1");
7735 orc_program_add_temporary (p, 2, "t2");
7736 orc_program_add_temporary (p, 1, "t3");
7737 orc_program_add_temporary (p, 1, "t4");
7738 orc_program_add_temporary (p, 1, "t5");
7739 orc_program_add_temporary (p, 1, "t6");
7740 orc_program_add_temporary (p, 2, "t7");
7741 orc_program_add_temporary (p, 2, "t8");
7742 orc_program_add_temporary (p, 2, "t9");
7743 orc_program_add_temporary (p, 2, "t10");
7744 orc_program_add_temporary (p, 2, "t11");
7745 orc_program_add_temporary (p, 2, "t12");
7746 orc_program_add_temporary (p, 1, "t13");
7747 orc_program_add_temporary (p, 1, "t14");
7748 orc_program_add_temporary (p, 1, "t15");
7749 orc_program_add_temporary (p, 4, "t16");
7751 orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
7753 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
7755 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
7757 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
7759 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
7761 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
7763 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
7765 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
7767 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
7769 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
7771 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
7773 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
7775 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
7777 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
7778 ORC_VAR_T1, ORC_VAR_D1);
7779 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
7780 ORC_VAR_T9, ORC_VAR_D1);
7781 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
7783 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
7784 ORC_VAR_T8, ORC_VAR_D1);
7785 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
7787 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
7789 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
7790 ORC_VAR_T1, ORC_VAR_D1);
7791 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
7793 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
7795 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
7797 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
7799 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
7801 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
7802 ORC_VAR_T1, ORC_VAR_D1);
7803 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
7804 ORC_VAR_T1, ORC_VAR_D1);
7805 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
7806 ORC_VAR_D1, ORC_VAR_D1);
7807 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
7808 ORC_VAR_D1, ORC_VAR_D1);
7809 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
7810 ORC_VAR_D1, ORC_VAR_D1);
7811 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T15,
7812 ORC_VAR_T14, ORC_VAR_D1);
7813 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T13,
7814 ORC_VAR_T3, ORC_VAR_D1);
7815 orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
7817 orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
7821 orc_program_compile (p);
7822 c = orc_program_take_code (p);
7823 orc_program_free (p);
7826 orc_once_mutex_unlock ();
7828 ex->arrays[ORC_VAR_A2] = c;
7832 ORC_EXECUTOR_M (ex) = m;
7833 ex->arrays[ORC_VAR_D1] = d1;
7834 ex->params[ORC_VAR_D1] = d1_stride;
7835 ex->arrays[ORC_VAR_S1] = (void *) s1;
7836 ex->params[ORC_VAR_S1] = s1_stride;
7844 /* video_convert_orc_convert_AYUV_ABGR */
7847 video_convert_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1, int d1_stride,
7848 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7852 orc_union32 *ORC_RESTRICT ptr0;
7853 const orc_union32 *ORC_RESTRICT ptr4;
7855 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7856 volatile orc_union32 var49;
7860 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7861 volatile orc_union16 var50;
7865 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7866 volatile orc_union16 var51;
7870 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7871 volatile orc_union16 var52;
7875 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7876 volatile orc_union16 var53;
7880 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7881 volatile orc_union16 var54;
7885 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
7886 volatile orc_union32 var55;
7928 for (j = 0; j < m; j++) {
7929 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
7930 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
7933 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7934 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7935 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7936 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7938 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
7940 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
7942 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
7944 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
7946 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
7948 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7949 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7950 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7951 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
7953 for (i = 0; i < n; i++) {
7957 var57.x4[0] = var48.x4[0] - var49.x4[0];
7958 var57.x4[1] = var48.x4[1] - var49.x4[1];
7959 var57.x4[2] = var48.x4[2] - var49.x4[2];
7960 var57.x4[3] = var48.x4[3] - var49.x4[3];
7965 var58.i = _src.x2[1];
7966 var59.i = _src.x2[0];
7989 var67.i = (var64.i * var50.i) & 0xffff;
7991 var68.i = var67.i >> 8;
7993 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
7995 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
7997 var71.i = (var66.i * var51.i) & 0xffff;
7999 var72.i = var71.i >> 8;
8001 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
8003 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
8005 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
8007 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
8009 var77.i = (var65.i * var52.i) & 0xffff;
8011 var78.i = var77.i >> 8;
8013 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
8015 var80.i = (var65.i * var53.i) & 0xffff;
8017 var81.i = var80.i >> 8;
8019 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
8021 var83.i = (var66.i * var54.i) & 0xffff;
8023 var84.i = var83.i >> 8;
8025 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
8027 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
8029 var87 = ORC_CLAMP_SB (var74.i);
8031 var88 = ORC_CLAMP_SB (var86.i);
8033 var89 = ORC_CLAMP_SB (var79.i);
8037 _dest.x2[0] = var61;
8038 _dest.x2[1] = var89;
8044 _dest.x2[0] = var88;
8045 _dest.x2[1] = var87;
8051 _dest.x2[0] = var90.i;
8052 _dest.x2[1] = var91.i;
8056 var56.x4[0] = var92.x4[0] + var55.x4[0];
8057 var56.x4[1] = var92.x4[1] + var55.x4[1];
8058 var56.x4[2] = var92.x4[2] + var55.x4[2];
8059 var56.x4[3] = var92.x4[3] + var55.x4[3];
8069 _backup_video_convert_orc_convert_AYUV_ABGR (OrcExecutor * ORC_RESTRICT ex)
8074 int m = ex->params[ORC_VAR_A1];
8075 orc_union32 *ORC_RESTRICT ptr0;
8076 const orc_union32 *ORC_RESTRICT ptr4;
8078 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8079 volatile orc_union32 var49;
8083 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8084 volatile orc_union16 var50;
8088 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8089 volatile orc_union16 var51;
8093 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8094 volatile orc_union16 var52;
8098 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8099 volatile orc_union16 var53;
8103 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8104 volatile orc_union16 var54;
8108 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8109 volatile orc_union32 var55;
8151 for (j = 0; j < m; j++) {
8152 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
8153 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
8156 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8157 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8158 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8159 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8161 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
8163 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
8165 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
8167 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
8169 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
8171 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8172 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8173 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8174 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8176 for (i = 0; i < n; i++) {
8180 var57.x4[0] = var48.x4[0] - var49.x4[0];
8181 var57.x4[1] = var48.x4[1] - var49.x4[1];
8182 var57.x4[2] = var48.x4[2] - var49.x4[2];
8183 var57.x4[3] = var48.x4[3] - var49.x4[3];
8188 var58.i = _src.x2[1];
8189 var59.i = _src.x2[0];
8212 var67.i = (var64.i * var50.i) & 0xffff;
8214 var68.i = var67.i >> 8;
8216 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
8218 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
8220 var71.i = (var66.i * var51.i) & 0xffff;
8222 var72.i = var71.i >> 8;
8224 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
8226 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
8228 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
8230 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
8232 var77.i = (var65.i * var52.i) & 0xffff;
8234 var78.i = var77.i >> 8;
8236 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
8238 var80.i = (var65.i * var53.i) & 0xffff;
8240 var81.i = var80.i >> 8;
8242 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
8244 var83.i = (var66.i * var54.i) & 0xffff;
8246 var84.i = var83.i >> 8;
8248 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
8250 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
8252 var87 = ORC_CLAMP_SB (var74.i);
8254 var88 = ORC_CLAMP_SB (var86.i);
8256 var89 = ORC_CLAMP_SB (var79.i);
8260 _dest.x2[0] = var61;
8261 _dest.x2[1] = var89;
8267 _dest.x2[0] = var88;
8268 _dest.x2[1] = var87;
8274 _dest.x2[0] = var90.i;
8275 _dest.x2[1] = var91.i;
8279 var56.x4[0] = var92.x4[0] + var55.x4[0];
8280 var56.x4[1] = var92.x4[1] + var55.x4[1];
8281 var56.x4[2] = var92.x4[2] + var55.x4[2];
8282 var56.x4[3] = var92.x4[3] + var55.x4[3];
8291 video_convert_orc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1, int d1_stride,
8292 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
8294 OrcExecutor _ex, *ex = &_ex;
8295 static volatile int p_inited = 0;
8296 static OrcCode *c = 0;
8297 void (*func) (OrcExecutor *);
8300 orc_once_mutex_lock ();
8305 static const orc_uint8 bc[] = {
8306 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
8307 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 65, 89,
8308 85, 86, 95, 65, 66, 71, 82, 11, 4, 4, 12, 4, 4, 14, 1, 8,
8309 0, 0, 0, 14, 4, 128, 0, 0, 0, 14, 4, 42, 0, 0, 0, 14,
8310 4, 103, 0, 0, 0, 14, 4, 4, 0, 0, 0, 14, 4, 100, 0, 0,
8311 0, 14, 4, 104, 0, 0, 0, 20, 2, 20, 2, 20, 1, 20, 1, 20,
8312 1, 20, 1, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20,
8313 1, 20, 1, 20, 1, 20, 4, 21, 2, 65, 47, 4, 17, 198, 32, 33,
8314 47, 199, 35, 34, 33, 199, 37, 36, 32, 149, 38, 35, 149, 39, 36, 149,
8315 40, 37, 89, 32, 38, 18, 94, 32, 32, 16, 71, 38, 38, 32, 71, 41,
8316 38, 40, 89, 32, 40, 19, 94, 32, 32, 16, 99, 41, 41, 32, 71, 41,
8317 41, 40, 71, 43, 38, 39, 71, 43, 43, 39, 89, 32, 39, 20, 94, 32,
8318 32, 16, 71, 43, 43, 32, 89, 32, 39, 21, 94, 32, 32, 16, 99, 42,
8319 38, 32, 89, 32, 40, 22, 94, 32, 32, 16, 99, 42, 42, 32, 99, 42,
8320 42, 32, 159, 44, 41, 159, 45, 42, 159, 46, 43, 196, 32, 34, 46, 196,
8321 33, 45, 44, 195, 47, 32, 33, 21, 2, 33, 0, 47, 17, 2, 0,
8323 p = orc_program_new_from_static_bytecode (bc);
8324 orc_program_set_backup_function (p,
8325 _backup_video_convert_orc_convert_AYUV_ABGR);
8327 p = orc_program_new ();
8328 orc_program_set_2d (p);
8329 orc_program_set_name (p, "video_convert_orc_convert_AYUV_ABGR");
8330 orc_program_set_backup_function (p,
8331 _backup_video_convert_orc_convert_AYUV_ABGR);
8332 orc_program_add_destination (p, 4, "d1");
8333 orc_program_add_source (p, 4, "s1");
8334 orc_program_add_constant (p, 1, 0x00000008, "c1");
8335 orc_program_add_constant (p, 4, 0x00000080, "c2");
8336 orc_program_add_constant (p, 4, 0x0000002a, "c3");
8337 orc_program_add_constant (p, 4, 0x00000067, "c4");
8338 orc_program_add_constant (p, 4, 0x00000004, "c5");
8339 orc_program_add_constant (p, 4, 0x00000064, "c6");
8340 orc_program_add_constant (p, 4, 0x00000068, "c7");
8341 orc_program_add_temporary (p, 2, "t1");
8342 orc_program_add_temporary (p, 2, "t2");
8343 orc_program_add_temporary (p, 1, "t3");
8344 orc_program_add_temporary (p, 1, "t4");
8345 orc_program_add_temporary (p, 1, "t5");
8346 orc_program_add_temporary (p, 1, "t6");
8347 orc_program_add_temporary (p, 2, "t7");
8348 orc_program_add_temporary (p, 2, "t8");
8349 orc_program_add_temporary (p, 2, "t9");
8350 orc_program_add_temporary (p, 2, "t10");
8351 orc_program_add_temporary (p, 2, "t11");
8352 orc_program_add_temporary (p, 2, "t12");
8353 orc_program_add_temporary (p, 1, "t13");
8354 orc_program_add_temporary (p, 1, "t14");
8355 orc_program_add_temporary (p, 1, "t15");
8356 orc_program_add_temporary (p, 4, "t16");
8358 orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
8360 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
8362 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
8364 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
8366 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
8368 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
8370 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
8372 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
8374 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
8376 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
8378 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
8380 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
8382 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
8384 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
8385 ORC_VAR_T1, ORC_VAR_D1);
8386 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
8387 ORC_VAR_T9, ORC_VAR_D1);
8388 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
8390 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
8391 ORC_VAR_T8, ORC_VAR_D1);
8392 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
8394 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
8396 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
8397 ORC_VAR_T1, ORC_VAR_D1);
8398 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
8400 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
8402 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
8404 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
8406 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
8408 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
8409 ORC_VAR_T1, ORC_VAR_D1);
8410 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
8411 ORC_VAR_T1, ORC_VAR_D1);
8412 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
8413 ORC_VAR_D1, ORC_VAR_D1);
8414 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
8415 ORC_VAR_D1, ORC_VAR_D1);
8416 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
8417 ORC_VAR_D1, ORC_VAR_D1);
8418 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3,
8419 ORC_VAR_T15, ORC_VAR_D1);
8420 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T14,
8421 ORC_VAR_T13, ORC_VAR_D1);
8422 orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
8424 orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
8428 orc_program_compile (p);
8429 c = orc_program_take_code (p);
8430 orc_program_free (p);
8433 orc_once_mutex_unlock ();
8435 ex->arrays[ORC_VAR_A2] = c;
8439 ORC_EXECUTOR_M (ex) = m;
8440 ex->arrays[ORC_VAR_D1] = d1;
8441 ex->params[ORC_VAR_D1] = d1_stride;
8442 ex->arrays[ORC_VAR_S1] = (void *) s1;
8443 ex->params[ORC_VAR_S1] = s1_stride;
8451 /* video_convert_orc_convert_AYUV_RGBA */
8454 video_convert_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1, int d1_stride,
8455 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
8459 orc_union32 *ORC_RESTRICT ptr0;
8460 const orc_union32 *ORC_RESTRICT ptr4;
8462 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8463 volatile orc_union32 var49;
8467 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8468 volatile orc_union16 var50;
8472 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8473 volatile orc_union16 var51;
8477 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8478 volatile orc_union16 var52;
8482 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8483 volatile orc_union16 var53;
8487 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8488 volatile orc_union16 var54;
8492 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8493 volatile orc_union32 var55;
8535 for (j = 0; j < m; j++) {
8536 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
8537 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
8540 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8541 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8542 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8543 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8545 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
8547 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
8549 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
8551 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
8553 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
8555 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8556 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8557 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8558 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8560 for (i = 0; i < n; i++) {
8564 var57.x4[0] = var48.x4[0] - var49.x4[0];
8565 var57.x4[1] = var48.x4[1] - var49.x4[1];
8566 var57.x4[2] = var48.x4[2] - var49.x4[2];
8567 var57.x4[3] = var48.x4[3] - var49.x4[3];
8572 var58.i = _src.x2[1];
8573 var59.i = _src.x2[0];
8596 var67.i = (var64.i * var50.i) & 0xffff;
8598 var68.i = var67.i >> 8;
8600 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
8602 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
8604 var71.i = (var66.i * var51.i) & 0xffff;
8606 var72.i = var71.i >> 8;
8608 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
8610 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
8612 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
8614 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
8616 var77.i = (var65.i * var52.i) & 0xffff;
8618 var78.i = var77.i >> 8;
8620 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
8622 var80.i = (var65.i * var53.i) & 0xffff;
8624 var81.i = var80.i >> 8;
8626 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
8628 var83.i = (var66.i * var54.i) & 0xffff;
8630 var84.i = var83.i >> 8;
8632 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
8634 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
8636 var87 = ORC_CLAMP_SB (var74.i);
8638 var88 = ORC_CLAMP_SB (var86.i);
8640 var89 = ORC_CLAMP_SB (var79.i);
8644 _dest.x2[0] = var87;
8645 _dest.x2[1] = var88;
8651 _dest.x2[0] = var89;
8652 _dest.x2[1] = var61;
8658 _dest.x2[0] = var90.i;
8659 _dest.x2[1] = var91.i;
8663 var56.x4[0] = var92.x4[0] + var55.x4[0];
8664 var56.x4[1] = var92.x4[1] + var55.x4[1];
8665 var56.x4[2] = var92.x4[2] + var55.x4[2];
8666 var56.x4[3] = var92.x4[3] + var55.x4[3];
8676 _backup_video_convert_orc_convert_AYUV_RGBA (OrcExecutor * ORC_RESTRICT ex)
8681 int m = ex->params[ORC_VAR_A1];
8682 orc_union32 *ORC_RESTRICT ptr0;
8683 const orc_union32 *ORC_RESTRICT ptr4;
8685 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8686 volatile orc_union32 var49;
8690 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8691 volatile orc_union16 var50;
8695 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8696 volatile orc_union16 var51;
8700 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8701 volatile orc_union16 var52;
8705 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8706 volatile orc_union16 var53;
8710 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8711 volatile orc_union16 var54;
8715 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
8716 volatile orc_union32 var55;
8758 for (j = 0; j < m; j++) {
8759 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
8760 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
8763 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8764 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8765 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8766 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8768 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
8770 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
8772 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
8774 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
8776 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
8778 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8779 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8780 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8781 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
8783 for (i = 0; i < n; i++) {
8787 var57.x4[0] = var48.x4[0] - var49.x4[0];
8788 var57.x4[1] = var48.x4[1] - var49.x4[1];
8789 var57.x4[2] = var48.x4[2] - var49.x4[2];
8790 var57.x4[3] = var48.x4[3] - var49.x4[3];
8795 var58.i = _src.x2[1];
8796 var59.i = _src.x2[0];
8819 var67.i = (var64.i * var50.i) & 0xffff;
8821 var68.i = var67.i >> 8;
8823 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
8825 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
8827 var71.i = (var66.i * var51.i) & 0xffff;
8829 var72.i = var71.i >> 8;
8831 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
8833 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
8835 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
8837 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
8839 var77.i = (var65.i * var52.i) & 0xffff;
8841 var78.i = var77.i >> 8;
8843 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
8845 var80.i = (var65.i * var53.i) & 0xffff;
8847 var81.i = var80.i >> 8;
8849 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
8851 var83.i = (var66.i * var54.i) & 0xffff;
8853 var84.i = var83.i >> 8;
8855 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
8857 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
8859 var87 = ORC_CLAMP_SB (var74.i);
8861 var88 = ORC_CLAMP_SB (var86.i);
8863 var89 = ORC_CLAMP_SB (var79.i);
8867 _dest.x2[0] = var87;
8868 _dest.x2[1] = var88;
8874 _dest.x2[0] = var89;
8875 _dest.x2[1] = var61;
8881 _dest.x2[0] = var90.i;
8882 _dest.x2[1] = var91.i;
8886 var56.x4[0] = var92.x4[0] + var55.x4[0];
8887 var56.x4[1] = var92.x4[1] + var55.x4[1];
8888 var56.x4[2] = var92.x4[2] + var55.x4[2];
8889 var56.x4[3] = var92.x4[3] + var55.x4[3];
8898 video_convert_orc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1, int d1_stride,
8899 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
8901 OrcExecutor _ex, *ex = &_ex;
8902 static volatile int p_inited = 0;
8903 static OrcCode *c = 0;
8904 void (*func) (OrcExecutor *);
8907 orc_once_mutex_lock ();
8912 static const orc_uint8 bc[] = {
8913 1, 7, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114,
8914 116, 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 65, 89,
8915 85, 86, 95, 82, 71, 66, 65, 11, 4, 4, 12, 4, 4, 14, 1, 8,
8916 0, 0, 0, 14, 4, 128, 0, 0, 0, 14, 4, 42, 0, 0, 0, 14,
8917 4, 103, 0, 0, 0, 14, 4, 4, 0, 0, 0, 14, 4, 100, 0, 0,
8918 0, 14, 4, 104, 0, 0, 0, 20, 2, 20, 2, 20, 1, 20, 1, 20,
8919 1, 20, 1, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20,
8920 1, 20, 1, 20, 1, 20, 4, 21, 2, 65, 47, 4, 17, 198, 32, 33,
8921 47, 199, 35, 34, 33, 199, 37, 36, 32, 149, 38, 35, 149, 39, 36, 149,
8922 40, 37, 89, 32, 38, 18, 94, 32, 32, 16, 71, 38, 38, 32, 71, 41,
8923 38, 40, 89, 32, 40, 19, 94, 32, 32, 16, 99, 41, 41, 32, 71, 41,
8924 41, 40, 71, 43, 38, 39, 71, 43, 43, 39, 89, 32, 39, 20, 94, 32,
8925 32, 16, 71, 43, 43, 32, 89, 32, 39, 21, 94, 32, 32, 16, 99, 42,
8926 38, 32, 89, 32, 40, 22, 94, 32, 32, 16, 99, 42, 42, 32, 99, 42,
8927 42, 32, 159, 44, 41, 159, 45, 42, 159, 46, 43, 196, 32, 44, 45, 196,
8928 33, 46, 34, 195, 47, 32, 33, 21, 2, 33, 0, 47, 17, 2, 0,
8930 p = orc_program_new_from_static_bytecode (bc);
8931 orc_program_set_backup_function (p,
8932 _backup_video_convert_orc_convert_AYUV_RGBA);
8934 p = orc_program_new ();
8935 orc_program_set_2d (p);
8936 orc_program_set_name (p, "video_convert_orc_convert_AYUV_RGBA");
8937 orc_program_set_backup_function (p,
8938 _backup_video_convert_orc_convert_AYUV_RGBA);
8939 orc_program_add_destination (p, 4, "d1");
8940 orc_program_add_source (p, 4, "s1");
8941 orc_program_add_constant (p, 1, 0x00000008, "c1");
8942 orc_program_add_constant (p, 4, 0x00000080, "c2");
8943 orc_program_add_constant (p, 4, 0x0000002a, "c3");
8944 orc_program_add_constant (p, 4, 0x00000067, "c4");
8945 orc_program_add_constant (p, 4, 0x00000004, "c5");
8946 orc_program_add_constant (p, 4, 0x00000064, "c6");
8947 orc_program_add_constant (p, 4, 0x00000068, "c7");
8948 orc_program_add_temporary (p, 2, "t1");
8949 orc_program_add_temporary (p, 2, "t2");
8950 orc_program_add_temporary (p, 1, "t3");
8951 orc_program_add_temporary (p, 1, "t4");
8952 orc_program_add_temporary (p, 1, "t5");
8953 orc_program_add_temporary (p, 1, "t6");
8954 orc_program_add_temporary (p, 2, "t7");
8955 orc_program_add_temporary (p, 2, "t8");
8956 orc_program_add_temporary (p, 2, "t9");
8957 orc_program_add_temporary (p, 2, "t10");
8958 orc_program_add_temporary (p, 2, "t11");
8959 orc_program_add_temporary (p, 2, "t12");
8960 orc_program_add_temporary (p, 1, "t13");
8961 orc_program_add_temporary (p, 1, "t14");
8962 orc_program_add_temporary (p, 1, "t15");
8963 orc_program_add_temporary (p, 4, "t16");
8965 orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
8967 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
8969 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
8971 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
8973 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
8975 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
8977 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
8979 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
8981 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
8983 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
8985 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
8987 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
8989 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
8991 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
8992 ORC_VAR_T1, ORC_VAR_D1);
8993 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
8994 ORC_VAR_T9, ORC_VAR_D1);
8995 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
8997 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
8998 ORC_VAR_T8, ORC_VAR_D1);
8999 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
9001 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
9003 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
9004 ORC_VAR_T1, ORC_VAR_D1);
9005 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
9007 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
9009 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
9011 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
9013 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
9015 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
9016 ORC_VAR_T1, ORC_VAR_D1);
9017 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
9018 ORC_VAR_T1, ORC_VAR_D1);
9019 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
9020 ORC_VAR_D1, ORC_VAR_D1);
9021 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
9022 ORC_VAR_D1, ORC_VAR_D1);
9023 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
9024 ORC_VAR_D1, ORC_VAR_D1);
9025 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T13,
9026 ORC_VAR_T14, ORC_VAR_D1);
9027 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T15,
9028 ORC_VAR_T3, ORC_VAR_D1);
9029 orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
9031 orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
9035 orc_program_compile (p);
9036 c = orc_program_take_code (p);
9037 orc_program_free (p);
9040 orc_once_mutex_unlock ();
9042 ex->arrays[ORC_VAR_A2] = c;
9046 ORC_EXECUTOR_M (ex) = m;
9047 ex->arrays[ORC_VAR_D1] = d1;
9048 ex->params[ORC_VAR_D1] = d1_stride;
9049 ex->arrays[ORC_VAR_S1] = (void *) s1;
9050 ex->params[ORC_VAR_S1] = s1_stride;
9058 /* video_convert_orc_convert_I420_BGRA */
9061 video_convert_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
9062 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
9063 const guint8 * ORC_RESTRICT s3, int n)
9066 orc_union32 *ORC_RESTRICT ptr0;
9067 const orc_int8 *ORC_RESTRICT ptr4;
9068 const orc_int8 *ORC_RESTRICT ptr5;
9069 const orc_int8 *ORC_RESTRICT ptr6;
9071 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9072 volatile orc_int8 var46;
9076 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9077 volatile orc_int8 var47;
9081 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9082 volatile orc_int8 var48;
9086 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9087 volatile orc_union16 var49;
9091 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9092 volatile orc_union16 var50;
9096 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9097 volatile orc_union16 var51;
9101 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9102 volatile orc_union16 var52;
9106 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9107 volatile orc_union16 var53;
9111 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9112 volatile orc_int8 var54;
9116 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9117 volatile orc_union32 var55;
9157 ptr0 = (orc_union32 *) d1;
9158 ptr4 = (orc_int8 *) s1;
9159 ptr5 = (orc_int8 *) s2;
9160 ptr6 = (orc_int8 *) s3;
9163 var46 = (int) 0x00000080; /* 128 or 6.32404e-322f */
9165 var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */
9167 var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */
9169 var49.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
9171 var50.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
9173 var51.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
9175 var52.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
9177 var53.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
9179 var54 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
9181 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
9182 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
9183 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
9184 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
9186 for (i = 0; i < n; i++) {
9190 var57 = var45 - var46;
9195 (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
9196 1) >> 1 : ptr5[i >> 1];
9198 var60 = var59 - var47;
9203 (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
9204 1) >> 1 : ptr6[i >> 1];
9206 var63 = var62 - var48;
9210 var65.i = (var58.i * var49.i) & 0xffff;
9212 var66.i = var65.i >> 8;
9214 var67.i = ORC_CLAMP_SW (var58.i + var66.i);
9216 var68.i = ORC_CLAMP_SW (var67.i + var64.i);
9218 var69.i = (var64.i * var50.i) & 0xffff;
9220 var70.i = var69.i >> 8;
9222 var71.i = ORC_CLAMP_SW (var68.i - var70.i);
9224 var72.i = ORC_CLAMP_SW (var71.i + var64.i);
9226 var73.i = ORC_CLAMP_SW (var67.i + var61.i);
9228 var74.i = ORC_CLAMP_SW (var73.i + var61.i);
9230 var75.i = (var61.i * var51.i) & 0xffff;
9232 var76.i = var75.i >> 8;
9234 var77.i = ORC_CLAMP_SW (var74.i + var76.i);
9236 var78.i = (var61.i * var52.i) & 0xffff;
9238 var79.i = var78.i >> 8;
9240 var80.i = ORC_CLAMP_SW (var67.i - var79.i);
9242 var81.i = (var64.i * var53.i) & 0xffff;
9244 var82.i = var81.i >> 8;
9246 var83.i = ORC_CLAMP_SW (var80.i - var82.i);
9248 var84.i = ORC_CLAMP_SW (var83.i - var82.i);
9250 var85 = ORC_CLAMP_SB (var72.i);
9252 var86 = ORC_CLAMP_SB (var84.i);
9254 var87 = ORC_CLAMP_SB (var77.i);
9258 _dest.x2[0] = var87;
9259 _dest.x2[1] = var86;
9265 _dest.x2[0] = var85;
9266 _dest.x2[1] = var54;
9272 _dest.x2[0] = var88.i;
9273 _dest.x2[1] = var89.i;
9277 var56.x4[0] = var90.x4[0] + var55.x4[0];
9278 var56.x4[1] = var90.x4[1] + var55.x4[1];
9279 var56.x4[2] = var90.x4[2] + var55.x4[2];
9280 var56.x4[3] = var90.x4[3] + var55.x4[3];
9289 _backup_video_convert_orc_convert_I420_BGRA (OrcExecutor * ORC_RESTRICT ex)
9293 orc_union32 *ORC_RESTRICT ptr0;
9294 const orc_int8 *ORC_RESTRICT ptr4;
9295 const orc_int8 *ORC_RESTRICT ptr5;
9296 const orc_int8 *ORC_RESTRICT ptr6;
9298 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9299 volatile orc_int8 var46;
9303 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9304 volatile orc_int8 var47;
9308 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9309 volatile orc_int8 var48;
9313 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9314 volatile orc_union16 var49;
9318 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9319 volatile orc_union16 var50;
9323 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9324 volatile orc_union16 var51;
9328 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9329 volatile orc_union16 var52;
9333 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9334 volatile orc_union16 var53;
9338 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9339 volatile orc_int8 var54;
9343 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9344 volatile orc_union32 var55;
9384 ptr0 = (orc_union32 *) ex->arrays[0];
9385 ptr4 = (orc_int8 *) ex->arrays[4];
9386 ptr5 = (orc_int8 *) ex->arrays[5];
9387 ptr6 = (orc_int8 *) ex->arrays[6];
9390 var46 = (int) 0x00000080; /* 128 or 6.32404e-322f */
9392 var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */
9394 var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */
9396 var49.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
9398 var50.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
9400 var51.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
9402 var52.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
9404 var53.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
9406 var54 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
9408 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
9409 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
9410 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
9411 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
9413 for (i = 0; i < n; i++) {
9417 var57 = var45 - var46;
9422 (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
9423 1) >> 1 : ptr5[i >> 1];
9425 var60 = var59 - var47;
9430 (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
9431 1) >> 1 : ptr6[i >> 1];
9433 var63 = var62 - var48;
9437 var65.i = (var58.i * var49.i) & 0xffff;
9439 var66.i = var65.i >> 8;
9441 var67.i = ORC_CLAMP_SW (var58.i + var66.i);
9443 var68.i = ORC_CLAMP_SW (var67.i + var64.i);
9445 var69.i = (var64.i * var50.i) & 0xffff;
9447 var70.i = var69.i >> 8;
9449 var71.i = ORC_CLAMP_SW (var68.i - var70.i);
9451 var72.i = ORC_CLAMP_SW (var71.i + var64.i);
9453 var73.i = ORC_CLAMP_SW (var67.i + var61.i);
9455 var74.i = ORC_CLAMP_SW (var73.i + var61.i);
9457 var75.i = (var61.i * var51.i) & 0xffff;
9459 var76.i = var75.i >> 8;
9461 var77.i = ORC_CLAMP_SW (var74.i + var76.i);
9463 var78.i = (var61.i * var52.i) & 0xffff;
9465 var79.i = var78.i >> 8;
9467 var80.i = ORC_CLAMP_SW (var67.i - var79.i);
9469 var81.i = (var64.i * var53.i) & 0xffff;
9471 var82.i = var81.i >> 8;
9473 var83.i = ORC_CLAMP_SW (var80.i - var82.i);
9475 var84.i = ORC_CLAMP_SW (var83.i - var82.i);
9477 var85 = ORC_CLAMP_SB (var72.i);
9479 var86 = ORC_CLAMP_SB (var84.i);
9481 var87 = ORC_CLAMP_SB (var77.i);
9485 _dest.x2[0] = var87;
9486 _dest.x2[1] = var86;
9492 _dest.x2[0] = var85;
9493 _dest.x2[1] = var54;
9499 _dest.x2[0] = var88.i;
9500 _dest.x2[1] = var89.i;
9504 var56.x4[0] = var90.x4[0] + var55.x4[0];
9505 var56.x4[1] = var90.x4[1] + var55.x4[1];
9506 var56.x4[2] = var90.x4[2] + var55.x4[2];
9507 var56.x4[3] = var90.x4[3] + var55.x4[3];
9515 video_convert_orc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
9516 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
9517 const guint8 * ORC_RESTRICT s3, int n)
9519 OrcExecutor _ex, *ex = &_ex;
9520 static volatile int p_inited = 0;
9521 static OrcCode *c = 0;
9522 void (*func) (OrcExecutor *);
9525 orc_once_mutex_lock ();
9530 static const orc_uint8 bc[] = {
9531 1, 9, 35, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
9532 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 73, 52, 50,
9533 48, 95, 66, 71, 82, 65, 11, 4, 4, 12, 1, 1, 12, 1, 1, 12,
9534 1, 1, 14, 1, 8, 0, 0, 0, 14, 1, 128, 0, 0, 0, 14, 4,
9535 42, 0, 0, 0, 14, 4, 103, 0, 0, 0, 14, 4, 4, 0, 0, 0,
9536 14, 4, 100, 0, 0, 0, 14, 4, 104, 0, 0, 0, 14, 4, 255, 0,
9537 0, 0, 20, 2, 20, 2, 20, 1, 20, 2, 20, 2, 20, 2, 20, 2,
9538 20, 2, 20, 2, 20, 1, 20, 1, 20, 1, 20, 4, 65, 34, 4, 17,
9539 149, 35, 34, 46, 34, 5, 65, 34, 34, 17, 149, 36, 34, 46, 34, 6,
9540 65, 34, 34, 17, 149, 37, 34, 89, 32, 35, 18, 94, 32, 32, 16, 71,
9541 35, 35, 32, 71, 38, 35, 37, 89, 32, 37, 19, 94, 32, 32, 16, 99,
9542 38, 38, 32, 71, 38, 38, 37, 71, 40, 35, 36, 71, 40, 40, 36, 89,
9543 32, 36, 20, 94, 32, 32, 16, 71, 40, 40, 32, 89, 32, 36, 21, 94,
9544 32, 32, 16, 99, 39, 35, 32, 89, 32, 37, 22, 94, 32, 32, 16, 99,
9545 39, 39, 32, 99, 39, 39, 32, 159, 41, 38, 159, 42, 39, 159, 43, 40,
9546 196, 32, 43, 42, 196, 33, 41, 23, 195, 44, 32, 33, 21, 2, 33, 0,
9549 p = orc_program_new_from_static_bytecode (bc);
9550 orc_program_set_backup_function (p,
9551 _backup_video_convert_orc_convert_I420_BGRA);
9553 p = orc_program_new ();
9554 orc_program_set_name (p, "video_convert_orc_convert_I420_BGRA");
9555 orc_program_set_backup_function (p,
9556 _backup_video_convert_orc_convert_I420_BGRA);
9557 orc_program_add_destination (p, 4, "d1");
9558 orc_program_add_source (p, 1, "s1");
9559 orc_program_add_source (p, 1, "s2");
9560 orc_program_add_source (p, 1, "s3");
9561 orc_program_add_constant (p, 1, 0x00000008, "c1");
9562 orc_program_add_constant (p, 1, 0x00000080, "c2");
9563 orc_program_add_constant (p, 4, 0x0000002a, "c3");
9564 orc_program_add_constant (p, 4, 0x00000067, "c4");
9565 orc_program_add_constant (p, 4, 0x00000004, "c5");
9566 orc_program_add_constant (p, 4, 0x00000064, "c6");
9567 orc_program_add_constant (p, 4, 0x00000068, "c7");
9568 orc_program_add_constant (p, 4, 0x000000ff, "c8");
9569 orc_program_add_temporary (p, 2, "t1");
9570 orc_program_add_temporary (p, 2, "t2");
9571 orc_program_add_temporary (p, 1, "t3");
9572 orc_program_add_temporary (p, 2, "t4");
9573 orc_program_add_temporary (p, 2, "t5");
9574 orc_program_add_temporary (p, 2, "t6");
9575 orc_program_add_temporary (p, 2, "t7");
9576 orc_program_add_temporary (p, 2, "t8");
9577 orc_program_add_temporary (p, 2, "t9");
9578 orc_program_add_temporary (p, 1, "t10");
9579 orc_program_add_temporary (p, 1, "t11");
9580 orc_program_add_temporary (p, 1, "t12");
9581 orc_program_add_temporary (p, 4, "t13");
9583 orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_S1, ORC_VAR_C2,
9585 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_D1,
9587 orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S2,
9588 ORC_VAR_D1, ORC_VAR_D1);
9589 orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
9591 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_D1,
9593 orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S3,
9594 ORC_VAR_D1, ORC_VAR_D1);
9595 orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
9597 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
9599 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_C3,
9601 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
9603 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T1,
9605 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_T6,
9607 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C4,
9609 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
9611 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
9613 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T6,
9615 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T4, ORC_VAR_T5,
9617 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T5,
9619 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_C5,
9621 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
9623 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T1,
9625 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_C6,
9627 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
9629 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T8, ORC_VAR_T4, ORC_VAR_T1,
9631 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C7,
9633 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
9635 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T1,
9637 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T1,
9639 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T10, ORC_VAR_T7,
9640 ORC_VAR_D1, ORC_VAR_D1);
9641 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T11, ORC_VAR_T8,
9642 ORC_VAR_D1, ORC_VAR_D1);
9643 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T12, ORC_VAR_T9,
9644 ORC_VAR_D1, ORC_VAR_D1);
9645 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T12,
9646 ORC_VAR_T11, ORC_VAR_D1);
9647 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T10,
9648 ORC_VAR_C8, ORC_VAR_D1);
9649 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T13, ORC_VAR_T1,
9650 ORC_VAR_T2, ORC_VAR_D1);
9651 orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T13, ORC_VAR_C2,
9655 orc_program_compile (p);
9656 c = orc_program_take_code (p);
9657 orc_program_free (p);
9660 orc_once_mutex_unlock ();
9662 ex->arrays[ORC_VAR_A2] = c;
9666 ex->arrays[ORC_VAR_D1] = d1;
9667 ex->arrays[ORC_VAR_S1] = (void *) s1;
9668 ex->arrays[ORC_VAR_S2] = (void *) s2;
9669 ex->arrays[ORC_VAR_S3] = (void *) s3;
9677 /* video_convert_orc_convert_I420_BGRA_avg */
9680 video_convert_orc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1,
9681 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
9682 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4,
9683 const guint8 * ORC_RESTRICT s5, int n)
9686 orc_union32 *ORC_RESTRICT ptr0;
9687 const orc_int8 *ORC_RESTRICT ptr4;
9688 const orc_int8 *ORC_RESTRICT ptr5;
9689 const orc_int8 *ORC_RESTRICT ptr6;
9690 const orc_int8 *ORC_RESTRICT ptr7;
9691 const orc_int8 *ORC_RESTRICT ptr8;
9693 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9694 volatile orc_int8 var47;
9698 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9699 volatile orc_int8 var48;
9703 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9704 volatile orc_int8 var49;
9708 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9709 volatile orc_union16 var50;
9713 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9714 volatile orc_union16 var51;
9718 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9719 volatile orc_union16 var52;
9723 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9724 volatile orc_union16 var53;
9728 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9729 volatile orc_union16 var54;
9733 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9734 volatile orc_int8 var55;
9738 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9739 volatile orc_union32 var56;
9783 ptr0 = (orc_union32 *) d1;
9784 ptr4 = (orc_int8 *) s1;
9785 ptr5 = (orc_int8 *) s2;
9786 ptr6 = (orc_int8 *) s3;
9787 ptr7 = (orc_int8 *) s4;
9788 ptr8 = (orc_int8 *) s5;
9791 var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */
9793 var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */
9795 var49 = (int) 0x00000080; /* 128 or 6.32404e-322f */
9797 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
9799 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
9801 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
9803 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
9805 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
9807 var55 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
9809 var56.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
9810 var56.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
9811 var56.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
9812 var56.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
9814 for (i = 0; i < n; i++) {
9818 var58 = var46 - var47;
9823 (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
9824 1) >> 1 : ptr5[i >> 1];
9827 (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
9828 1) >> 1 : ptr6[i >> 1];
9830 var62 = ((orc_uint8) var60 + (orc_uint8) var61 + 1) >> 1;
9832 var63 = var62 - var48;
9837 (i & 1) ? ((orc_uint8) ptr7[i >> 1] + (orc_uint8) ptr7[(i >> 1) + 1] +
9838 1) >> 1 : ptr7[i >> 1];
9841 (i & 1) ? ((orc_uint8) ptr8[i >> 1] + (orc_uint8) ptr8[(i >> 1) + 1] +
9842 1) >> 1 : ptr8[i >> 1];
9844 var67 = ((orc_uint8) var65 + (orc_uint8) var66 + 1) >> 1;
9846 var68 = var67 - var49;
9850 var70.i = (var59.i * var50.i) & 0xffff;
9852 var71.i = var70.i >> 8;
9854 var72.i = ORC_CLAMP_SW (var59.i + var71.i);
9856 var73.i = ORC_CLAMP_SW (var72.i + var69.i);
9858 var74.i = (var69.i * var51.i) & 0xffff;
9860 var75.i = var74.i >> 8;
9862 var76.i = ORC_CLAMP_SW (var73.i - var75.i);
9864 var77.i = ORC_CLAMP_SW (var76.i + var69.i);
9866 var78.i = ORC_CLAMP_SW (var72.i + var64.i);
9868 var79.i = ORC_CLAMP_SW (var78.i + var64.i);
9870 var80.i = (var64.i * var52.i) & 0xffff;
9872 var81.i = var80.i >> 8;
9874 var82.i = ORC_CLAMP_SW (var79.i + var81.i);
9876 var83.i = (var64.i * var53.i) & 0xffff;
9878 var84.i = var83.i >> 8;
9880 var85.i = ORC_CLAMP_SW (var72.i - var84.i);
9882 var86.i = (var69.i * var54.i) & 0xffff;
9884 var87.i = var86.i >> 8;
9886 var88.i = ORC_CLAMP_SW (var85.i - var87.i);
9888 var89.i = ORC_CLAMP_SW (var88.i - var87.i);
9890 var90 = ORC_CLAMP_SB (var77.i);
9892 var91 = ORC_CLAMP_SB (var89.i);
9894 var92 = ORC_CLAMP_SB (var82.i);
9898 _dest.x2[0] = var92;
9899 _dest.x2[1] = var91;
9905 _dest.x2[0] = var90;
9906 _dest.x2[1] = var55;
9912 _dest.x2[0] = var93.i;
9913 _dest.x2[1] = var94.i;
9917 var57.x4[0] = var95.x4[0] + var56.x4[0];
9918 var57.x4[1] = var95.x4[1] + var56.x4[1];
9919 var57.x4[2] = var95.x4[2] + var56.x4[2];
9920 var57.x4[3] = var95.x4[3] + var56.x4[3];
9929 _backup_video_convert_orc_convert_I420_BGRA_avg (OrcExecutor * ORC_RESTRICT ex)
9933 orc_union32 *ORC_RESTRICT ptr0;
9934 const orc_int8 *ORC_RESTRICT ptr4;
9935 const orc_int8 *ORC_RESTRICT ptr5;
9936 const orc_int8 *ORC_RESTRICT ptr6;
9937 const orc_int8 *ORC_RESTRICT ptr7;
9938 const orc_int8 *ORC_RESTRICT ptr8;
9940 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9941 volatile orc_int8 var47;
9945 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9946 volatile orc_int8 var48;
9950 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9951 volatile orc_int8 var49;
9955 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9956 volatile orc_union16 var50;
9960 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9961 volatile orc_union16 var51;
9965 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9966 volatile orc_union16 var52;
9970 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9971 volatile orc_union16 var53;
9975 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9976 volatile orc_union16 var54;
9980 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9981 volatile orc_int8 var55;
9985 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
9986 volatile orc_union32 var56;
10030 ptr0 = (orc_union32 *) ex->arrays[0];
10031 ptr4 = (orc_int8 *) ex->arrays[4];
10032 ptr5 = (orc_int8 *) ex->arrays[5];
10033 ptr6 = (orc_int8 *) ex->arrays[6];
10034 ptr7 = (orc_int8 *) ex->arrays[7];
10035 ptr8 = (orc_int8 *) ex->arrays[8];
10038 var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */
10040 var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */
10042 var49 = (int) 0x00000080; /* 128 or 6.32404e-322f */
10044 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
10046 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
10048 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
10050 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
10052 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
10054 var55 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10056 var56.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
10057 var56.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
10058 var56.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
10059 var56.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
10061 for (i = 0; i < n; i++) {
10065 var58 = var46 - var47;
10070 (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
10071 1) >> 1 : ptr5[i >> 1];
10074 (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
10075 1) >> 1 : ptr6[i >> 1];
10077 var62 = ((orc_uint8) var60 + (orc_uint8) var61 + 1) >> 1;
10079 var63 = var62 - var48;
10084 (i & 1) ? ((orc_uint8) ptr7[i >> 1] + (orc_uint8) ptr7[(i >> 1) + 1] +
10085 1) >> 1 : ptr7[i >> 1];
10088 (i & 1) ? ((orc_uint8) ptr8[i >> 1] + (orc_uint8) ptr8[(i >> 1) + 1] +
10089 1) >> 1 : ptr8[i >> 1];
10091 var67 = ((orc_uint8) var65 + (orc_uint8) var66 + 1) >> 1;
10093 var68 = var67 - var49;
10097 var70.i = (var59.i * var50.i) & 0xffff;
10099 var71.i = var70.i >> 8;
10101 var72.i = ORC_CLAMP_SW (var59.i + var71.i);
10103 var73.i = ORC_CLAMP_SW (var72.i + var69.i);
10105 var74.i = (var69.i * var51.i) & 0xffff;
10107 var75.i = var74.i >> 8;
10109 var76.i = ORC_CLAMP_SW (var73.i - var75.i);
10111 var77.i = ORC_CLAMP_SW (var76.i + var69.i);
10113 var78.i = ORC_CLAMP_SW (var72.i + var64.i);
10115 var79.i = ORC_CLAMP_SW (var78.i + var64.i);
10117 var80.i = (var64.i * var52.i) & 0xffff;
10119 var81.i = var80.i >> 8;
10121 var82.i = ORC_CLAMP_SW (var79.i + var81.i);
10123 var83.i = (var64.i * var53.i) & 0xffff;
10125 var84.i = var83.i >> 8;
10127 var85.i = ORC_CLAMP_SW (var72.i - var84.i);
10129 var86.i = (var69.i * var54.i) & 0xffff;
10131 var87.i = var86.i >> 8;
10133 var88.i = ORC_CLAMP_SW (var85.i - var87.i);
10135 var89.i = ORC_CLAMP_SW (var88.i - var87.i);
10136 /* 41: convssswb */
10137 var90 = ORC_CLAMP_SB (var77.i);
10138 /* 42: convssswb */
10139 var91 = ORC_CLAMP_SB (var89.i);
10140 /* 43: convssswb */
10141 var92 = ORC_CLAMP_SB (var82.i);
10145 _dest.x2[0] = var92;
10146 _dest.x2[1] = var91;
10152 _dest.x2[0] = var90;
10153 _dest.x2[1] = var55;
10159 _dest.x2[0] = var93.i;
10160 _dest.x2[1] = var94.i;
10164 var57.x4[0] = var95.x4[0] + var56.x4[0];
10165 var57.x4[1] = var95.x4[1] + var56.x4[1];
10166 var57.x4[2] = var95.x4[2] + var56.x4[2];
10167 var57.x4[3] = var95.x4[3] + var56.x4[3];
10175 video_convert_orc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1,
10176 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
10177 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4,
10178 const guint8 * ORC_RESTRICT s5, int n)
10180 OrcExecutor _ex, *ex = &_ex;
10181 static volatile int p_inited = 0;
10182 static OrcCode *c = 0;
10183 void (*func) (OrcExecutor *);
10186 orc_once_mutex_lock ();
10191 static const orc_uint8 bc[] = {
10192 1, 9, 39, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
10193 95, 111, 114, 99, 95, 99, 111, 110, 118, 101, 114, 116, 95, 73, 52, 50,
10194 48, 95, 66, 71, 82, 65, 95, 97, 118, 103, 11, 4, 4, 12, 1, 1,
10195 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 8, 0,
10196 0, 0, 14, 1, 128, 0, 0, 0, 14, 4, 42, 0, 0, 0, 14, 4,
10197 103, 0, 0, 0, 14, 4, 4, 0, 0, 0, 14, 4, 100, 0, 0, 0,
10198 14, 4, 104, 0, 0, 0, 14, 4, 255, 0, 0, 0, 20, 2, 20, 2,
10199 20, 1, 20, 1, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2, 20, 2,
10200 20, 1, 20, 1, 20, 1, 20, 4, 65, 34, 4, 17, 149, 36, 34, 46,
10201 34, 5, 46, 35, 6, 39, 34, 34, 35, 65, 34, 34, 17, 149, 37, 34,
10202 46, 34, 7, 46, 35, 8, 39, 34, 34, 35, 65, 34, 34, 17, 149, 38,
10203 34, 89, 32, 36, 18, 94, 32, 32, 16, 71, 36, 36, 32, 71, 39, 36,
10204 38, 89, 32, 38, 19, 94, 32, 32, 16, 99, 39, 39, 32, 71, 39, 39,
10205 38, 71, 41, 36, 37, 71, 41, 41, 37, 89, 32, 37, 20, 94, 32, 32,
10206 16, 71, 41, 41, 32, 89, 32, 37, 21, 94, 32, 32, 16, 99, 40, 36,
10207 32, 89, 32, 38, 22, 94, 32, 32, 16, 99, 40, 40, 32, 99, 40, 40,
10208 32, 159, 42, 39, 159, 43, 40, 159, 44, 41, 196, 32, 44, 43, 196, 33,
10209 42, 23, 195, 45, 32, 33, 21, 2, 33, 0, 45, 17, 2, 0,
10211 p = orc_program_new_from_static_bytecode (bc);
10212 orc_program_set_backup_function (p,
10213 _backup_video_convert_orc_convert_I420_BGRA_avg);
10215 p = orc_program_new ();
10216 orc_program_set_name (p, "video_convert_orc_convert_I420_BGRA_avg");
10217 orc_program_set_backup_function (p,
10218 _backup_video_convert_orc_convert_I420_BGRA_avg);
10219 orc_program_add_destination (p, 4, "d1");
10220 orc_program_add_source (p, 1, "s1");
10221 orc_program_add_source (p, 1, "s2");
10222 orc_program_add_source (p, 1, "s3");
10223 orc_program_add_source (p, 1, "s4");
10224 orc_program_add_source (p, 1, "s5");
10225 orc_program_add_constant (p, 1, 0x00000008, "c1");
10226 orc_program_add_constant (p, 1, 0x00000080, "c2");
10227 orc_program_add_constant (p, 4, 0x0000002a, "c3");
10228 orc_program_add_constant (p, 4, 0x00000067, "c4");
10229 orc_program_add_constant (p, 4, 0x00000004, "c5");
10230 orc_program_add_constant (p, 4, 0x00000064, "c6");
10231 orc_program_add_constant (p, 4, 0x00000068, "c7");
10232 orc_program_add_constant (p, 4, 0x000000ff, "c8");
10233 orc_program_add_temporary (p, 2, "t1");
10234 orc_program_add_temporary (p, 2, "t2");
10235 orc_program_add_temporary (p, 1, "t3");
10236 orc_program_add_temporary (p, 1, "t4");
10237 orc_program_add_temporary (p, 2, "t5");
10238 orc_program_add_temporary (p, 2, "t6");
10239 orc_program_add_temporary (p, 2, "t7");
10240 orc_program_add_temporary (p, 2, "t8");
10241 orc_program_add_temporary (p, 2, "t9");
10242 orc_program_add_temporary (p, 2, "t10");
10243 orc_program_add_temporary (p, 1, "t11");
10244 orc_program_add_temporary (p, 1, "t12");
10245 orc_program_add_temporary (p, 1, "t13");
10246 orc_program_add_temporary (p, 4, "t14");
10248 orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_S1, ORC_VAR_C2,
10250 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_D1,
10252 orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S2,
10253 ORC_VAR_D1, ORC_VAR_D1);
10254 orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T4, ORC_VAR_S3,
10255 ORC_VAR_D1, ORC_VAR_D1);
10256 orc_program_append_2 (p, "avgub", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
10258 orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
10260 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
10262 orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S4,
10263 ORC_VAR_D1, ORC_VAR_D1);
10264 orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T4, ORC_VAR_S5,
10265 ORC_VAR_D1, ORC_VAR_D1);
10266 orc_program_append_2 (p, "avgub", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
10268 orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
10270 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T3, ORC_VAR_D1,
10272 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_C3,
10274 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
10276 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_T1,
10278 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_T7,
10280 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C4,
10282 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
10284 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T1,
10286 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T7,
10288 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T5, ORC_VAR_T6,
10290 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
10291 ORC_VAR_T6, ORC_VAR_D1);
10292 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C5,
10294 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
10296 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
10297 ORC_VAR_T1, ORC_VAR_D1);
10298 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C6,
10300 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
10302 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T9, ORC_VAR_T5, ORC_VAR_T1,
10304 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C7,
10306 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
10308 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T1,
10310 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T1,
10312 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T11, ORC_VAR_T8,
10313 ORC_VAR_D1, ORC_VAR_D1);
10314 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T12, ORC_VAR_T9,
10315 ORC_VAR_D1, ORC_VAR_D1);
10316 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
10317 ORC_VAR_D1, ORC_VAR_D1);
10318 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T13,
10319 ORC_VAR_T12, ORC_VAR_D1);
10320 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T11,
10321 ORC_VAR_C8, ORC_VAR_D1);
10322 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T14, ORC_VAR_T1,
10323 ORC_VAR_T2, ORC_VAR_D1);
10324 orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T14, ORC_VAR_C2,
10328 orc_program_compile (p);
10329 c = orc_program_take_code (p);
10330 orc_program_free (p);
10333 orc_once_mutex_unlock ();
10335 ex->arrays[ORC_VAR_A2] = c;
10339 ex->arrays[ORC_VAR_D1] = d1;
10340 ex->arrays[ORC_VAR_S1] = (void *) s1;
10341 ex->arrays[ORC_VAR_S2] = (void *) s2;
10342 ex->arrays[ORC_VAR_S3] = (void *) s3;
10343 ex->arrays[ORC_VAR_S4] = (void *) s4;
10344 ex->arrays[ORC_VAR_S5] = (void *) s5;
10352 /* video_convert_orc_getline_I420 */
10355 video_convert_orc_getline_I420 (guint8 * ORC_RESTRICT d1,
10356 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
10357 const guint8 * ORC_RESTRICT s3, int n)
10360 orc_union32 *ORC_RESTRICT ptr0;
10361 const orc_int8 *ORC_RESTRICT ptr4;
10362 const orc_int8 *ORC_RESTRICT ptr5;
10363 const orc_int8 *ORC_RESTRICT ptr6;
10364 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
10365 volatile orc_int8 var36;
10376 ptr0 = (orc_union32 *) d1;
10377 ptr4 = (orc_int8 *) s1;
10378 ptr5 = (orc_int8 *) s2;
10379 ptr6 = (orc_int8 *) s3;
10382 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10384 for (i = 0; i < n; i++) {
10386 var39 = ptr5[i >> 1];
10388 var40 = ptr6[i >> 1];
10392 _dest.x2[0] = var39;
10393 _dest.x2[1] = var40;
10401 _dest.x2[0] = var36;
10402 _dest.x2[1] = var37;
10408 _dest.x2[0] = var42.i;
10409 _dest.x2[1] = var41.i;
10420 _backup_video_convert_orc_getline_I420 (OrcExecutor * ORC_RESTRICT ex)
10424 orc_union32 *ORC_RESTRICT ptr0;
10425 const orc_int8 *ORC_RESTRICT ptr4;
10426 const orc_int8 *ORC_RESTRICT ptr5;
10427 const orc_int8 *ORC_RESTRICT ptr6;
10428 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
10429 volatile orc_int8 var36;
10440 ptr0 = (orc_union32 *) ex->arrays[0];
10441 ptr4 = (orc_int8 *) ex->arrays[4];
10442 ptr5 = (orc_int8 *) ex->arrays[5];
10443 ptr6 = (orc_int8 *) ex->arrays[6];
10446 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10448 for (i = 0; i < n; i++) {
10450 var39 = ptr5[i >> 1];
10452 var40 = ptr6[i >> 1];
10456 _dest.x2[0] = var39;
10457 _dest.x2[1] = var40;
10465 _dest.x2[0] = var36;
10466 _dest.x2[1] = var37;
10472 _dest.x2[0] = var42.i;
10473 _dest.x2[1] = var41.i;
10483 video_convert_orc_getline_I420 (guint8 * ORC_RESTRICT d1,
10484 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
10485 const guint8 * ORC_RESTRICT s3, int n)
10487 OrcExecutor _ex, *ex = &_ex;
10488 static volatile int p_inited = 0;
10489 static OrcCode *c = 0;
10490 void (*func) (OrcExecutor *);
10493 orc_once_mutex_lock ();
10498 static const orc_uint8 bc[] = {
10499 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
10500 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 73, 52, 50,
10501 48, 11, 4, 4, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 255,
10502 0, 0, 0, 20, 2, 20, 2, 20, 1, 20, 1, 45, 34, 5, 45, 35,
10503 6, 196, 32, 34, 35, 196, 33, 16, 4, 195, 0, 33, 32, 2, 0,
10505 p = orc_program_new_from_static_bytecode (bc);
10506 orc_program_set_backup_function (p,
10507 _backup_video_convert_orc_getline_I420);
10509 p = orc_program_new ();
10510 orc_program_set_name (p, "video_convert_orc_getline_I420");
10511 orc_program_set_backup_function (p,
10512 _backup_video_convert_orc_getline_I420);
10513 orc_program_add_destination (p, 4, "d1");
10514 orc_program_add_source (p, 1, "s1");
10515 orc_program_add_source (p, 1, "s2");
10516 orc_program_add_source (p, 1, "s3");
10517 orc_program_add_constant (p, 1, 0x000000ff, "c1");
10518 orc_program_add_temporary (p, 2, "t1");
10519 orc_program_add_temporary (p, 2, "t2");
10520 orc_program_add_temporary (p, 1, "t3");
10521 orc_program_add_temporary (p, 1, "t4");
10523 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T3, ORC_VAR_S2,
10524 ORC_VAR_D1, ORC_VAR_D1);
10525 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S3,
10526 ORC_VAR_D1, ORC_VAR_D1);
10527 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
10529 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
10531 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
10535 orc_program_compile (p);
10536 c = orc_program_take_code (p);
10537 orc_program_free (p);
10540 orc_once_mutex_unlock ();
10542 ex->arrays[ORC_VAR_A2] = c;
10546 ex->arrays[ORC_VAR_D1] = d1;
10547 ex->arrays[ORC_VAR_S1] = (void *) s1;
10548 ex->arrays[ORC_VAR_S2] = (void *) s2;
10549 ex->arrays[ORC_VAR_S3] = (void *) s3;
10557 /* video_convert_orc_getline_YUV9 */
10560 video_convert_orc_getline_YUV9 (guint8 * ORC_RESTRICT d1,
10561 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
10562 const guint8 * ORC_RESTRICT s3, int n)
10565 orc_union64 *ORC_RESTRICT ptr0;
10566 const orc_union16 *ORC_RESTRICT ptr4;
10567 const orc_int8 *ORC_RESTRICT ptr5;
10568 const orc_int8 *ORC_RESTRICT ptr6;
10569 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
10570 volatile orc_union16 var37;
10582 ptr0 = (orc_union64 *) d1;
10583 ptr4 = (orc_union16 *) s1;
10584 ptr5 = (orc_int8 *) s2;
10585 ptr6 = (orc_int8 *) s3;
10588 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10589 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10591 for (i = 0; i < n; i++) {
10593 var40 = ptr5[i >> 1];
10595 var41 = ptr6[i >> 1];
10599 _dest.x2[0] = var40;
10600 _dest.x2[1] = var41;
10606 _dest.x2[0] = var42.i;
10607 _dest.x2[1] = var42.i;
10615 _dest.x2[0] = var37.x2[0];
10616 _dest.x2[1] = var38.x2[0];
10617 var44.x2[0] = _dest.i;
10621 _dest.x2[0] = var37.x2[1];
10622 _dest.x2[1] = var38.x2[1];
10623 var44.x2[1] = _dest.i;
10628 _dest.x2[0] = var44.x2[0];
10629 _dest.x2[1] = var43.x2[0];
10630 var39.x2[0] = _dest.i;
10634 _dest.x2[0] = var44.x2[1];
10635 _dest.x2[1] = var43.x2[1];
10636 var39.x2[1] = _dest.i;
10646 _backup_video_convert_orc_getline_YUV9 (OrcExecutor * ORC_RESTRICT ex)
10650 orc_union64 *ORC_RESTRICT ptr0;
10651 const orc_union16 *ORC_RESTRICT ptr4;
10652 const orc_int8 *ORC_RESTRICT ptr5;
10653 const orc_int8 *ORC_RESTRICT ptr6;
10654 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
10655 volatile orc_union16 var37;
10667 ptr0 = (orc_union64 *) ex->arrays[0];
10668 ptr4 = (orc_union16 *) ex->arrays[4];
10669 ptr5 = (orc_int8 *) ex->arrays[5];
10670 ptr6 = (orc_int8 *) ex->arrays[6];
10673 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10674 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10676 for (i = 0; i < n; i++) {
10678 var40 = ptr5[i >> 1];
10680 var41 = ptr6[i >> 1];
10684 _dest.x2[0] = var40;
10685 _dest.x2[1] = var41;
10691 _dest.x2[0] = var42.i;
10692 _dest.x2[1] = var42.i;
10700 _dest.x2[0] = var37.x2[0];
10701 _dest.x2[1] = var38.x2[0];
10702 var44.x2[0] = _dest.i;
10706 _dest.x2[0] = var37.x2[1];
10707 _dest.x2[1] = var38.x2[1];
10708 var44.x2[1] = _dest.i;
10713 _dest.x2[0] = var44.x2[0];
10714 _dest.x2[1] = var43.x2[0];
10715 var39.x2[0] = _dest.i;
10719 _dest.x2[0] = var44.x2[1];
10720 _dest.x2[1] = var43.x2[1];
10721 var39.x2[1] = _dest.i;
10730 video_convert_orc_getline_YUV9 (guint8 * ORC_RESTRICT d1,
10731 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
10732 const guint8 * ORC_RESTRICT s3, int n)
10734 OrcExecutor _ex, *ex = &_ex;
10735 static volatile int p_inited = 0;
10736 static OrcCode *c = 0;
10737 void (*func) (OrcExecutor *);
10740 orc_once_mutex_lock ();
10745 static const orc_uint8 bc[] = {
10746 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
10747 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 89, 85, 86,
10748 57, 11, 8, 8, 12, 2, 2, 12, 1, 1, 12, 1, 1, 14, 1, 255,
10749 0, 0, 0, 20, 2, 20, 4, 20, 4, 20, 1, 20, 1, 45, 35, 5,
10750 45, 36, 6, 196, 32, 35, 36, 195, 34, 32, 32, 21, 1, 196, 33, 16,
10751 4, 21, 1, 195, 0, 33, 34, 2, 0,
10753 p = orc_program_new_from_static_bytecode (bc);
10754 orc_program_set_backup_function (p,
10755 _backup_video_convert_orc_getline_YUV9);
10757 p = orc_program_new ();
10758 orc_program_set_name (p, "video_convert_orc_getline_YUV9");
10759 orc_program_set_backup_function (p,
10760 _backup_video_convert_orc_getline_YUV9);
10761 orc_program_add_destination (p, 8, "d1");
10762 orc_program_add_source (p, 2, "s1");
10763 orc_program_add_source (p, 1, "s2");
10764 orc_program_add_source (p, 1, "s3");
10765 orc_program_add_constant (p, 1, 0x000000ff, "c1");
10766 orc_program_add_temporary (p, 2, "t1");
10767 orc_program_add_temporary (p, 4, "t2");
10768 orc_program_add_temporary (p, 4, "t3");
10769 orc_program_add_temporary (p, 1, "t4");
10770 orc_program_add_temporary (p, 1, "t5");
10772 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S2,
10773 ORC_VAR_D1, ORC_VAR_D1);
10774 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T5, ORC_VAR_S3,
10775 ORC_VAR_D1, ORC_VAR_D1);
10776 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_T5,
10778 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
10780 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
10782 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
10786 orc_program_compile (p);
10787 c = orc_program_take_code (p);
10788 orc_program_free (p);
10791 orc_once_mutex_unlock ();
10793 ex->arrays[ORC_VAR_A2] = c;
10797 ex->arrays[ORC_VAR_D1] = d1;
10798 ex->arrays[ORC_VAR_S1] = (void *) s1;
10799 ex->arrays[ORC_VAR_S2] = (void *) s2;
10800 ex->arrays[ORC_VAR_S3] = (void *) s3;
10808 /* video_convert_orc_getline_YUY2 */
10811 video_convert_orc_getline_YUY2 (guint8 * ORC_RESTRICT d1,
10812 const guint8 * ORC_RESTRICT s1, int n)
10815 orc_union64 *ORC_RESTRICT ptr0;
10816 const orc_union32 *ORC_RESTRICT ptr4;
10818 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
10819 volatile orc_union16 var37;
10829 ptr0 = (orc_union64 *) d1;
10830 ptr4 = (orc_union32 *) s1;
10833 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10834 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10836 for (i = 0; i < n; i++) {
10842 _src.i = var36.x2[0];
10843 var39.x2[0] = _src.x2[1];
10844 var40.x2[0] = _src.x2[0];
10848 _src.i = var36.x2[1];
10849 var39.x2[1] = _src.x2[1];
10850 var40.x2[1] = _src.x2[0];
10855 _dest.x2[0] = var37.x2[0];
10856 _dest.x2[1] = var40.x2[0];
10857 var41.x2[0] = _dest.i;
10861 _dest.x2[0] = var37.x2[1];
10862 _dest.x2[1] = var40.x2[1];
10863 var41.x2[1] = _dest.i;
10868 _dest.x2[0] = var39.i;
10869 _dest.x2[1] = var39.i;
10875 _dest.x2[0] = var41.x2[0];
10876 _dest.x2[1] = var42.x2[0];
10877 var38.x2[0] = _dest.i;
10881 _dest.x2[0] = var41.x2[1];
10882 _dest.x2[1] = var42.x2[1];
10883 var38.x2[1] = _dest.i;
10893 _backup_video_convert_orc_getline_YUY2 (OrcExecutor * ORC_RESTRICT ex)
10897 orc_union64 *ORC_RESTRICT ptr0;
10898 const orc_union32 *ORC_RESTRICT ptr4;
10900 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
10901 volatile orc_union16 var37;
10911 ptr0 = (orc_union64 *) ex->arrays[0];
10912 ptr4 = (orc_union32 *) ex->arrays[4];
10915 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10916 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10918 for (i = 0; i < n; i++) {
10924 _src.i = var36.x2[0];
10925 var39.x2[0] = _src.x2[1];
10926 var40.x2[0] = _src.x2[0];
10930 _src.i = var36.x2[1];
10931 var39.x2[1] = _src.x2[1];
10932 var40.x2[1] = _src.x2[0];
10937 _dest.x2[0] = var37.x2[0];
10938 _dest.x2[1] = var40.x2[0];
10939 var41.x2[0] = _dest.i;
10943 _dest.x2[0] = var37.x2[1];
10944 _dest.x2[1] = var40.x2[1];
10945 var41.x2[1] = _dest.i;
10950 _dest.x2[0] = var39.i;
10951 _dest.x2[1] = var39.i;
10957 _dest.x2[0] = var41.x2[0];
10958 _dest.x2[1] = var42.x2[0];
10959 var38.x2[0] = _dest.i;
10963 _dest.x2[0] = var41.x2[1];
10964 _dest.x2[1] = var42.x2[1];
10965 var38.x2[1] = _dest.i;
10974 video_convert_orc_getline_YUY2 (guint8 * ORC_RESTRICT d1,
10975 const guint8 * ORC_RESTRICT s1, int n)
10977 OrcExecutor _ex, *ex = &_ex;
10978 static volatile int p_inited = 0;
10979 static OrcCode *c = 0;
10980 void (*func) (OrcExecutor *);
10983 orc_once_mutex_lock ();
10988 static const orc_uint8 bc[] = {
10989 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
10990 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 89, 85, 89,
10991 50, 11, 8, 8, 12, 4, 4, 14, 2, 255, 0, 0, 0, 20, 2, 20,
10992 2, 20, 4, 20, 4, 21, 1, 199, 33, 32, 4, 21, 1, 196, 34, 16,
10993 32, 195, 35, 33, 33, 21, 1, 195, 0, 34, 35, 2, 0,
10995 p = orc_program_new_from_static_bytecode (bc);
10996 orc_program_set_backup_function (p,
10997 _backup_video_convert_orc_getline_YUY2);
10999 p = orc_program_new ();
11000 orc_program_set_name (p, "video_convert_orc_getline_YUY2");
11001 orc_program_set_backup_function (p,
11002 _backup_video_convert_orc_getline_YUY2);
11003 orc_program_add_destination (p, 8, "d1");
11004 orc_program_add_source (p, 4, "s1");
11005 orc_program_add_constant (p, 2, 0x000000ff, "c1");
11006 orc_program_add_temporary (p, 2, "t1");
11007 orc_program_add_temporary (p, 2, "t2");
11008 orc_program_add_temporary (p, 4, "t3");
11009 orc_program_add_temporary (p, 4, "t4");
11011 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
11013 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
11015 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
11017 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
11021 orc_program_compile (p);
11022 c = orc_program_take_code (p);
11023 orc_program_free (p);
11026 orc_once_mutex_unlock ();
11028 ex->arrays[ORC_VAR_A2] = c;
11032 ex->arrays[ORC_VAR_D1] = d1;
11033 ex->arrays[ORC_VAR_S1] = (void *) s1;
11041 /* video_convert_orc_getline_UYVY */
11044 video_convert_orc_getline_UYVY (guint8 * ORC_RESTRICT d1,
11045 const guint8 * ORC_RESTRICT s1, int n)
11048 orc_union64 *ORC_RESTRICT ptr0;
11049 const orc_union32 *ORC_RESTRICT ptr4;
11051 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
11052 volatile orc_union16 var37;
11062 ptr0 = (orc_union64 *) d1;
11063 ptr4 = (orc_union32 *) s1;
11066 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11067 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11069 for (i = 0; i < n; i++) {
11075 _src.i = var36.x2[0];
11076 var39.x2[0] = _src.x2[1];
11077 var40.x2[0] = _src.x2[0];
11081 _src.i = var36.x2[1];
11082 var39.x2[1] = _src.x2[1];
11083 var40.x2[1] = _src.x2[0];
11088 _dest.x2[0] = var37.x2[0];
11089 _dest.x2[1] = var39.x2[0];
11090 var41.x2[0] = _dest.i;
11094 _dest.x2[0] = var37.x2[1];
11095 _dest.x2[1] = var39.x2[1];
11096 var41.x2[1] = _dest.i;
11101 _dest.x2[0] = var40.i;
11102 _dest.x2[1] = var40.i;
11108 _dest.x2[0] = var41.x2[0];
11109 _dest.x2[1] = var42.x2[0];
11110 var38.x2[0] = _dest.i;
11114 _dest.x2[0] = var41.x2[1];
11115 _dest.x2[1] = var42.x2[1];
11116 var38.x2[1] = _dest.i;
11126 _backup_video_convert_orc_getline_UYVY (OrcExecutor * ORC_RESTRICT ex)
11130 orc_union64 *ORC_RESTRICT ptr0;
11131 const orc_union32 *ORC_RESTRICT ptr4;
11133 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
11134 volatile orc_union16 var37;
11144 ptr0 = (orc_union64 *) ex->arrays[0];
11145 ptr4 = (orc_union32 *) ex->arrays[4];
11148 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11149 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11151 for (i = 0; i < n; i++) {
11157 _src.i = var36.x2[0];
11158 var39.x2[0] = _src.x2[1];
11159 var40.x2[0] = _src.x2[0];
11163 _src.i = var36.x2[1];
11164 var39.x2[1] = _src.x2[1];
11165 var40.x2[1] = _src.x2[0];
11170 _dest.x2[0] = var37.x2[0];
11171 _dest.x2[1] = var39.x2[0];
11172 var41.x2[0] = _dest.i;
11176 _dest.x2[0] = var37.x2[1];
11177 _dest.x2[1] = var39.x2[1];
11178 var41.x2[1] = _dest.i;
11183 _dest.x2[0] = var40.i;
11184 _dest.x2[1] = var40.i;
11190 _dest.x2[0] = var41.x2[0];
11191 _dest.x2[1] = var42.x2[0];
11192 var38.x2[0] = _dest.i;
11196 _dest.x2[0] = var41.x2[1];
11197 _dest.x2[1] = var42.x2[1];
11198 var38.x2[1] = _dest.i;
11207 video_convert_orc_getline_UYVY (guint8 * ORC_RESTRICT d1,
11208 const guint8 * ORC_RESTRICT s1, int n)
11210 OrcExecutor _ex, *ex = &_ex;
11211 static volatile int p_inited = 0;
11212 static OrcCode *c = 0;
11213 void (*func) (OrcExecutor *);
11216 orc_once_mutex_lock ();
11221 static const orc_uint8 bc[] = {
11222 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
11223 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 85, 89, 86,
11224 89, 11, 8, 8, 12, 4, 4, 14, 2, 255, 0, 0, 0, 20, 2, 20,
11225 2, 20, 4, 20, 4, 21, 1, 199, 32, 33, 4, 21, 1, 196, 34, 16,
11226 32, 195, 35, 33, 33, 21, 1, 195, 0, 34, 35, 2, 0,
11228 p = orc_program_new_from_static_bytecode (bc);
11229 orc_program_set_backup_function (p,
11230 _backup_video_convert_orc_getline_UYVY);
11232 p = orc_program_new ();
11233 orc_program_set_name (p, "video_convert_orc_getline_UYVY");
11234 orc_program_set_backup_function (p,
11235 _backup_video_convert_orc_getline_UYVY);
11236 orc_program_add_destination (p, 8, "d1");
11237 orc_program_add_source (p, 4, "s1");
11238 orc_program_add_constant (p, 2, 0x000000ff, "c1");
11239 orc_program_add_temporary (p, 2, "t1");
11240 orc_program_add_temporary (p, 2, "t2");
11241 orc_program_add_temporary (p, 4, "t3");
11242 orc_program_add_temporary (p, 4, "t4");
11244 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_S1,
11246 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
11248 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
11250 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
11254 orc_program_compile (p);
11255 c = orc_program_take_code (p);
11256 orc_program_free (p);
11259 orc_once_mutex_unlock ();
11261 ex->arrays[ORC_VAR_A2] = c;
11265 ex->arrays[ORC_VAR_D1] = d1;
11266 ex->arrays[ORC_VAR_S1] = (void *) s1;
11274 /* video_convert_orc_getline_YVYU */
11277 video_convert_orc_getline_YVYU (guint8 * ORC_RESTRICT d1,
11278 const guint8 * ORC_RESTRICT s1, int n)
11281 orc_union64 *ORC_RESTRICT ptr0;
11282 const orc_union32 *ORC_RESTRICT ptr4;
11284 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
11285 volatile orc_union16 var37;
11296 ptr0 = (orc_union64 *) d1;
11297 ptr4 = (orc_union32 *) s1;
11300 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11301 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11303 for (i = 0; i < n; i++) {
11309 _src.i = var36.x2[0];
11310 var39.x2[0] = _src.x2[1];
11311 var40.x2[0] = _src.x2[0];
11315 _src.i = var36.x2[1];
11316 var39.x2[1] = _src.x2[1];
11317 var40.x2[1] = _src.x2[0];
11320 var41.i = ORC_SWAP_W (var39.i);
11324 _dest.x2[0] = var37.x2[0];
11325 _dest.x2[1] = var40.x2[0];
11326 var42.x2[0] = _dest.i;
11330 _dest.x2[0] = var37.x2[1];
11331 _dest.x2[1] = var40.x2[1];
11332 var42.x2[1] = _dest.i;
11337 _dest.x2[0] = var41.i;
11338 _dest.x2[1] = var41.i;
11344 _dest.x2[0] = var42.x2[0];
11345 _dest.x2[1] = var43.x2[0];
11346 var38.x2[0] = _dest.i;
11350 _dest.x2[0] = var42.x2[1];
11351 _dest.x2[1] = var43.x2[1];
11352 var38.x2[1] = _dest.i;
11362 _backup_video_convert_orc_getline_YVYU (OrcExecutor * ORC_RESTRICT ex)
11366 orc_union64 *ORC_RESTRICT ptr0;
11367 const orc_union32 *ORC_RESTRICT ptr4;
11369 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
11370 volatile orc_union16 var37;
11381 ptr0 = (orc_union64 *) ex->arrays[0];
11382 ptr4 = (orc_union32 *) ex->arrays[4];
11385 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11386 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11388 for (i = 0; i < n; i++) {
11394 _src.i = var36.x2[0];
11395 var39.x2[0] = _src.x2[1];
11396 var40.x2[0] = _src.x2[0];
11400 _src.i = var36.x2[1];
11401 var39.x2[1] = _src.x2[1];
11402 var40.x2[1] = _src.x2[0];
11405 var41.i = ORC_SWAP_W (var39.i);
11409 _dest.x2[0] = var37.x2[0];
11410 _dest.x2[1] = var40.x2[0];
11411 var42.x2[0] = _dest.i;
11415 _dest.x2[0] = var37.x2[1];
11416 _dest.x2[1] = var40.x2[1];
11417 var42.x2[1] = _dest.i;
11422 _dest.x2[0] = var41.i;
11423 _dest.x2[1] = var41.i;
11429 _dest.x2[0] = var42.x2[0];
11430 _dest.x2[1] = var43.x2[0];
11431 var38.x2[0] = _dest.i;
11435 _dest.x2[0] = var42.x2[1];
11436 _dest.x2[1] = var43.x2[1];
11437 var38.x2[1] = _dest.i;
11446 video_convert_orc_getline_YVYU (guint8 * ORC_RESTRICT d1,
11447 const guint8 * ORC_RESTRICT s1, int n)
11449 OrcExecutor _ex, *ex = &_ex;
11450 static volatile int p_inited = 0;
11451 static OrcCode *c = 0;
11452 void (*func) (OrcExecutor *);
11455 orc_once_mutex_lock ();
11460 static const orc_uint8 bc[] = {
11461 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
11462 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 89, 86, 89,
11463 85, 11, 8, 8, 12, 4, 4, 14, 2, 255, 0, 0, 0, 20, 2, 20,
11464 2, 20, 4, 20, 4, 21, 1, 199, 33, 32, 4, 183, 33, 33, 21, 1,
11465 196, 34, 16, 32, 195, 35, 33, 33, 21, 1, 195, 0, 34, 35, 2, 0,
11468 p = orc_program_new_from_static_bytecode (bc);
11469 orc_program_set_backup_function (p,
11470 _backup_video_convert_orc_getline_YVYU);
11472 p = orc_program_new ();
11473 orc_program_set_name (p, "video_convert_orc_getline_YVYU");
11474 orc_program_set_backup_function (p,
11475 _backup_video_convert_orc_getline_YVYU);
11476 orc_program_add_destination (p, 8, "d1");
11477 orc_program_add_source (p, 4, "s1");
11478 orc_program_add_constant (p, 2, 0x000000ff, "c1");
11479 orc_program_add_temporary (p, 2, "t1");
11480 orc_program_add_temporary (p, 2, "t2");
11481 orc_program_add_temporary (p, 4, "t3");
11482 orc_program_add_temporary (p, 4, "t4");
11484 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
11486 orc_program_append_2 (p, "swapw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_D1,
11488 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
11490 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
11492 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
11496 orc_program_compile (p);
11497 c = orc_program_take_code (p);
11498 orc_program_free (p);
11501 orc_once_mutex_unlock ();
11503 ex->arrays[ORC_VAR_A2] = c;
11507 ex->arrays[ORC_VAR_D1] = d1;
11508 ex->arrays[ORC_VAR_S1] = (void *) s1;
11516 /* video_convert_orc_getline_Y42B */
11519 video_convert_orc_getline_Y42B (guint8 * ORC_RESTRICT d1,
11520 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
11521 const guint8 * ORC_RESTRICT s3, int n)
11524 orc_union64 *ORC_RESTRICT ptr0;
11525 const orc_union16 *ORC_RESTRICT ptr4;
11526 const orc_int8 *ORC_RESTRICT ptr5;
11527 const orc_int8 *ORC_RESTRICT ptr6;
11530 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
11531 volatile orc_union16 var38;
11541 ptr0 = (orc_union64 *) d1;
11542 ptr4 = (orc_union16 *) s1;
11543 ptr5 = (orc_int8 *) s2;
11544 ptr6 = (orc_int8 *) s3;
11547 var38.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11548 var38.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11550 for (i = 0; i < n; i++) {
11558 _dest.x2[0] = var36;
11559 _dest.x2[1] = var37;
11567 _dest.x2[0] = var38.x2[0];
11568 _dest.x2[1] = var39.x2[0];
11569 var42.x2[0] = _dest.i;
11573 _dest.x2[0] = var38.x2[1];
11574 _dest.x2[1] = var39.x2[1];
11575 var42.x2[1] = _dest.i;
11580 _dest.x2[0] = var41.i;
11581 _dest.x2[1] = var41.i;
11587 _dest.x2[0] = var42.x2[0];
11588 _dest.x2[1] = var43.x2[0];
11589 var40.x2[0] = _dest.i;
11593 _dest.x2[0] = var42.x2[1];
11594 _dest.x2[1] = var43.x2[1];
11595 var40.x2[1] = _dest.i;
11605 _backup_video_convert_orc_getline_Y42B (OrcExecutor * ORC_RESTRICT ex)
11609 orc_union64 *ORC_RESTRICT ptr0;
11610 const orc_union16 *ORC_RESTRICT ptr4;
11611 const orc_int8 *ORC_RESTRICT ptr5;
11612 const orc_int8 *ORC_RESTRICT ptr6;
11615 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
11616 volatile orc_union16 var38;
11626 ptr0 = (orc_union64 *) ex->arrays[0];
11627 ptr4 = (orc_union16 *) ex->arrays[4];
11628 ptr5 = (orc_int8 *) ex->arrays[5];
11629 ptr6 = (orc_int8 *) ex->arrays[6];
11632 var38.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11633 var38.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11635 for (i = 0; i < n; i++) {
11643 _dest.x2[0] = var36;
11644 _dest.x2[1] = var37;
11652 _dest.x2[0] = var38.x2[0];
11653 _dest.x2[1] = var39.x2[0];
11654 var42.x2[0] = _dest.i;
11658 _dest.x2[0] = var38.x2[1];
11659 _dest.x2[1] = var39.x2[1];
11660 var42.x2[1] = _dest.i;
11665 _dest.x2[0] = var41.i;
11666 _dest.x2[1] = var41.i;
11672 _dest.x2[0] = var42.x2[0];
11673 _dest.x2[1] = var43.x2[0];
11674 var40.x2[0] = _dest.i;
11678 _dest.x2[0] = var42.x2[1];
11679 _dest.x2[1] = var43.x2[1];
11680 var40.x2[1] = _dest.i;
11689 video_convert_orc_getline_Y42B (guint8 * ORC_RESTRICT d1,
11690 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
11691 const guint8 * ORC_RESTRICT s3, int n)
11693 OrcExecutor _ex, *ex = &_ex;
11694 static volatile int p_inited = 0;
11695 static OrcCode *c = 0;
11696 void (*func) (OrcExecutor *);
11699 orc_once_mutex_lock ();
11704 static const orc_uint8 bc[] = {
11705 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
11706 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 89, 52, 50,
11707 66, 11, 8, 8, 12, 2, 2, 12, 1, 1, 12, 1, 1, 14, 1, 255,
11708 0, 0, 0, 20, 2, 20, 2, 20, 4, 20, 4, 196, 32, 5, 6, 21,
11709 1, 196, 35, 16, 4, 195, 34, 32, 32, 21, 1, 195, 0, 35, 34, 2,
11712 p = orc_program_new_from_static_bytecode (bc);
11713 orc_program_set_backup_function (p,
11714 _backup_video_convert_orc_getline_Y42B);
11716 p = orc_program_new ();
11717 orc_program_set_name (p, "video_convert_orc_getline_Y42B");
11718 orc_program_set_backup_function (p,
11719 _backup_video_convert_orc_getline_Y42B);
11720 orc_program_add_destination (p, 8, "d1");
11721 orc_program_add_source (p, 2, "s1");
11722 orc_program_add_source (p, 1, "s2");
11723 orc_program_add_source (p, 1, "s3");
11724 orc_program_add_constant (p, 1, 0x000000ff, "c1");
11725 orc_program_add_temporary (p, 2, "t1");
11726 orc_program_add_temporary (p, 2, "t2");
11727 orc_program_add_temporary (p, 4, "t3");
11728 orc_program_add_temporary (p, 4, "t4");
11730 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
11732 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T4, ORC_VAR_C1, ORC_VAR_S1,
11734 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
11736 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T4, ORC_VAR_T3,
11740 orc_program_compile (p);
11741 c = orc_program_take_code (p);
11742 orc_program_free (p);
11745 orc_once_mutex_unlock ();
11747 ex->arrays[ORC_VAR_A2] = c;
11751 ex->arrays[ORC_VAR_D1] = d1;
11752 ex->arrays[ORC_VAR_S1] = (void *) s1;
11753 ex->arrays[ORC_VAR_S2] = (void *) s2;
11754 ex->arrays[ORC_VAR_S3] = (void *) s3;
11762 /* video_convert_orc_getline_Y444 */
11765 video_convert_orc_getline_Y444 (guint8 * ORC_RESTRICT d1,
11766 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
11767 const guint8 * ORC_RESTRICT s3, int n)
11770 orc_union32 *ORC_RESTRICT ptr0;
11771 const orc_int8 *ORC_RESTRICT ptr4;
11772 const orc_int8 *ORC_RESTRICT ptr5;
11773 const orc_int8 *ORC_RESTRICT ptr6;
11776 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
11777 volatile orc_int8 var36;
11786 ptr0 = (orc_union32 *) d1;
11787 ptr4 = (orc_int8 *) s1;
11788 ptr5 = (orc_int8 *) s2;
11789 ptr6 = (orc_int8 *) s3;
11792 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11794 for (i = 0; i < n; i++) {
11802 _dest.x2[0] = var34;
11803 _dest.x2[1] = var35;
11811 _dest.x2[0] = var36;
11812 _dest.x2[1] = var37;
11818 _dest.x2[0] = var40.i;
11819 _dest.x2[1] = var39.i;
11830 _backup_video_convert_orc_getline_Y444 (OrcExecutor * ORC_RESTRICT ex)
11834 orc_union32 *ORC_RESTRICT ptr0;
11835 const orc_int8 *ORC_RESTRICT ptr4;
11836 const orc_int8 *ORC_RESTRICT ptr5;
11837 const orc_int8 *ORC_RESTRICT ptr6;
11840 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
11841 volatile orc_int8 var36;
11850 ptr0 = (orc_union32 *) ex->arrays[0];
11851 ptr4 = (orc_int8 *) ex->arrays[4];
11852 ptr5 = (orc_int8 *) ex->arrays[5];
11853 ptr6 = (orc_int8 *) ex->arrays[6];
11856 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11858 for (i = 0; i < n; i++) {
11866 _dest.x2[0] = var34;
11867 _dest.x2[1] = var35;
11875 _dest.x2[0] = var36;
11876 _dest.x2[1] = var37;
11882 _dest.x2[0] = var40.i;
11883 _dest.x2[1] = var39.i;
11893 video_convert_orc_getline_Y444 (guint8 * ORC_RESTRICT d1,
11894 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
11895 const guint8 * ORC_RESTRICT s3, int n)
11897 OrcExecutor _ex, *ex = &_ex;
11898 static volatile int p_inited = 0;
11899 static OrcCode *c = 0;
11900 void (*func) (OrcExecutor *);
11903 orc_once_mutex_lock ();
11908 static const orc_uint8 bc[] = {
11909 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
11910 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 89, 52, 52,
11911 52, 11, 4, 4, 12, 1, 1, 12, 1, 1, 12, 1, 1, 14, 1, 255,
11912 0, 0, 0, 20, 2, 20, 2, 196, 32, 5, 6, 196, 33, 16, 4, 195,
11915 p = orc_program_new_from_static_bytecode (bc);
11916 orc_program_set_backup_function (p,
11917 _backup_video_convert_orc_getline_Y444);
11919 p = orc_program_new ();
11920 orc_program_set_name (p, "video_convert_orc_getline_Y444");
11921 orc_program_set_backup_function (p,
11922 _backup_video_convert_orc_getline_Y444);
11923 orc_program_add_destination (p, 4, "d1");
11924 orc_program_add_source (p, 1, "s1");
11925 orc_program_add_source (p, 1, "s2");
11926 orc_program_add_source (p, 1, "s3");
11927 orc_program_add_constant (p, 1, 0x000000ff, "c1");
11928 orc_program_add_temporary (p, 2, "t1");
11929 orc_program_add_temporary (p, 2, "t2");
11931 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
11933 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
11935 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
11939 orc_program_compile (p);
11940 c = orc_program_take_code (p);
11941 orc_program_free (p);
11944 orc_once_mutex_unlock ();
11946 ex->arrays[ORC_VAR_A2] = c;
11950 ex->arrays[ORC_VAR_D1] = d1;
11951 ex->arrays[ORC_VAR_S1] = (void *) s1;
11952 ex->arrays[ORC_VAR_S2] = (void *) s2;
11953 ex->arrays[ORC_VAR_S3] = (void *) s3;
11961 /* video_convert_orc_getline_Y800 */
11964 video_convert_orc_getline_Y800 (guint8 * ORC_RESTRICT d1,
11965 const guint8 * ORC_RESTRICT s1, int n)
11968 orc_union32 *ORC_RESTRICT ptr0;
11969 const orc_int8 *ORC_RESTRICT ptr4;
11970 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
11971 volatile orc_int8 var33;
11976 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
11977 volatile orc_union16 var35;
11984 ptr0 = (orc_union32 *) d1;
11985 ptr4 = (orc_int8 *) s1;
11988 var33 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
11990 var35.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
11992 for (i = 0; i < n; i++) {
11998 _dest.x2[0] = var33;
11999 _dest.x2[1] = var34;
12005 _dest.x2[0] = var37.i;
12006 _dest.x2[1] = var35.i;
12017 _backup_video_convert_orc_getline_Y800 (OrcExecutor * ORC_RESTRICT ex)
12021 orc_union32 *ORC_RESTRICT ptr0;
12022 const orc_int8 *ORC_RESTRICT ptr4;
12023 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
12024 volatile orc_int8 var33;
12029 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
12030 volatile orc_union16 var35;
12037 ptr0 = (orc_union32 *) ex->arrays[0];
12038 ptr4 = (orc_int8 *) ex->arrays[4];
12041 var33 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
12043 var35.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
12045 for (i = 0; i < n; i++) {
12051 _dest.x2[0] = var33;
12052 _dest.x2[1] = var34;
12058 _dest.x2[0] = var37.i;
12059 _dest.x2[1] = var35.i;
12069 video_convert_orc_getline_Y800 (guint8 * ORC_RESTRICT d1,
12070 const guint8 * ORC_RESTRICT s1, int n)
12072 OrcExecutor _ex, *ex = &_ex;
12073 static volatile int p_inited = 0;
12074 static OrcCode *c = 0;
12075 void (*func) (OrcExecutor *);
12078 orc_once_mutex_lock ();
12083 static const orc_uint8 bc[] = {
12084 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
12085 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 89, 56, 48,
12086 48, 11, 4, 4, 12, 1, 1, 14, 1, 255, 0, 0, 0, 14, 2, 128,
12087 128, 0, 0, 20, 2, 196, 32, 16, 4, 195, 0, 32, 17, 2, 0,
12089 p = orc_program_new_from_static_bytecode (bc);
12090 orc_program_set_backup_function (p,
12091 _backup_video_convert_orc_getline_Y800);
12093 p = orc_program_new ();
12094 orc_program_set_name (p, "video_convert_orc_getline_Y800");
12095 orc_program_set_backup_function (p,
12096 _backup_video_convert_orc_getline_Y800);
12097 orc_program_add_destination (p, 4, "d1");
12098 orc_program_add_source (p, 1, "s1");
12099 orc_program_add_constant (p, 1, 0x000000ff, "c1");
12100 orc_program_add_constant (p, 2, 0x00008080, "c2");
12101 orc_program_add_temporary (p, 2, "t1");
12103 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_S1,
12105 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
12109 orc_program_compile (p);
12110 c = orc_program_take_code (p);
12111 orc_program_free (p);
12114 orc_once_mutex_unlock ();
12116 ex->arrays[ORC_VAR_A2] = c;
12120 ex->arrays[ORC_VAR_D1] = d1;
12121 ex->arrays[ORC_VAR_S1] = (void *) s1;
12129 /* video_convert_orc_getline_Y16 */
12132 video_convert_orc_getline_Y16 (guint8 * ORC_RESTRICT d1,
12133 const guint8 * ORC_RESTRICT s1, int n)
12136 orc_union32 *ORC_RESTRICT ptr0;
12137 const orc_union16 *ORC_RESTRICT ptr4;
12139 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
12140 volatile orc_int8 var35;
12144 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
12145 volatile orc_union16 var36;
12153 ptr0 = (orc_union32 *) d1;
12154 ptr4 = (orc_union16 *) s1;
12157 var35 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
12159 var36.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
12161 for (i = 0; i < n; i++) {
12165 var38 = ((orc_uint16) var34.i) >> 8;
12169 _dest.x2[0] = var35;
12170 _dest.x2[1] = var38;
12176 _dest.x2[0] = var39.i;
12177 _dest.x2[1] = var36.i;
12188 _backup_video_convert_orc_getline_Y16 (OrcExecutor * ORC_RESTRICT ex)
12192 orc_union32 *ORC_RESTRICT ptr0;
12193 const orc_union16 *ORC_RESTRICT ptr4;
12195 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
12196 volatile orc_int8 var35;
12200 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
12201 volatile orc_union16 var36;
12209 ptr0 = (orc_union32 *) ex->arrays[0];
12210 ptr4 = (orc_union16 *) ex->arrays[4];
12213 var35 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
12215 var36.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
12217 for (i = 0; i < n; i++) {
12221 var38 = ((orc_uint16) var34.i) >> 8;
12225 _dest.x2[0] = var35;
12226 _dest.x2[1] = var38;
12232 _dest.x2[0] = var39.i;
12233 _dest.x2[1] = var36.i;
12243 video_convert_orc_getline_Y16 (guint8 * ORC_RESTRICT d1,
12244 const guint8 * ORC_RESTRICT s1, int n)
12246 OrcExecutor _ex, *ex = &_ex;
12247 static volatile int p_inited = 0;
12248 static OrcCode *c = 0;
12249 void (*func) (OrcExecutor *);
12252 orc_once_mutex_lock ();
12257 static const orc_uint8 bc[] = {
12258 1, 9, 29, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
12259 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 89, 49, 54,
12260 11, 4, 4, 12, 2, 2, 14, 1, 255, 0, 0, 0, 14, 2, 128, 128,
12261 0, 0, 20, 2, 20, 1, 158, 33, 4, 196, 32, 16, 33, 195, 0, 32,
12264 p = orc_program_new_from_static_bytecode (bc);
12265 orc_program_set_backup_function (p,
12266 _backup_video_convert_orc_getline_Y16);
12268 p = orc_program_new ();
12269 orc_program_set_name (p, "video_convert_orc_getline_Y16");
12270 orc_program_set_backup_function (p,
12271 _backup_video_convert_orc_getline_Y16);
12272 orc_program_add_destination (p, 4, "d1");
12273 orc_program_add_source (p, 2, "s1");
12274 orc_program_add_constant (p, 1, 0x000000ff, "c1");
12275 orc_program_add_constant (p, 2, 0x00008080, "c2");
12276 orc_program_add_temporary (p, 2, "t1");
12277 orc_program_add_temporary (p, 1, "t2");
12279 orc_program_append_2 (p, "convhwb", 0, ORC_VAR_T2, ORC_VAR_S1, ORC_VAR_D1,
12281 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_T2,
12283 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
12287 orc_program_compile (p);
12288 c = orc_program_take_code (p);
12289 orc_program_free (p);
12292 orc_once_mutex_unlock ();
12294 ex->arrays[ORC_VAR_A2] = c;
12298 ex->arrays[ORC_VAR_D1] = d1;
12299 ex->arrays[ORC_VAR_S1] = (void *) s1;
12307 /* video_convert_orc_getline_BGRA */
12310 video_convert_orc_getline_BGRA (guint8 * ORC_RESTRICT d1,
12311 const guint8 * ORC_RESTRICT s1, int n)
12314 orc_union32 *ORC_RESTRICT ptr0;
12315 const orc_union32 *ORC_RESTRICT ptr4;
12319 ptr0 = (orc_union32 *) d1;
12320 ptr4 = (orc_union32 *) s1;
12323 for (i = 0; i < n; i++) {
12327 var33.i = ORC_SWAP_L (var32.i);
12336 _backup_video_convert_orc_getline_BGRA (OrcExecutor * ORC_RESTRICT ex)
12340 orc_union32 *ORC_RESTRICT ptr0;
12341 const orc_union32 *ORC_RESTRICT ptr4;
12345 ptr0 = (orc_union32 *) ex->arrays[0];
12346 ptr4 = (orc_union32 *) ex->arrays[4];
12349 for (i = 0; i < n; i++) {
12353 var33.i = ORC_SWAP_L (var32.i);
12361 video_convert_orc_getline_BGRA (guint8 * ORC_RESTRICT d1,
12362 const guint8 * ORC_RESTRICT s1, int n)
12364 OrcExecutor _ex, *ex = &_ex;
12365 static volatile int p_inited = 0;
12366 static OrcCode *c = 0;
12367 void (*func) (OrcExecutor *);
12370 orc_once_mutex_lock ();
12375 static const orc_uint8 bc[] = {
12376 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
12377 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 66, 71, 82,
12378 65, 11, 4, 4, 12, 4, 4, 184, 0, 4, 2, 0,
12380 p = orc_program_new_from_static_bytecode (bc);
12381 orc_program_set_backup_function (p,
12382 _backup_video_convert_orc_getline_BGRA);
12384 p = orc_program_new ();
12385 orc_program_set_name (p, "video_convert_orc_getline_BGRA");
12386 orc_program_set_backup_function (p,
12387 _backup_video_convert_orc_getline_BGRA);
12388 orc_program_add_destination (p, 4, "d1");
12389 orc_program_add_source (p, 4, "s1");
12391 orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
12395 orc_program_compile (p);
12396 c = orc_program_take_code (p);
12397 orc_program_free (p);
12400 orc_once_mutex_unlock ();
12402 ex->arrays[ORC_VAR_A2] = c;
12406 ex->arrays[ORC_VAR_D1] = d1;
12407 ex->arrays[ORC_VAR_S1] = (void *) s1;
12415 /* video_convert_orc_getline_ABGR */
12418 video_convert_orc_getline_ABGR (guint8 * ORC_RESTRICT d1,
12419 const guint8 * ORC_RESTRICT s1, int n)
12422 orc_union32 *ORC_RESTRICT ptr0;
12423 const orc_union32 *ORC_RESTRICT ptr4;
12435 ptr0 = (orc_union32 *) d1;
12436 ptr4 = (orc_union32 *) s1;
12439 for (i = 0; i < n; i++) {
12446 var42.i = _src.x2[1];
12447 var43.i = _src.x2[0];
12453 var44 = _src.x2[1];
12454 var45 = _src.x2[0];
12460 var46 = _src.x2[1];
12461 var47 = _src.x2[0];
12466 _dest.x2[0] = var47;
12467 _dest.x2[1] = var44;
12473 _dest.x2[0] = var45;
12474 _dest.x2[1] = var46;
12480 _dest.x2[0] = var48.i;
12481 _dest.x2[1] = var49.i;
12492 _backup_video_convert_orc_getline_ABGR (OrcExecutor * ORC_RESTRICT ex)
12496 orc_union32 *ORC_RESTRICT ptr0;
12497 const orc_union32 *ORC_RESTRICT ptr4;
12509 ptr0 = (orc_union32 *) ex->arrays[0];
12510 ptr4 = (orc_union32 *) ex->arrays[4];
12513 for (i = 0; i < n; i++) {
12520 var42.i = _src.x2[1];
12521 var43.i = _src.x2[0];
12527 var44 = _src.x2[1];
12528 var45 = _src.x2[0];
12534 var46 = _src.x2[1];
12535 var47 = _src.x2[0];
12540 _dest.x2[0] = var47;
12541 _dest.x2[1] = var44;
12547 _dest.x2[0] = var45;
12548 _dest.x2[1] = var46;
12554 _dest.x2[0] = var48.i;
12555 _dest.x2[1] = var49.i;
12565 video_convert_orc_getline_ABGR (guint8 * ORC_RESTRICT d1,
12566 const guint8 * ORC_RESTRICT s1, int n)
12568 OrcExecutor _ex, *ex = &_ex;
12569 static volatile int p_inited = 0;
12570 static OrcCode *c = 0;
12571 void (*func) (OrcExecutor *);
12574 orc_once_mutex_lock ();
12579 static const orc_uint8 bc[] = {
12580 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
12581 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 65, 66, 71,
12582 82, 11, 4, 4, 12, 4, 4, 20, 1, 20, 1, 20, 1, 20, 1, 20,
12583 2, 20, 2, 20, 2, 20, 2, 198, 36, 37, 4, 199, 33, 34, 36, 199,
12584 35, 32, 37, 196, 38, 32, 33, 196, 39, 34, 35, 195, 0, 38, 39, 2,
12587 p = orc_program_new_from_static_bytecode (bc);
12588 orc_program_set_backup_function (p,
12589 _backup_video_convert_orc_getline_ABGR);
12591 p = orc_program_new ();
12592 orc_program_set_name (p, "video_convert_orc_getline_ABGR");
12593 orc_program_set_backup_function (p,
12594 _backup_video_convert_orc_getline_ABGR);
12595 orc_program_add_destination (p, 4, "d1");
12596 orc_program_add_source (p, 4, "s1");
12597 orc_program_add_temporary (p, 1, "t1");
12598 orc_program_add_temporary (p, 1, "t2");
12599 orc_program_add_temporary (p, 1, "t3");
12600 orc_program_add_temporary (p, 1, "t4");
12601 orc_program_add_temporary (p, 2, "t5");
12602 orc_program_add_temporary (p, 2, "t6");
12603 orc_program_add_temporary (p, 2, "t7");
12604 orc_program_add_temporary (p, 2, "t8");
12606 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_S1,
12608 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
12610 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T1, ORC_VAR_T6,
12612 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_T2,
12614 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T3, ORC_VAR_T4,
12616 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T7, ORC_VAR_T8,
12620 orc_program_compile (p);
12621 c = orc_program_take_code (p);
12622 orc_program_free (p);
12625 orc_once_mutex_unlock ();
12627 ex->arrays[ORC_VAR_A2] = c;
12631 ex->arrays[ORC_VAR_D1] = d1;
12632 ex->arrays[ORC_VAR_S1] = (void *) s1;
12640 /* video_convert_orc_getline_RGBA */
12643 video_convert_orc_getline_RGBA (guint8 * ORC_RESTRICT d1,
12644 const guint8 * ORC_RESTRICT s1, int n)
12647 orc_union32 *ORC_RESTRICT ptr0;
12648 const orc_union32 *ORC_RESTRICT ptr4;
12660 ptr0 = (orc_union32 *) d1;
12661 ptr4 = (orc_union32 *) s1;
12664 for (i = 0; i < n; i++) {
12671 var42.i = _src.x2[1];
12672 var43.i = _src.x2[0];
12678 var44 = _src.x2[1];
12679 var45 = _src.x2[0];
12685 var46 = _src.x2[1];
12686 var47 = _src.x2[0];
12691 _dest.x2[0] = var46;
12692 _dest.x2[1] = var45;
12698 _dest.x2[0] = var44;
12699 _dest.x2[1] = var47;
12705 _dest.x2[0] = var48.i;
12706 _dest.x2[1] = var49.i;
12717 _backup_video_convert_orc_getline_RGBA (OrcExecutor * ORC_RESTRICT ex)
12721 orc_union32 *ORC_RESTRICT ptr0;
12722 const orc_union32 *ORC_RESTRICT ptr4;
12734 ptr0 = (orc_union32 *) ex->arrays[0];
12735 ptr4 = (orc_union32 *) ex->arrays[4];
12738 for (i = 0; i < n; i++) {
12745 var42.i = _src.x2[1];
12746 var43.i = _src.x2[0];
12752 var44 = _src.x2[1];
12753 var45 = _src.x2[0];
12759 var46 = _src.x2[1];
12760 var47 = _src.x2[0];
12765 _dest.x2[0] = var46;
12766 _dest.x2[1] = var45;
12772 _dest.x2[0] = var44;
12773 _dest.x2[1] = var47;
12779 _dest.x2[0] = var48.i;
12780 _dest.x2[1] = var49.i;
12790 video_convert_orc_getline_RGBA (guint8 * ORC_RESTRICT d1,
12791 const guint8 * ORC_RESTRICT s1, int n)
12793 OrcExecutor _ex, *ex = &_ex;
12794 static volatile int p_inited = 0;
12795 static OrcCode *c = 0;
12796 void (*func) (OrcExecutor *);
12799 orc_once_mutex_lock ();
12804 static const orc_uint8 bc[] = {
12805 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
12806 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 82, 71, 66,
12807 65, 11, 4, 4, 12, 4, 4, 20, 1, 20, 1, 20, 1, 20, 1, 20,
12808 2, 20, 2, 20, 2, 20, 2, 198, 37, 36, 4, 199, 34, 33, 36, 199,
12809 32, 35, 37, 196, 38, 32, 33, 196, 39, 34, 35, 195, 0, 38, 39, 2,
12812 p = orc_program_new_from_static_bytecode (bc);
12813 orc_program_set_backup_function (p,
12814 _backup_video_convert_orc_getline_RGBA);
12816 p = orc_program_new ();
12817 orc_program_set_name (p, "video_convert_orc_getline_RGBA");
12818 orc_program_set_backup_function (p,
12819 _backup_video_convert_orc_getline_RGBA);
12820 orc_program_add_destination (p, 4, "d1");
12821 orc_program_add_source (p, 4, "s1");
12822 orc_program_add_temporary (p, 1, "t1");
12823 orc_program_add_temporary (p, 1, "t2");
12824 orc_program_add_temporary (p, 1, "t3");
12825 orc_program_add_temporary (p, 1, "t4");
12826 orc_program_add_temporary (p, 2, "t5");
12827 orc_program_add_temporary (p, 2, "t6");
12828 orc_program_add_temporary (p, 2, "t7");
12829 orc_program_add_temporary (p, 2, "t8");
12831 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_S1,
12833 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_T5,
12835 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_T6,
12837 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_T2,
12839 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T3, ORC_VAR_T4,
12841 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T7, ORC_VAR_T8,
12845 orc_program_compile (p);
12846 c = orc_program_take_code (p);
12847 orc_program_free (p);
12850 orc_once_mutex_unlock ();
12852 ex->arrays[ORC_VAR_A2] = c;
12856 ex->arrays[ORC_VAR_D1] = d1;
12857 ex->arrays[ORC_VAR_S1] = (void *) s1;
12865 /* video_convert_orc_getline_NV12 */
12868 video_convert_orc_getline_NV12 (guint8 * ORC_RESTRICT d1,
12869 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
12872 orc_union64 *ORC_RESTRICT ptr0;
12873 const orc_union16 *ORC_RESTRICT ptr4;
12874 const orc_union16 *ORC_RESTRICT ptr5;
12877 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
12878 volatile orc_union16 var36;
12887 ptr0 = (orc_union64 *) d1;
12888 ptr4 = (orc_union16 *) s1;
12889 ptr5 = (orc_union16 *) s2;
12892 var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
12893 var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
12895 for (i = 0; i < n; i++) {
12903 _dest.x2[0] = var34.i;
12904 _dest.x2[1] = var35.i;
12912 _dest.x2[0] = var36.x2[0];
12913 _dest.x2[1] = var37.x2[0];
12914 var40.x2[0] = _dest.i;
12918 _dest.x2[0] = var36.x2[1];
12919 _dest.x2[1] = var37.x2[1];
12920 var40.x2[1] = _dest.i;
12925 _dest.x2[0] = var40.x2[0];
12926 _dest.x2[1] = var39.x2[0];
12927 var38.x2[0] = _dest.i;
12931 _dest.x2[0] = var40.x2[1];
12932 _dest.x2[1] = var39.x2[1];
12933 var38.x2[1] = _dest.i;
12943 _backup_video_convert_orc_getline_NV12 (OrcExecutor * ORC_RESTRICT ex)
12947 orc_union64 *ORC_RESTRICT ptr0;
12948 const orc_union16 *ORC_RESTRICT ptr4;
12949 const orc_union16 *ORC_RESTRICT ptr5;
12952 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
12953 volatile orc_union16 var36;
12962 ptr0 = (orc_union64 *) ex->arrays[0];
12963 ptr4 = (orc_union16 *) ex->arrays[4];
12964 ptr5 = (orc_union16 *) ex->arrays[5];
12967 var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
12968 var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
12970 for (i = 0; i < n; i++) {
12978 _dest.x2[0] = var34.i;
12979 _dest.x2[1] = var35.i;
12987 _dest.x2[0] = var36.x2[0];
12988 _dest.x2[1] = var37.x2[0];
12989 var40.x2[0] = _dest.i;
12993 _dest.x2[0] = var36.x2[1];
12994 _dest.x2[1] = var37.x2[1];
12995 var40.x2[1] = _dest.i;
13000 _dest.x2[0] = var40.x2[0];
13001 _dest.x2[1] = var39.x2[0];
13002 var38.x2[0] = _dest.i;
13006 _dest.x2[0] = var40.x2[1];
13007 _dest.x2[1] = var39.x2[1];
13008 var38.x2[1] = _dest.i;
13017 video_convert_orc_getline_NV12 (guint8 * ORC_RESTRICT d1,
13018 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
13020 OrcExecutor _ex, *ex = &_ex;
13021 static volatile int p_inited = 0;
13022 static OrcCode *c = 0;
13023 void (*func) (OrcExecutor *);
13026 orc_once_mutex_lock ();
13031 static const orc_uint8 bc[] = {
13032 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
13033 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 78, 86, 49,
13034 50, 11, 8, 8, 12, 2, 2, 12, 2, 2, 14, 1, 255, 0, 0, 0,
13035 20, 4, 20, 4, 195, 33, 5, 5, 21, 1, 196, 32, 16, 4, 21, 1,
13036 195, 0, 32, 33, 2, 0,
13038 p = orc_program_new_from_static_bytecode (bc);
13039 orc_program_set_backup_function (p,
13040 _backup_video_convert_orc_getline_NV12);
13042 p = orc_program_new ();
13043 orc_program_set_name (p, "video_convert_orc_getline_NV12");
13044 orc_program_set_backup_function (p,
13045 _backup_video_convert_orc_getline_NV12);
13046 orc_program_add_destination (p, 8, "d1");
13047 orc_program_add_source (p, 2, "s1");
13048 orc_program_add_source (p, 2, "s2");
13049 orc_program_add_constant (p, 1, 0x000000ff, "c1");
13050 orc_program_add_temporary (p, 4, "t1");
13051 orc_program_add_temporary (p, 4, "t2");
13053 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S2,
13055 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_S1,
13057 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
13061 orc_program_compile (p);
13062 c = orc_program_take_code (p);
13063 orc_program_free (p);
13066 orc_once_mutex_unlock ();
13068 ex->arrays[ORC_VAR_A2] = c;
13072 ex->arrays[ORC_VAR_D1] = d1;
13073 ex->arrays[ORC_VAR_S1] = (void *) s1;
13074 ex->arrays[ORC_VAR_S2] = (void *) s2;
13082 /* video_convert_orc_getline_NV21 */
13085 video_convert_orc_getline_NV21 (guint8 * ORC_RESTRICT d1,
13086 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
13089 orc_union64 *ORC_RESTRICT ptr0;
13090 const orc_union16 *ORC_RESTRICT ptr4;
13091 const orc_union16 *ORC_RESTRICT ptr5;
13093 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
13094 volatile orc_union16 var36;
13104 ptr0 = (orc_union64 *) d1;
13105 ptr4 = (orc_union16 *) s1;
13106 ptr5 = (orc_union16 *) s2;
13109 var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
13110 var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
13112 for (i = 0; i < n; i++) {
13116 var39.i = ORC_SWAP_W (var35.i);
13120 _dest.x2[0] = var39.i;
13121 _dest.x2[1] = var39.i;
13129 _dest.x2[0] = var36.x2[0];
13130 _dest.x2[1] = var37.x2[0];
13131 var41.x2[0] = _dest.i;
13135 _dest.x2[0] = var36.x2[1];
13136 _dest.x2[1] = var37.x2[1];
13137 var41.x2[1] = _dest.i;
13142 _dest.x2[0] = var41.x2[0];
13143 _dest.x2[1] = var40.x2[0];
13144 var38.x2[0] = _dest.i;
13148 _dest.x2[0] = var41.x2[1];
13149 _dest.x2[1] = var40.x2[1];
13150 var38.x2[1] = _dest.i;
13160 _backup_video_convert_orc_getline_NV21 (OrcExecutor * ORC_RESTRICT ex)
13164 orc_union64 *ORC_RESTRICT ptr0;
13165 const orc_union16 *ORC_RESTRICT ptr4;
13166 const orc_union16 *ORC_RESTRICT ptr5;
13168 #if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
13169 volatile orc_union16 var36;
13179 ptr0 = (orc_union64 *) ex->arrays[0];
13180 ptr4 = (orc_union16 *) ex->arrays[4];
13181 ptr5 = (orc_union16 *) ex->arrays[5];
13184 var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
13185 var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
13187 for (i = 0; i < n; i++) {
13191 var39.i = ORC_SWAP_W (var35.i);
13195 _dest.x2[0] = var39.i;
13196 _dest.x2[1] = var39.i;
13204 _dest.x2[0] = var36.x2[0];
13205 _dest.x2[1] = var37.x2[0];
13206 var41.x2[0] = _dest.i;
13210 _dest.x2[0] = var36.x2[1];
13211 _dest.x2[1] = var37.x2[1];
13212 var41.x2[1] = _dest.i;
13217 _dest.x2[0] = var41.x2[0];
13218 _dest.x2[1] = var40.x2[0];
13219 var38.x2[0] = _dest.i;
13223 _dest.x2[0] = var41.x2[1];
13224 _dest.x2[1] = var40.x2[1];
13225 var38.x2[1] = _dest.i;
13234 video_convert_orc_getline_NV21 (guint8 * ORC_RESTRICT d1,
13235 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
13237 OrcExecutor _ex, *ex = &_ex;
13238 static volatile int p_inited = 0;
13239 static OrcCode *c = 0;
13240 void (*func) (OrcExecutor *);
13243 orc_once_mutex_lock ();
13248 static const orc_uint8 bc[] = {
13249 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
13250 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 78, 86, 50,
13251 49, 11, 8, 8, 12, 2, 2, 12, 2, 2, 14, 1, 255, 0, 0, 0,
13252 20, 2, 20, 4, 20, 4, 183, 32, 5, 195, 34, 32, 32, 21, 1, 196,
13253 33, 16, 4, 21, 1, 195, 0, 33, 34, 2, 0,
13255 p = orc_program_new_from_static_bytecode (bc);
13256 orc_program_set_backup_function (p,
13257 _backup_video_convert_orc_getline_NV21);
13259 p = orc_program_new ();
13260 orc_program_set_name (p, "video_convert_orc_getline_NV21");
13261 orc_program_set_backup_function (p,
13262 _backup_video_convert_orc_getline_NV21);
13263 orc_program_add_destination (p, 8, "d1");
13264 orc_program_add_source (p, 2, "s1");
13265 orc_program_add_source (p, 2, "s2");
13266 orc_program_add_constant (p, 1, 0x000000ff, "c1");
13267 orc_program_add_temporary (p, 2, "t1");
13268 orc_program_add_temporary (p, 4, "t2");
13269 orc_program_add_temporary (p, 4, "t3");
13271 orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_D1,
13273 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
13275 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
13277 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
13281 orc_program_compile (p);
13282 c = orc_program_take_code (p);
13283 orc_program_free (p);
13286 orc_once_mutex_unlock ();
13288 ex->arrays[ORC_VAR_A2] = c;
13292 ex->arrays[ORC_VAR_D1] = d1;
13293 ex->arrays[ORC_VAR_S1] = (void *) s1;
13294 ex->arrays[ORC_VAR_S2] = (void *) s2;
13302 /* video_convert_orc_getline_A420 */
13305 video_convert_orc_getline_A420 (guint8 * ORC_RESTRICT d1,
13306 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
13307 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
13310 orc_union32 *ORC_RESTRICT ptr0;
13311 const orc_int8 *ORC_RESTRICT ptr4;
13312 const orc_int8 *ORC_RESTRICT ptr5;
13313 const orc_int8 *ORC_RESTRICT ptr6;
13314 const orc_int8 *ORC_RESTRICT ptr7;
13323 ptr0 = (orc_union32 *) d1;
13324 ptr4 = (orc_int8 *) s1;
13325 ptr5 = (orc_int8 *) s2;
13326 ptr6 = (orc_int8 *) s3;
13327 ptr7 = (orc_int8 *) s4;
13330 for (i = 0; i < n; i++) {
13332 var39 = ptr5[i >> 1];
13334 var40 = ptr6[i >> 1];
13338 _dest.x2[0] = var39;
13339 _dest.x2[1] = var40;
13349 _dest.x2[0] = var36;
13350 _dest.x2[1] = var37;
13356 _dest.x2[0] = var42.i;
13357 _dest.x2[1] = var41.i;
13368 _backup_video_convert_orc_getline_A420 (OrcExecutor * ORC_RESTRICT ex)
13372 orc_union32 *ORC_RESTRICT ptr0;
13373 const orc_int8 *ORC_RESTRICT ptr4;
13374 const orc_int8 *ORC_RESTRICT ptr5;
13375 const orc_int8 *ORC_RESTRICT ptr6;
13376 const orc_int8 *ORC_RESTRICT ptr7;
13385 ptr0 = (orc_union32 *) ex->arrays[0];
13386 ptr4 = (orc_int8 *) ex->arrays[4];
13387 ptr5 = (orc_int8 *) ex->arrays[5];
13388 ptr6 = (orc_int8 *) ex->arrays[6];
13389 ptr7 = (orc_int8 *) ex->arrays[7];
13392 for (i = 0; i < n; i++) {
13394 var39 = ptr5[i >> 1];
13396 var40 = ptr6[i >> 1];
13400 _dest.x2[0] = var39;
13401 _dest.x2[1] = var40;
13411 _dest.x2[0] = var36;
13412 _dest.x2[1] = var37;
13418 _dest.x2[0] = var42.i;
13419 _dest.x2[1] = var41.i;
13429 video_convert_orc_getline_A420 (guint8 * ORC_RESTRICT d1,
13430 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
13431 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
13433 OrcExecutor _ex, *ex = &_ex;
13434 static volatile int p_inited = 0;
13435 static OrcCode *c = 0;
13436 void (*func) (OrcExecutor *);
13439 orc_once_mutex_lock ();
13444 static const orc_uint8 bc[] = {
13445 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
13446 95, 111, 114, 99, 95, 103, 101, 116, 108, 105, 110, 101, 95, 65, 52, 50,
13447 48, 11, 4, 4, 12, 1, 1, 12, 1, 1, 12, 1, 1, 12, 1, 1,
13448 20, 2, 20, 2, 20, 1, 20, 1, 45, 34, 5, 45, 35, 6, 196, 32,
13449 34, 35, 196, 33, 7, 4, 195, 0, 33, 32, 2, 0,
13451 p = orc_program_new_from_static_bytecode (bc);
13452 orc_program_set_backup_function (p,
13453 _backup_video_convert_orc_getline_A420);
13455 p = orc_program_new ();
13456 orc_program_set_name (p, "video_convert_orc_getline_A420");
13457 orc_program_set_backup_function (p,
13458 _backup_video_convert_orc_getline_A420);
13459 orc_program_add_destination (p, 4, "d1");
13460 orc_program_add_source (p, 1, "s1");
13461 orc_program_add_source (p, 1, "s2");
13462 orc_program_add_source (p, 1, "s3");
13463 orc_program_add_source (p, 1, "s4");
13464 orc_program_add_temporary (p, 2, "t1");
13465 orc_program_add_temporary (p, 2, "t2");
13466 orc_program_add_temporary (p, 1, "t3");
13467 orc_program_add_temporary (p, 1, "t4");
13469 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T3, ORC_VAR_S2,
13470 ORC_VAR_D1, ORC_VAR_D1);
13471 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S3,
13472 ORC_VAR_D1, ORC_VAR_D1);
13473 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
13475 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_S4, ORC_VAR_S1,
13477 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
13481 orc_program_compile (p);
13482 c = orc_program_take_code (p);
13483 orc_program_free (p);
13486 orc_once_mutex_unlock ();
13488 ex->arrays[ORC_VAR_A2] = c;
13492 ex->arrays[ORC_VAR_D1] = d1;
13493 ex->arrays[ORC_VAR_S1] = (void *) s1;
13494 ex->arrays[ORC_VAR_S2] = (void *) s2;
13495 ex->arrays[ORC_VAR_S3] = (void *) s3;
13496 ex->arrays[ORC_VAR_S4] = (void *) s4;
13504 /* video_convert_orc_putline_I420 */
13507 video_convert_orc_putline_I420 (guint8 * ORC_RESTRICT d1,
13508 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
13509 const guint8 * ORC_RESTRICT s1, int n)
13512 orc_union16 *ORC_RESTRICT ptr0;
13513 orc_int8 *ORC_RESTRICT ptr1;
13514 orc_int8 *ORC_RESTRICT ptr2;
13515 const orc_union64 *ORC_RESTRICT ptr4;
13529 ptr0 = (orc_union16 *) d1;
13530 ptr1 = (orc_int8 *) d2;
13531 ptr2 = (orc_int8 *) d3;
13532 ptr4 = (orc_union64 *) s1;
13535 for (i = 0; i < n; i++) {
13541 _src.i = var38.x2[0];
13542 var42.x2[0] = _src.x2[1];
13543 var43.x2[0] = _src.x2[0];
13547 _src.i = var38.x2[1];
13548 var42.x2[1] = _src.x2[1];
13549 var43.x2[1] = _src.x2[0];
13554 _src.i = var43.x2[0];
13555 var39.x2[0] = _src.x2[1];
13559 _src.i = var43.x2[1];
13560 var39.x2[1] = _src.x2[1];
13567 _src.i = var42.x2[0];
13568 var44.x2[0] = _src.x2[1];
13569 var45.x2[0] = _src.x2[0];
13573 _src.i = var42.x2[1];
13574 var44.x2[1] = _src.x2[1];
13575 var45.x2[1] = _src.x2[0];
13581 var46 = _src.x2[1];
13582 var47 = _src.x2[0];
13585 var40 = ((orc_uint8) var46 + (orc_uint8) var47 + 1) >> 1;
13592 var48 = _src.x2[1];
13593 var49 = _src.x2[0];
13596 var41 = ((orc_uint8) var48 + (orc_uint8) var49 + 1) >> 1;
13605 _backup_video_convert_orc_putline_I420 (OrcExecutor * ORC_RESTRICT ex)
13609 orc_union16 *ORC_RESTRICT ptr0;
13610 orc_int8 *ORC_RESTRICT ptr1;
13611 orc_int8 *ORC_RESTRICT ptr2;
13612 const orc_union64 *ORC_RESTRICT ptr4;
13626 ptr0 = (orc_union16 *) ex->arrays[0];
13627 ptr1 = (orc_int8 *) ex->arrays[1];
13628 ptr2 = (orc_int8 *) ex->arrays[2];
13629 ptr4 = (orc_union64 *) ex->arrays[4];
13632 for (i = 0; i < n; i++) {
13638 _src.i = var38.x2[0];
13639 var42.x2[0] = _src.x2[1];
13640 var43.x2[0] = _src.x2[0];
13644 _src.i = var38.x2[1];
13645 var42.x2[1] = _src.x2[1];
13646 var43.x2[1] = _src.x2[0];
13651 _src.i = var43.x2[0];
13652 var39.x2[0] = _src.x2[1];
13656 _src.i = var43.x2[1];
13657 var39.x2[1] = _src.x2[1];
13664 _src.i = var42.x2[0];
13665 var44.x2[0] = _src.x2[1];
13666 var45.x2[0] = _src.x2[0];
13670 _src.i = var42.x2[1];
13671 var44.x2[1] = _src.x2[1];
13672 var45.x2[1] = _src.x2[0];
13678 var46 = _src.x2[1];
13679 var47 = _src.x2[0];
13682 var40 = ((orc_uint8) var46 + (orc_uint8) var47 + 1) >> 1;
13689 var48 = _src.x2[1];
13690 var49 = _src.x2[0];
13693 var41 = ((orc_uint8) var48 + (orc_uint8) var49 + 1) >> 1;
13701 video_convert_orc_putline_I420 (guint8 * ORC_RESTRICT d1,
13702 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
13703 const guint8 * ORC_RESTRICT s1, int n)
13705 OrcExecutor _ex, *ex = &_ex;
13706 static volatile int p_inited = 0;
13707 static OrcCode *c = 0;
13708 void (*func) (OrcExecutor *);
13711 orc_once_mutex_lock ();
13716 static const orc_uint8 bc[] = {
13717 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
13718 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 73, 52, 50,
13719 48, 11, 2, 2, 11, 1, 1, 11, 1, 1, 12, 8, 8, 20, 4, 20,
13720 4, 20, 2, 20, 2, 20, 1, 20, 1, 21, 1, 198, 33, 32, 4, 21,
13721 1, 189, 0, 32, 21, 1, 199, 35, 34, 33, 199, 36, 37, 34, 39, 1,
13722 36, 37, 199, 36, 37, 35, 39, 2, 36, 37, 2, 0,
13724 p = orc_program_new_from_static_bytecode (bc);
13725 orc_program_set_backup_function (p,
13726 _backup_video_convert_orc_putline_I420);
13728 p = orc_program_new ();
13729 orc_program_set_name (p, "video_convert_orc_putline_I420");
13730 orc_program_set_backup_function (p,
13731 _backup_video_convert_orc_putline_I420);
13732 orc_program_add_destination (p, 2, "d1");
13733 orc_program_add_destination (p, 1, "d2");
13734 orc_program_add_destination (p, 1, "d3");
13735 orc_program_add_source (p, 8, "s1");
13736 orc_program_add_temporary (p, 4, "t1");
13737 orc_program_add_temporary (p, 4, "t2");
13738 orc_program_add_temporary (p, 2, "t3");
13739 orc_program_add_temporary (p, 2, "t4");
13740 orc_program_add_temporary (p, 1, "t5");
13741 orc_program_add_temporary (p, 1, "t6");
13743 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
13745 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
13746 ORC_VAR_D1, ORC_VAR_D1);
13747 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
13749 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T3,
13751 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_T6,
13753 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T4,
13755 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D3, ORC_VAR_T5, ORC_VAR_T6,
13759 orc_program_compile (p);
13760 c = orc_program_take_code (p);
13761 orc_program_free (p);
13764 orc_once_mutex_unlock ();
13766 ex->arrays[ORC_VAR_A2] = c;
13770 ex->arrays[ORC_VAR_D1] = d1;
13771 ex->arrays[ORC_VAR_D2] = d2;
13772 ex->arrays[ORC_VAR_D3] = d3;
13773 ex->arrays[ORC_VAR_S1] = (void *) s1;
13781 /* video_convert_orc_putline_YUY2 */
13784 video_convert_orc_putline_YUY2 (guint8 * ORC_RESTRICT d1,
13785 const guint8 * ORC_RESTRICT s1, int n)
13788 orc_union32 *ORC_RESTRICT ptr0;
13789 const orc_union64 *ORC_RESTRICT ptr4;
13799 ptr0 = (orc_union32 *) d1;
13800 ptr4 = (orc_union64 *) s1;
13803 for (i = 0; i < n; i++) {
13809 _src.i = var37.x2[0];
13810 var39.x2[0] = _src.x2[1];
13811 var40.x2[0] = _src.x2[0];
13815 _src.i = var37.x2[1];
13816 var39.x2[1] = _src.x2[1];
13817 var40.x2[1] = _src.x2[0];
13823 var41.i = _src.x2[1];
13824 var42.i = _src.x2[0];
13827 var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
13828 var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
13832 _src.i = var40.x2[0];
13833 var44.x2[0] = _src.x2[1];
13837 _src.i = var40.x2[1];
13838 var44.x2[1] = _src.x2[1];
13843 _dest.x2[0] = var44.x2[0];
13844 _dest.x2[1] = var43.x2[0];
13845 var38.x2[0] = _dest.i;
13849 _dest.x2[0] = var44.x2[1];
13850 _dest.x2[1] = var43.x2[1];
13851 var38.x2[1] = _dest.i;
13861 _backup_video_convert_orc_putline_YUY2 (OrcExecutor * ORC_RESTRICT ex)
13865 orc_union32 *ORC_RESTRICT ptr0;
13866 const orc_union64 *ORC_RESTRICT ptr4;
13876 ptr0 = (orc_union32 *) ex->arrays[0];
13877 ptr4 = (orc_union64 *) ex->arrays[4];
13880 for (i = 0; i < n; i++) {
13886 _src.i = var37.x2[0];
13887 var39.x2[0] = _src.x2[1];
13888 var40.x2[0] = _src.x2[0];
13892 _src.i = var37.x2[1];
13893 var39.x2[1] = _src.x2[1];
13894 var40.x2[1] = _src.x2[0];
13900 var41.i = _src.x2[1];
13901 var42.i = _src.x2[0];
13904 var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
13905 var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
13909 _src.i = var40.x2[0];
13910 var44.x2[0] = _src.x2[1];
13914 _src.i = var40.x2[1];
13915 var44.x2[1] = _src.x2[1];
13920 _dest.x2[0] = var44.x2[0];
13921 _dest.x2[1] = var43.x2[0];
13922 var38.x2[0] = _dest.i;
13926 _dest.x2[0] = var44.x2[1];
13927 _dest.x2[1] = var43.x2[1];
13928 var38.x2[1] = _dest.i;
13937 video_convert_orc_putline_YUY2 (guint8 * ORC_RESTRICT d1,
13938 const guint8 * ORC_RESTRICT s1, int n)
13940 OrcExecutor _ex, *ex = &_ex;
13941 static volatile int p_inited = 0;
13942 static OrcCode *c = 0;
13943 void (*func) (OrcExecutor *);
13946 orc_once_mutex_lock ();
13951 static const orc_uint8 bc[] = {
13952 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
13953 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 89, 85, 89,
13954 50, 11, 4, 4, 12, 8, 8, 20, 2, 20, 2, 20, 2, 20, 4, 20,
13955 4, 21, 1, 198, 36, 35, 4, 198, 33, 34, 36, 21, 1, 39, 33, 33,
13956 34, 21, 1, 189, 32, 35, 21, 1, 196, 0, 32, 33, 2, 0,
13958 p = orc_program_new_from_static_bytecode (bc);
13959 orc_program_set_backup_function (p,
13960 _backup_video_convert_orc_putline_YUY2);
13962 p = orc_program_new ();
13963 orc_program_set_name (p, "video_convert_orc_putline_YUY2");
13964 orc_program_set_backup_function (p,
13965 _backup_video_convert_orc_putline_YUY2);
13966 orc_program_add_destination (p, 4, "d1");
13967 orc_program_add_source (p, 8, "s1");
13968 orc_program_add_temporary (p, 2, "t1");
13969 orc_program_add_temporary (p, 2, "t2");
13970 orc_program_add_temporary (p, 2, "t3");
13971 orc_program_add_temporary (p, 4, "t4");
13972 orc_program_add_temporary (p, 4, "t5");
13974 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
13976 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
13978 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
13980 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
13981 ORC_VAR_D1, ORC_VAR_D1);
13982 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
13986 orc_program_compile (p);
13987 c = orc_program_take_code (p);
13988 orc_program_free (p);
13991 orc_once_mutex_unlock ();
13993 ex->arrays[ORC_VAR_A2] = c;
13997 ex->arrays[ORC_VAR_D1] = d1;
13998 ex->arrays[ORC_VAR_S1] = (void *) s1;
14006 /* video_convert_orc_putline_YVYU */
14009 video_convert_orc_putline_YVYU (guint8 * ORC_RESTRICT d1,
14010 const guint8 * ORC_RESTRICT s1, int n)
14013 orc_union32 *ORC_RESTRICT ptr0;
14014 const orc_union64 *ORC_RESTRICT ptr4;
14025 ptr0 = (orc_union32 *) d1;
14026 ptr4 = (orc_union64 *) s1;
14029 for (i = 0; i < n; i++) {
14035 _src.i = var37.x2[0];
14036 var39.x2[0] = _src.x2[1];
14037 var40.x2[0] = _src.x2[0];
14041 _src.i = var37.x2[1];
14042 var39.x2[1] = _src.x2[1];
14043 var40.x2[1] = _src.x2[0];
14049 var41.i = _src.x2[1];
14050 var42.i = _src.x2[0];
14053 var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
14054 var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
14058 _src.i = var40.x2[0];
14059 var44.x2[0] = _src.x2[1];
14063 _src.i = var40.x2[1];
14064 var44.x2[1] = _src.x2[1];
14067 var45.i = ORC_SWAP_W (var43.i);
14071 _dest.x2[0] = var44.x2[0];
14072 _dest.x2[1] = var45.x2[0];
14073 var38.x2[0] = _dest.i;
14077 _dest.x2[0] = var44.x2[1];
14078 _dest.x2[1] = var45.x2[1];
14079 var38.x2[1] = _dest.i;
14089 _backup_video_convert_orc_putline_YVYU (OrcExecutor * ORC_RESTRICT ex)
14093 orc_union32 *ORC_RESTRICT ptr0;
14094 const orc_union64 *ORC_RESTRICT ptr4;
14105 ptr0 = (orc_union32 *) ex->arrays[0];
14106 ptr4 = (orc_union64 *) ex->arrays[4];
14109 for (i = 0; i < n; i++) {
14115 _src.i = var37.x2[0];
14116 var39.x2[0] = _src.x2[1];
14117 var40.x2[0] = _src.x2[0];
14121 _src.i = var37.x2[1];
14122 var39.x2[1] = _src.x2[1];
14123 var40.x2[1] = _src.x2[0];
14129 var41.i = _src.x2[1];
14130 var42.i = _src.x2[0];
14133 var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
14134 var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
14138 _src.i = var40.x2[0];
14139 var44.x2[0] = _src.x2[1];
14143 _src.i = var40.x2[1];
14144 var44.x2[1] = _src.x2[1];
14147 var45.i = ORC_SWAP_W (var43.i);
14151 _dest.x2[0] = var44.x2[0];
14152 _dest.x2[1] = var45.x2[0];
14153 var38.x2[0] = _dest.i;
14157 _dest.x2[0] = var44.x2[1];
14158 _dest.x2[1] = var45.x2[1];
14159 var38.x2[1] = _dest.i;
14168 video_convert_orc_putline_YVYU (guint8 * ORC_RESTRICT d1,
14169 const guint8 * ORC_RESTRICT s1, int n)
14171 OrcExecutor _ex, *ex = &_ex;
14172 static volatile int p_inited = 0;
14173 static OrcCode *c = 0;
14174 void (*func) (OrcExecutor *);
14177 orc_once_mutex_lock ();
14182 static const orc_uint8 bc[] = {
14183 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
14184 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 89, 86, 89,
14185 85, 11, 4, 4, 12, 8, 8, 20, 2, 20, 2, 20, 2, 20, 4, 20,
14186 4, 21, 1, 198, 36, 35, 4, 198, 33, 34, 36, 21, 1, 39, 33, 33,
14187 34, 21, 1, 189, 32, 35, 183, 33, 33, 21, 1, 196, 0, 32, 33, 2,
14190 p = orc_program_new_from_static_bytecode (bc);
14191 orc_program_set_backup_function (p,
14192 _backup_video_convert_orc_putline_YVYU);
14194 p = orc_program_new ();
14195 orc_program_set_name (p, "video_convert_orc_putline_YVYU");
14196 orc_program_set_backup_function (p,
14197 _backup_video_convert_orc_putline_YVYU);
14198 orc_program_add_destination (p, 4, "d1");
14199 orc_program_add_source (p, 8, "s1");
14200 orc_program_add_temporary (p, 2, "t1");
14201 orc_program_add_temporary (p, 2, "t2");
14202 orc_program_add_temporary (p, 2, "t3");
14203 orc_program_add_temporary (p, 4, "t4");
14204 orc_program_add_temporary (p, 4, "t5");
14206 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
14208 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
14210 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
14212 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
14213 ORC_VAR_D1, ORC_VAR_D1);
14214 orc_program_append_2 (p, "swapw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_D1,
14216 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
14220 orc_program_compile (p);
14221 c = orc_program_take_code (p);
14222 orc_program_free (p);
14225 orc_once_mutex_unlock ();
14227 ex->arrays[ORC_VAR_A2] = c;
14231 ex->arrays[ORC_VAR_D1] = d1;
14232 ex->arrays[ORC_VAR_S1] = (void *) s1;
14240 /* video_convert_orc_putline_UYVY */
14243 video_convert_orc_putline_UYVY (guint8 * ORC_RESTRICT d1,
14244 const guint8 * ORC_RESTRICT s1, int n)
14247 orc_union32 *ORC_RESTRICT ptr0;
14248 const orc_union64 *ORC_RESTRICT ptr4;
14258 ptr0 = (orc_union32 *) d1;
14259 ptr4 = (orc_union64 *) s1;
14262 for (i = 0; i < n; i++) {
14268 _src.i = var37.x2[0];
14269 var39.x2[0] = _src.x2[1];
14270 var40.x2[0] = _src.x2[0];
14274 _src.i = var37.x2[1];
14275 var39.x2[1] = _src.x2[1];
14276 var40.x2[1] = _src.x2[0];
14282 var41.i = _src.x2[1];
14283 var42.i = _src.x2[0];
14286 var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
14287 var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
14291 _src.i = var40.x2[0];
14292 var44.x2[0] = _src.x2[1];
14296 _src.i = var40.x2[1];
14297 var44.x2[1] = _src.x2[1];
14302 _dest.x2[0] = var43.x2[0];
14303 _dest.x2[1] = var44.x2[0];
14304 var38.x2[0] = _dest.i;
14308 _dest.x2[0] = var43.x2[1];
14309 _dest.x2[1] = var44.x2[1];
14310 var38.x2[1] = _dest.i;
14320 _backup_video_convert_orc_putline_UYVY (OrcExecutor * ORC_RESTRICT ex)
14324 orc_union32 *ORC_RESTRICT ptr0;
14325 const orc_union64 *ORC_RESTRICT ptr4;
14335 ptr0 = (orc_union32 *) ex->arrays[0];
14336 ptr4 = (orc_union64 *) ex->arrays[4];
14339 for (i = 0; i < n; i++) {
14345 _src.i = var37.x2[0];
14346 var39.x2[0] = _src.x2[1];
14347 var40.x2[0] = _src.x2[0];
14351 _src.i = var37.x2[1];
14352 var39.x2[1] = _src.x2[1];
14353 var40.x2[1] = _src.x2[0];
14359 var41.i = _src.x2[1];
14360 var42.i = _src.x2[0];
14363 var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
14364 var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
14368 _src.i = var40.x2[0];
14369 var44.x2[0] = _src.x2[1];
14373 _src.i = var40.x2[1];
14374 var44.x2[1] = _src.x2[1];
14379 _dest.x2[0] = var43.x2[0];
14380 _dest.x2[1] = var44.x2[0];
14381 var38.x2[0] = _dest.i;
14385 _dest.x2[0] = var43.x2[1];
14386 _dest.x2[1] = var44.x2[1];
14387 var38.x2[1] = _dest.i;
14396 video_convert_orc_putline_UYVY (guint8 * ORC_RESTRICT d1,
14397 const guint8 * ORC_RESTRICT s1, int n)
14399 OrcExecutor _ex, *ex = &_ex;
14400 static volatile int p_inited = 0;
14401 static OrcCode *c = 0;
14402 void (*func) (OrcExecutor *);
14405 orc_once_mutex_lock ();
14410 static const orc_uint8 bc[] = {
14411 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
14412 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 85, 89, 86,
14413 89, 11, 4, 4, 12, 8, 8, 20, 2, 20, 2, 20, 2, 20, 4, 20,
14414 4, 21, 1, 198, 36, 35, 4, 198, 33, 34, 36, 21, 1, 39, 33, 33,
14415 34, 21, 1, 189, 32, 35, 21, 1, 196, 0, 33, 32, 2, 0,
14417 p = orc_program_new_from_static_bytecode (bc);
14418 orc_program_set_backup_function (p,
14419 _backup_video_convert_orc_putline_UYVY);
14421 p = orc_program_new ();
14422 orc_program_set_name (p, "video_convert_orc_putline_UYVY");
14423 orc_program_set_backup_function (p,
14424 _backup_video_convert_orc_putline_UYVY);
14425 orc_program_add_destination (p, 4, "d1");
14426 orc_program_add_source (p, 8, "s1");
14427 orc_program_add_temporary (p, 2, "t1");
14428 orc_program_add_temporary (p, 2, "t2");
14429 orc_program_add_temporary (p, 2, "t3");
14430 orc_program_add_temporary (p, 4, "t4");
14431 orc_program_add_temporary (p, 4, "t5");
14433 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
14435 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
14437 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
14439 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
14440 ORC_VAR_D1, ORC_VAR_D1);
14441 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
14445 orc_program_compile (p);
14446 c = orc_program_take_code (p);
14447 orc_program_free (p);
14450 orc_once_mutex_unlock ();
14452 ex->arrays[ORC_VAR_A2] = c;
14456 ex->arrays[ORC_VAR_D1] = d1;
14457 ex->arrays[ORC_VAR_S1] = (void *) s1;
14465 /* video_convert_orc_putline_Y42B */
14468 video_convert_orc_putline_Y42B (guint8 * ORC_RESTRICT d1,
14469 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
14470 const guint8 * ORC_RESTRICT s1, int n)
14473 orc_union16 *ORC_RESTRICT ptr0;
14474 orc_int8 *ORC_RESTRICT ptr1;
14475 orc_int8 *ORC_RESTRICT ptr2;
14476 const orc_union64 *ORC_RESTRICT ptr4;
14487 ptr0 = (orc_union16 *) d1;
14488 ptr1 = (orc_int8 *) d2;
14489 ptr2 = (orc_int8 *) d3;
14490 ptr4 = (orc_union64 *) s1;
14493 for (i = 0; i < n; i++) {
14499 _src.i = var36.x2[0];
14500 var40.x2[0] = _src.x2[1];
14501 var41.x2[0] = _src.x2[0];
14505 _src.i = var36.x2[1];
14506 var40.x2[1] = _src.x2[1];
14507 var41.x2[1] = _src.x2[0];
14513 var42.i = _src.x2[1];
14514 var43.i = _src.x2[0];
14517 var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
14518 var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
14523 var37 = _src.x2[1];
14524 var38 = _src.x2[0];
14533 _src.i = var41.x2[0];
14534 var39.x2[0] = _src.x2[1];
14538 _src.i = var41.x2[1];
14539 var39.x2[1] = _src.x2[1];
14549 _backup_video_convert_orc_putline_Y42B (OrcExecutor * ORC_RESTRICT ex)
14553 orc_union16 *ORC_RESTRICT ptr0;
14554 orc_int8 *ORC_RESTRICT ptr1;
14555 orc_int8 *ORC_RESTRICT ptr2;
14556 const orc_union64 *ORC_RESTRICT ptr4;
14567 ptr0 = (orc_union16 *) ex->arrays[0];
14568 ptr1 = (orc_int8 *) ex->arrays[1];
14569 ptr2 = (orc_int8 *) ex->arrays[2];
14570 ptr4 = (orc_union64 *) ex->arrays[4];
14573 for (i = 0; i < n; i++) {
14579 _src.i = var36.x2[0];
14580 var40.x2[0] = _src.x2[1];
14581 var41.x2[0] = _src.x2[0];
14585 _src.i = var36.x2[1];
14586 var40.x2[1] = _src.x2[1];
14587 var41.x2[1] = _src.x2[0];
14593 var42.i = _src.x2[1];
14594 var43.i = _src.x2[0];
14597 var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
14598 var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
14603 var37 = _src.x2[1];
14604 var38 = _src.x2[0];
14613 _src.i = var41.x2[0];
14614 var39.x2[0] = _src.x2[1];
14618 _src.i = var41.x2[1];
14619 var39.x2[1] = _src.x2[1];
14628 video_convert_orc_putline_Y42B (guint8 * ORC_RESTRICT d1,
14629 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
14630 const guint8 * ORC_RESTRICT s1, int n)
14632 OrcExecutor _ex, *ex = &_ex;
14633 static volatile int p_inited = 0;
14634 static OrcCode *c = 0;
14635 void (*func) (OrcExecutor *);
14638 orc_once_mutex_lock ();
14643 static const orc_uint8 bc[] = {
14644 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
14645 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 89, 52, 50,
14646 66, 11, 2, 2, 11, 1, 1, 11, 1, 1, 12, 8, 8, 20, 4, 20,
14647 4, 20, 2, 20, 2, 21, 1, 198, 33, 32, 4, 198, 34, 35, 33, 21,
14648 1, 39, 34, 34, 35, 199, 2, 1, 34, 21, 1, 189, 0, 32, 2, 0,
14651 p = orc_program_new_from_static_bytecode (bc);
14652 orc_program_set_backup_function (p,
14653 _backup_video_convert_orc_putline_Y42B);
14655 p = orc_program_new ();
14656 orc_program_set_name (p, "video_convert_orc_putline_Y42B");
14657 orc_program_set_backup_function (p,
14658 _backup_video_convert_orc_putline_Y42B);
14659 orc_program_add_destination (p, 2, "d1");
14660 orc_program_add_destination (p, 1, "d2");
14661 orc_program_add_destination (p, 1, "d3");
14662 orc_program_add_source (p, 8, "s1");
14663 orc_program_add_temporary (p, 4, "t1");
14664 orc_program_add_temporary (p, 4, "t2");
14665 orc_program_add_temporary (p, 2, "t3");
14666 orc_program_add_temporary (p, 2, "t4");
14668 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
14670 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
14672 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
14674 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T3,
14676 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
14677 ORC_VAR_D1, ORC_VAR_D1);
14680 orc_program_compile (p);
14681 c = orc_program_take_code (p);
14682 orc_program_free (p);
14685 orc_once_mutex_unlock ();
14687 ex->arrays[ORC_VAR_A2] = c;
14691 ex->arrays[ORC_VAR_D1] = d1;
14692 ex->arrays[ORC_VAR_D2] = d2;
14693 ex->arrays[ORC_VAR_D3] = d3;
14694 ex->arrays[ORC_VAR_S1] = (void *) s1;
14702 /* video_convert_orc_putline_Y444 */
14705 video_convert_orc_putline_Y444 (guint8 * ORC_RESTRICT d1,
14706 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
14707 const guint8 * ORC_RESTRICT s1, int n)
14710 orc_int8 *ORC_RESTRICT ptr0;
14711 orc_int8 *ORC_RESTRICT ptr1;
14712 orc_int8 *ORC_RESTRICT ptr2;
14713 const orc_union32 *ORC_RESTRICT ptr4;
14721 ptr0 = (orc_int8 *) d1;
14722 ptr1 = (orc_int8 *) d2;
14723 ptr2 = (orc_int8 *) d3;
14724 ptr4 = (orc_union32 *) s1;
14727 for (i = 0; i < n; i++) {
14734 var38.i = _src.x2[1];
14735 var39.i = _src.x2[0];
14741 var35 = _src.x2[1];
14742 var36 = _src.x2[0];
14752 var37 = _src.x2[1];
14762 _backup_video_convert_orc_putline_Y444 (OrcExecutor * ORC_RESTRICT ex)
14766 orc_int8 *ORC_RESTRICT ptr0;
14767 orc_int8 *ORC_RESTRICT ptr1;
14768 orc_int8 *ORC_RESTRICT ptr2;
14769 const orc_union32 *ORC_RESTRICT ptr4;
14777 ptr0 = (orc_int8 *) ex->arrays[0];
14778 ptr1 = (orc_int8 *) ex->arrays[1];
14779 ptr2 = (orc_int8 *) ex->arrays[2];
14780 ptr4 = (orc_union32 *) ex->arrays[4];
14783 for (i = 0; i < n; i++) {
14790 var38.i = _src.x2[1];
14791 var39.i = _src.x2[0];
14797 var35 = _src.x2[1];
14798 var36 = _src.x2[0];
14808 var37 = _src.x2[1];
14817 video_convert_orc_putline_Y444 (guint8 * ORC_RESTRICT d1,
14818 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
14819 const guint8 * ORC_RESTRICT s1, int n)
14821 OrcExecutor _ex, *ex = &_ex;
14822 static volatile int p_inited = 0;
14823 static OrcCode *c = 0;
14824 void (*func) (OrcExecutor *);
14827 orc_once_mutex_lock ();
14832 static const orc_uint8 bc[] = {
14833 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
14834 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 89, 52, 52,
14835 52, 11, 1, 1, 11, 1, 1, 11, 1, 1, 12, 4, 4, 20, 2, 20,
14836 2, 198, 33, 32, 4, 199, 2, 1, 33, 189, 0, 32, 2, 0,
14838 p = orc_program_new_from_static_bytecode (bc);
14839 orc_program_set_backup_function (p,
14840 _backup_video_convert_orc_putline_Y444);
14842 p = orc_program_new ();
14843 orc_program_set_name (p, "video_convert_orc_putline_Y444");
14844 orc_program_set_backup_function (p,
14845 _backup_video_convert_orc_putline_Y444);
14846 orc_program_add_destination (p, 1, "d1");
14847 orc_program_add_destination (p, 1, "d2");
14848 orc_program_add_destination (p, 1, "d3");
14849 orc_program_add_source (p, 4, "s1");
14850 orc_program_add_temporary (p, 2, "t1");
14851 orc_program_add_temporary (p, 2, "t2");
14853 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
14855 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T2,
14857 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
14858 ORC_VAR_D1, ORC_VAR_D1);
14861 orc_program_compile (p);
14862 c = orc_program_take_code (p);
14863 orc_program_free (p);
14866 orc_once_mutex_unlock ();
14868 ex->arrays[ORC_VAR_A2] = c;
14872 ex->arrays[ORC_VAR_D1] = d1;
14873 ex->arrays[ORC_VAR_D2] = d2;
14874 ex->arrays[ORC_VAR_D3] = d3;
14875 ex->arrays[ORC_VAR_S1] = (void *) s1;
14883 /* video_convert_orc_putline_Y800 */
14886 video_convert_orc_putline_Y800 (guint8 * ORC_RESTRICT d1,
14887 const guint8 * ORC_RESTRICT s1, int n)
14890 orc_int8 *ORC_RESTRICT ptr0;
14891 const orc_union32 *ORC_RESTRICT ptr4;
14896 ptr0 = (orc_int8 *) d1;
14897 ptr4 = (orc_union32 *) s1;
14900 for (i = 0; i < n; i++) {
14907 var35.i = _src.x2[0];
14913 var34 = _src.x2[1];
14923 _backup_video_convert_orc_putline_Y800 (OrcExecutor * ORC_RESTRICT ex)
14927 orc_int8 *ORC_RESTRICT ptr0;
14928 const orc_union32 *ORC_RESTRICT ptr4;
14933 ptr0 = (orc_int8 *) ex->arrays[0];
14934 ptr4 = (orc_union32 *) ex->arrays[4];
14937 for (i = 0; i < n; i++) {
14944 var35.i = _src.x2[0];
14950 var34 = _src.x2[1];
14959 video_convert_orc_putline_Y800 (guint8 * ORC_RESTRICT d1,
14960 const guint8 * ORC_RESTRICT s1, int n)
14962 OrcExecutor _ex, *ex = &_ex;
14963 static volatile int p_inited = 0;
14964 static OrcCode *c = 0;
14965 void (*func) (OrcExecutor *);
14968 orc_once_mutex_lock ();
14973 static const orc_uint8 bc[] = {
14974 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
14975 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 89, 56, 48,
14976 48, 11, 1, 1, 12, 4, 4, 20, 2, 190, 32, 4, 189, 0, 32, 2,
14979 p = orc_program_new_from_static_bytecode (bc);
14980 orc_program_set_backup_function (p,
14981 _backup_video_convert_orc_putline_Y800);
14983 p = orc_program_new ();
14984 orc_program_set_name (p, "video_convert_orc_putline_Y800");
14985 orc_program_set_backup_function (p,
14986 _backup_video_convert_orc_putline_Y800);
14987 orc_program_add_destination (p, 1, "d1");
14988 orc_program_add_source (p, 4, "s1");
14989 orc_program_add_temporary (p, 2, "t1");
14991 orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
14992 ORC_VAR_D1, ORC_VAR_D1);
14993 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
14994 ORC_VAR_D1, ORC_VAR_D1);
14997 orc_program_compile (p);
14998 c = orc_program_take_code (p);
14999 orc_program_free (p);
15002 orc_once_mutex_unlock ();
15004 ex->arrays[ORC_VAR_A2] = c;
15008 ex->arrays[ORC_VAR_D1] = d1;
15009 ex->arrays[ORC_VAR_S1] = (void *) s1;
15017 /* video_convert_orc_putline_Y16 */
15020 video_convert_orc_putline_Y16 (guint8 * ORC_RESTRICT d1,
15021 const guint8 * ORC_RESTRICT s1, int n)
15024 orc_union16 *ORC_RESTRICT ptr0;
15025 const orc_union32 *ORC_RESTRICT ptr4;
15032 ptr0 = (orc_union16 *) d1;
15033 ptr4 = (orc_union32 *) s1;
15036 for (i = 0; i < n; i++) {
15043 var36.i = _src.x2[0];
15049 var37 = _src.x2[1];
15052 var38.i = (orc_uint8) var37;
15054 var35.i = var38.i << 8;
15063 _backup_video_convert_orc_putline_Y16 (OrcExecutor * ORC_RESTRICT ex)
15067 orc_union16 *ORC_RESTRICT ptr0;
15068 const orc_union32 *ORC_RESTRICT ptr4;
15075 ptr0 = (orc_union16 *) ex->arrays[0];
15076 ptr4 = (orc_union32 *) ex->arrays[4];
15079 for (i = 0; i < n; i++) {
15086 var36.i = _src.x2[0];
15092 var37 = _src.x2[1];
15095 var38.i = (orc_uint8) var37;
15097 var35.i = var38.i << 8;
15105 video_convert_orc_putline_Y16 (guint8 * ORC_RESTRICT d1,
15106 const guint8 * ORC_RESTRICT s1, int n)
15108 OrcExecutor _ex, *ex = &_ex;
15109 static volatile int p_inited = 0;
15110 static OrcCode *c = 0;
15111 void (*func) (OrcExecutor *);
15114 orc_once_mutex_lock ();
15119 static const orc_uint8 bc[] = {
15120 1, 9, 29, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
15121 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 89, 49, 54,
15122 11, 2, 2, 12, 4, 4, 14, 4, 8, 0, 0, 0, 20, 2, 20, 1,
15123 190, 32, 4, 189, 33, 32, 150, 32, 33, 93, 0, 32, 16, 2, 0,
15125 p = orc_program_new_from_static_bytecode (bc);
15126 orc_program_set_backup_function (p,
15127 _backup_video_convert_orc_putline_Y16);
15129 p = orc_program_new ();
15130 orc_program_set_name (p, "video_convert_orc_putline_Y16");
15131 orc_program_set_backup_function (p,
15132 _backup_video_convert_orc_putline_Y16);
15133 orc_program_add_destination (p, 2, "d1");
15134 orc_program_add_source (p, 4, "s1");
15135 orc_program_add_constant (p, 4, 0x00000008, "c1");
15136 orc_program_add_temporary (p, 2, "t1");
15137 orc_program_add_temporary (p, 1, "t2");
15139 orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
15140 ORC_VAR_D1, ORC_VAR_D1);
15141 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T2, ORC_VAR_T1,
15142 ORC_VAR_D1, ORC_VAR_D1);
15143 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_D1,
15145 orc_program_append_2 (p, "shlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
15149 orc_program_compile (p);
15150 c = orc_program_take_code (p);
15151 orc_program_free (p);
15154 orc_once_mutex_unlock ();
15156 ex->arrays[ORC_VAR_A2] = c;
15160 ex->arrays[ORC_VAR_D1] = d1;
15161 ex->arrays[ORC_VAR_S1] = (void *) s1;
15169 /* video_convert_orc_putline_BGRA */
15172 video_convert_orc_putline_BGRA (guint8 * ORC_RESTRICT d1,
15173 const guint8 * ORC_RESTRICT s1, int n)
15176 orc_union32 *ORC_RESTRICT ptr0;
15177 const orc_union32 *ORC_RESTRICT ptr4;
15181 ptr0 = (orc_union32 *) d1;
15182 ptr4 = (orc_union32 *) s1;
15185 for (i = 0; i < n; i++) {
15189 var33.i = ORC_SWAP_L (var32.i);
15198 _backup_video_convert_orc_putline_BGRA (OrcExecutor * ORC_RESTRICT ex)
15202 orc_union32 *ORC_RESTRICT ptr0;
15203 const orc_union32 *ORC_RESTRICT ptr4;
15207 ptr0 = (orc_union32 *) ex->arrays[0];
15208 ptr4 = (orc_union32 *) ex->arrays[4];
15211 for (i = 0; i < n; i++) {
15215 var33.i = ORC_SWAP_L (var32.i);
15223 video_convert_orc_putline_BGRA (guint8 * ORC_RESTRICT d1,
15224 const guint8 * ORC_RESTRICT s1, int n)
15226 OrcExecutor _ex, *ex = &_ex;
15227 static volatile int p_inited = 0;
15228 static OrcCode *c = 0;
15229 void (*func) (OrcExecutor *);
15232 orc_once_mutex_lock ();
15237 static const orc_uint8 bc[] = {
15238 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
15239 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 66, 71, 82,
15240 65, 11, 4, 4, 12, 4, 4, 184, 0, 4, 2, 0,
15242 p = orc_program_new_from_static_bytecode (bc);
15243 orc_program_set_backup_function (p,
15244 _backup_video_convert_orc_putline_BGRA);
15246 p = orc_program_new ();
15247 orc_program_set_name (p, "video_convert_orc_putline_BGRA");
15248 orc_program_set_backup_function (p,
15249 _backup_video_convert_orc_putline_BGRA);
15250 orc_program_add_destination (p, 4, "d1");
15251 orc_program_add_source (p, 4, "s1");
15253 orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
15257 orc_program_compile (p);
15258 c = orc_program_take_code (p);
15259 orc_program_free (p);
15262 orc_once_mutex_unlock ();
15264 ex->arrays[ORC_VAR_A2] = c;
15268 ex->arrays[ORC_VAR_D1] = d1;
15269 ex->arrays[ORC_VAR_S1] = (void *) s1;
15277 /* video_convert_orc_putline_ABGR */
15280 video_convert_orc_putline_ABGR (guint8 * ORC_RESTRICT d1,
15281 const guint8 * ORC_RESTRICT s1, int n)
15284 orc_union32 *ORC_RESTRICT ptr0;
15285 const orc_union32 *ORC_RESTRICT ptr4;
15297 ptr0 = (orc_union32 *) d1;
15298 ptr4 = (orc_union32 *) s1;
15301 for (i = 0; i < n; i++) {
15308 var42.i = _src.x2[1];
15309 var43.i = _src.x2[0];
15315 var44 = _src.x2[1];
15316 var45 = _src.x2[0];
15322 var46 = _src.x2[1];
15323 var47 = _src.x2[0];
15328 _dest.x2[0] = var47;
15329 _dest.x2[1] = var44;
15335 _dest.x2[0] = var45;
15336 _dest.x2[1] = var46;
15342 _dest.x2[0] = var48.i;
15343 _dest.x2[1] = var49.i;
15354 _backup_video_convert_orc_putline_ABGR (OrcExecutor * ORC_RESTRICT ex)
15358 orc_union32 *ORC_RESTRICT ptr0;
15359 const orc_union32 *ORC_RESTRICT ptr4;
15371 ptr0 = (orc_union32 *) ex->arrays[0];
15372 ptr4 = (orc_union32 *) ex->arrays[4];
15375 for (i = 0; i < n; i++) {
15382 var42.i = _src.x2[1];
15383 var43.i = _src.x2[0];
15389 var44 = _src.x2[1];
15390 var45 = _src.x2[0];
15396 var46 = _src.x2[1];
15397 var47 = _src.x2[0];
15402 _dest.x2[0] = var47;
15403 _dest.x2[1] = var44;
15409 _dest.x2[0] = var45;
15410 _dest.x2[1] = var46;
15416 _dest.x2[0] = var48.i;
15417 _dest.x2[1] = var49.i;
15427 video_convert_orc_putline_ABGR (guint8 * ORC_RESTRICT d1,
15428 const guint8 * ORC_RESTRICT s1, int n)
15430 OrcExecutor _ex, *ex = &_ex;
15431 static volatile int p_inited = 0;
15432 static OrcCode *c = 0;
15433 void (*func) (OrcExecutor *);
15436 orc_once_mutex_lock ();
15441 static const orc_uint8 bc[] = {
15442 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
15443 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 65, 66, 71,
15444 82, 11, 4, 4, 12, 4, 4, 20, 1, 20, 1, 20, 1, 20, 1, 20,
15445 2, 20, 2, 20, 2, 20, 2, 198, 39, 38, 4, 199, 35, 34, 39, 199,
15446 33, 32, 38, 196, 37, 32, 35, 196, 36, 34, 33, 195, 0, 37, 36, 2,
15449 p = orc_program_new_from_static_bytecode (bc);
15450 orc_program_set_backup_function (p,
15451 _backup_video_convert_orc_putline_ABGR);
15453 p = orc_program_new ();
15454 orc_program_set_name (p, "video_convert_orc_putline_ABGR");
15455 orc_program_set_backup_function (p,
15456 _backup_video_convert_orc_putline_ABGR);
15457 orc_program_add_destination (p, 4, "d1");
15458 orc_program_add_source (p, 4, "s1");
15459 orc_program_add_temporary (p, 1, "t1");
15460 orc_program_add_temporary (p, 1, "t2");
15461 orc_program_add_temporary (p, 1, "t3");
15462 orc_program_add_temporary (p, 1, "t4");
15463 orc_program_add_temporary (p, 2, "t5");
15464 orc_program_add_temporary (p, 2, "t6");
15465 orc_program_add_temporary (p, 2, "t7");
15466 orc_program_add_temporary (p, 2, "t8");
15468 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_S1,
15470 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T8,
15472 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T7,
15474 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T6, ORC_VAR_T1, ORC_VAR_T4,
15476 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_T2,
15478 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T6, ORC_VAR_T5,
15482 orc_program_compile (p);
15483 c = orc_program_take_code (p);
15484 orc_program_free (p);
15487 orc_once_mutex_unlock ();
15489 ex->arrays[ORC_VAR_A2] = c;
15493 ex->arrays[ORC_VAR_D1] = d1;
15494 ex->arrays[ORC_VAR_S1] = (void *) s1;
15502 /* video_convert_orc_putline_RGBA */
15505 video_convert_orc_putline_RGBA (guint8 * ORC_RESTRICT d1,
15506 const guint8 * ORC_RESTRICT s1, int n)
15509 orc_union32 *ORC_RESTRICT ptr0;
15510 const orc_union32 *ORC_RESTRICT ptr4;
15522 ptr0 = (orc_union32 *) d1;
15523 ptr4 = (orc_union32 *) s1;
15526 for (i = 0; i < n; i++) {
15533 var42.i = _src.x2[1];
15534 var43.i = _src.x2[0];
15540 var44 = _src.x2[1];
15541 var45 = _src.x2[0];
15547 var46 = _src.x2[1];
15548 var47 = _src.x2[0];
15553 _dest.x2[0] = var44;
15554 _dest.x2[1] = var47;
15560 _dest.x2[0] = var46;
15561 _dest.x2[1] = var45;
15567 _dest.x2[0] = var49.i;
15568 _dest.x2[1] = var48.i;
15579 _backup_video_convert_orc_putline_RGBA (OrcExecutor * ORC_RESTRICT ex)
15583 orc_union32 *ORC_RESTRICT ptr0;
15584 const orc_union32 *ORC_RESTRICT ptr4;
15596 ptr0 = (orc_union32 *) ex->arrays[0];
15597 ptr4 = (orc_union32 *) ex->arrays[4];
15600 for (i = 0; i < n; i++) {
15607 var42.i = _src.x2[1];
15608 var43.i = _src.x2[0];
15614 var44 = _src.x2[1];
15615 var45 = _src.x2[0];
15621 var46 = _src.x2[1];
15622 var47 = _src.x2[0];
15627 _dest.x2[0] = var44;
15628 _dest.x2[1] = var47;
15634 _dest.x2[0] = var46;
15635 _dest.x2[1] = var45;
15641 _dest.x2[0] = var49.i;
15642 _dest.x2[1] = var48.i;
15652 video_convert_orc_putline_RGBA (guint8 * ORC_RESTRICT d1,
15653 const guint8 * ORC_RESTRICT s1, int n)
15655 OrcExecutor _ex, *ex = &_ex;
15656 static volatile int p_inited = 0;
15657 static OrcCode *c = 0;
15658 void (*func) (OrcExecutor *);
15661 orc_once_mutex_lock ();
15666 static const orc_uint8 bc[] = {
15667 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
15668 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 82, 71, 66,
15669 65, 11, 4, 4, 12, 4, 4, 20, 1, 20, 1, 20, 1, 20, 1, 20,
15670 2, 20, 2, 20, 2, 20, 2, 198, 39, 38, 4, 199, 35, 34, 39, 199,
15671 33, 32, 38, 196, 37, 35, 32, 196, 36, 33, 34, 195, 0, 36, 37, 2,
15674 p = orc_program_new_from_static_bytecode (bc);
15675 orc_program_set_backup_function (p,
15676 _backup_video_convert_orc_putline_RGBA);
15678 p = orc_program_new ();
15679 orc_program_set_name (p, "video_convert_orc_putline_RGBA");
15680 orc_program_set_backup_function (p,
15681 _backup_video_convert_orc_putline_RGBA);
15682 orc_program_add_destination (p, 4, "d1");
15683 orc_program_add_source (p, 4, "s1");
15684 orc_program_add_temporary (p, 1, "t1");
15685 orc_program_add_temporary (p, 1, "t2");
15686 orc_program_add_temporary (p, 1, "t3");
15687 orc_program_add_temporary (p, 1, "t4");
15688 orc_program_add_temporary (p, 2, "t5");
15689 orc_program_add_temporary (p, 2, "t6");
15690 orc_program_add_temporary (p, 2, "t7");
15691 orc_program_add_temporary (p, 2, "t8");
15693 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_S1,
15695 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T8,
15697 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T7,
15699 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T6, ORC_VAR_T4, ORC_VAR_T1,
15701 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_T3,
15703 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T5, ORC_VAR_T6,
15707 orc_program_compile (p);
15708 c = orc_program_take_code (p);
15709 orc_program_free (p);
15712 orc_once_mutex_unlock ();
15714 ex->arrays[ORC_VAR_A2] = c;
15718 ex->arrays[ORC_VAR_D1] = d1;
15719 ex->arrays[ORC_VAR_S1] = (void *) s1;
15727 /* video_convert_orc_putline_NV12 */
15730 video_convert_orc_putline_NV12 (guint8 * ORC_RESTRICT d1,
15731 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n)
15734 orc_union16 *ORC_RESTRICT ptr0;
15735 orc_union16 *ORC_RESTRICT ptr1;
15736 const orc_union64 *ORC_RESTRICT ptr4;
15745 ptr0 = (orc_union16 *) d1;
15746 ptr1 = (orc_union16 *) d2;
15747 ptr4 = (orc_union64 *) s1;
15750 for (i = 0; i < n; i++) {
15756 _src.i = var36.x2[0];
15757 var39.x2[0] = _src.x2[1];
15758 var40.x2[0] = _src.x2[0];
15762 _src.i = var36.x2[1];
15763 var39.x2[1] = _src.x2[1];
15764 var40.x2[1] = _src.x2[0];
15769 _src.i = var40.x2[0];
15770 var37.x2[0] = _src.x2[1];
15774 _src.i = var40.x2[1];
15775 var37.x2[1] = _src.x2[1];
15783 var41.i = _src.x2[1];
15784 var42.i = _src.x2[0];
15787 var38.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
15788 var38.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
15797 _backup_video_convert_orc_putline_NV12 (OrcExecutor * ORC_RESTRICT ex)
15801 orc_union16 *ORC_RESTRICT ptr0;
15802 orc_union16 *ORC_RESTRICT ptr1;
15803 const orc_union64 *ORC_RESTRICT ptr4;
15812 ptr0 = (orc_union16 *) ex->arrays[0];
15813 ptr1 = (orc_union16 *) ex->arrays[1];
15814 ptr4 = (orc_union64 *) ex->arrays[4];
15817 for (i = 0; i < n; i++) {
15823 _src.i = var36.x2[0];
15824 var39.x2[0] = _src.x2[1];
15825 var40.x2[0] = _src.x2[0];
15829 _src.i = var36.x2[1];
15830 var39.x2[1] = _src.x2[1];
15831 var40.x2[1] = _src.x2[0];
15836 _src.i = var40.x2[0];
15837 var37.x2[0] = _src.x2[1];
15841 _src.i = var40.x2[1];
15842 var37.x2[1] = _src.x2[1];
15850 var41.i = _src.x2[1];
15851 var42.i = _src.x2[0];
15854 var38.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
15855 var38.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
15863 video_convert_orc_putline_NV12 (guint8 * ORC_RESTRICT d1,
15864 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n)
15866 OrcExecutor _ex, *ex = &_ex;
15867 static volatile int p_inited = 0;
15868 static OrcCode *c = 0;
15869 void (*func) (OrcExecutor *);
15872 orc_once_mutex_lock ();
15877 static const orc_uint8 bc[] = {
15878 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
15879 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 78, 86, 49,
15880 50, 11, 2, 2, 11, 2, 2, 12, 8, 8, 20, 4, 20, 4, 20, 2,
15881 20, 2, 21, 1, 198, 33, 32, 4, 21, 1, 189, 0, 32, 198, 34, 35,
15882 33, 21, 1, 39, 1, 34, 35, 2, 0,
15884 p = orc_program_new_from_static_bytecode (bc);
15885 orc_program_set_backup_function (p,
15886 _backup_video_convert_orc_putline_NV12);
15888 p = orc_program_new ();
15889 orc_program_set_name (p, "video_convert_orc_putline_NV12");
15890 orc_program_set_backup_function (p,
15891 _backup_video_convert_orc_putline_NV12);
15892 orc_program_add_destination (p, 2, "d1");
15893 orc_program_add_destination (p, 2, "d2");
15894 orc_program_add_source (p, 8, "s1");
15895 orc_program_add_temporary (p, 4, "t1");
15896 orc_program_add_temporary (p, 4, "t2");
15897 orc_program_add_temporary (p, 2, "t3");
15898 orc_program_add_temporary (p, 2, "t4");
15900 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
15902 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
15903 ORC_VAR_D1, ORC_VAR_D1);
15904 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
15906 orc_program_append_2 (p, "avgub", 1, ORC_VAR_D2, ORC_VAR_T3, ORC_VAR_T4,
15910 orc_program_compile (p);
15911 c = orc_program_take_code (p);
15912 orc_program_free (p);
15915 orc_once_mutex_unlock ();
15917 ex->arrays[ORC_VAR_A2] = c;
15921 ex->arrays[ORC_VAR_D1] = d1;
15922 ex->arrays[ORC_VAR_D2] = d2;
15923 ex->arrays[ORC_VAR_S1] = (void *) s1;
15931 /* video_convert_orc_putline_NV21 */
15934 video_convert_orc_putline_NV21 (guint8 * ORC_RESTRICT d1,
15935 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n)
15938 orc_union16 *ORC_RESTRICT ptr0;
15939 orc_union16 *ORC_RESTRICT ptr1;
15940 const orc_union64 *ORC_RESTRICT ptr4;
15950 ptr0 = (orc_union16 *) d1;
15951 ptr1 = (orc_union16 *) d2;
15952 ptr4 = (orc_union64 *) s1;
15955 for (i = 0; i < n; i++) {
15961 _src.i = var37.x2[0];
15962 var40.x2[0] = _src.x2[1];
15963 var41.x2[0] = _src.x2[0];
15967 _src.i = var37.x2[1];
15968 var40.x2[1] = _src.x2[1];
15969 var41.x2[1] = _src.x2[0];
15974 _src.i = var41.x2[0];
15975 var38.x2[0] = _src.x2[1];
15979 _src.i = var41.x2[1];
15980 var38.x2[1] = _src.x2[1];
15988 var42.i = _src.x2[1];
15989 var43.i = _src.x2[0];
15992 var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
15993 var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
15995 var39.i = ORC_SWAP_W (var44.i);
16004 _backup_video_convert_orc_putline_NV21 (OrcExecutor * ORC_RESTRICT ex)
16008 orc_union16 *ORC_RESTRICT ptr0;
16009 orc_union16 *ORC_RESTRICT ptr1;
16010 const orc_union64 *ORC_RESTRICT ptr4;
16020 ptr0 = (orc_union16 *) ex->arrays[0];
16021 ptr1 = (orc_union16 *) ex->arrays[1];
16022 ptr4 = (orc_union64 *) ex->arrays[4];
16025 for (i = 0; i < n; i++) {
16031 _src.i = var37.x2[0];
16032 var40.x2[0] = _src.x2[1];
16033 var41.x2[0] = _src.x2[0];
16037 _src.i = var37.x2[1];
16038 var40.x2[1] = _src.x2[1];
16039 var41.x2[1] = _src.x2[0];
16044 _src.i = var41.x2[0];
16045 var38.x2[0] = _src.x2[1];
16049 _src.i = var41.x2[1];
16050 var38.x2[1] = _src.x2[1];
16058 var42.i = _src.x2[1];
16059 var43.i = _src.x2[0];
16062 var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
16063 var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
16065 var39.i = ORC_SWAP_W (var44.i);
16073 video_convert_orc_putline_NV21 (guint8 * ORC_RESTRICT d1,
16074 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n)
16076 OrcExecutor _ex, *ex = &_ex;
16077 static volatile int p_inited = 0;
16078 static OrcCode *c = 0;
16079 void (*func) (OrcExecutor *);
16082 orc_once_mutex_lock ();
16087 static const orc_uint8 bc[] = {
16088 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
16089 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 78, 86, 50,
16090 49, 11, 2, 2, 11, 2, 2, 12, 8, 8, 20, 4, 20, 4, 20, 2,
16091 20, 2, 20, 2, 21, 1, 198, 33, 32, 4, 21, 1, 189, 0, 32, 198,
16092 34, 35, 33, 21, 1, 39, 36, 34, 35, 183, 1, 36, 2, 0,
16094 p = orc_program_new_from_static_bytecode (bc);
16095 orc_program_set_backup_function (p,
16096 _backup_video_convert_orc_putline_NV21);
16098 p = orc_program_new ();
16099 orc_program_set_name (p, "video_convert_orc_putline_NV21");
16100 orc_program_set_backup_function (p,
16101 _backup_video_convert_orc_putline_NV21);
16102 orc_program_add_destination (p, 2, "d1");
16103 orc_program_add_destination (p, 2, "d2");
16104 orc_program_add_source (p, 8, "s1");
16105 orc_program_add_temporary (p, 4, "t1");
16106 orc_program_add_temporary (p, 4, "t2");
16107 orc_program_add_temporary (p, 2, "t3");
16108 orc_program_add_temporary (p, 2, "t4");
16109 orc_program_add_temporary (p, 2, "t5");
16111 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
16113 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
16114 ORC_VAR_D1, ORC_VAR_D1);
16115 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
16117 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_T4,
16119 orc_program_append_2 (p, "swapw", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_D1,
16123 orc_program_compile (p);
16124 c = orc_program_take_code (p);
16125 orc_program_free (p);
16128 orc_once_mutex_unlock ();
16130 ex->arrays[ORC_VAR_A2] = c;
16134 ex->arrays[ORC_VAR_D1] = d1;
16135 ex->arrays[ORC_VAR_D2] = d2;
16136 ex->arrays[ORC_VAR_S1] = (void *) s1;
16144 /* video_convert_orc_putline_A420 */
16147 video_convert_orc_putline_A420 (guint8 * ORC_RESTRICT d1,
16148 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
16149 guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1, int n)
16152 orc_union16 *ORC_RESTRICT ptr0;
16153 orc_int8 *ORC_RESTRICT ptr1;
16154 orc_int8 *ORC_RESTRICT ptr2;
16155 orc_union16 *ORC_RESTRICT ptr3;
16156 const orc_union64 *ORC_RESTRICT ptr4;
16171 ptr0 = (orc_union16 *) d1;
16172 ptr1 = (orc_int8 *) d2;
16173 ptr2 = (orc_int8 *) d3;
16174 ptr3 = (orc_union16 *) d4;
16175 ptr4 = (orc_union64 *) s1;
16178 for (i = 0; i < n; i++) {
16184 _src.i = var38.x2[0];
16185 var43.x2[0] = _src.x2[1];
16186 var44.x2[0] = _src.x2[0];
16190 _src.i = var38.x2[1];
16191 var43.x2[1] = _src.x2[1];
16192 var44.x2[1] = _src.x2[0];
16197 _src.i = var44.x2[0];
16198 var39.x2[0] = _src.x2[1];
16202 _src.i = var44.x2[1];
16203 var39.x2[1] = _src.x2[1];
16210 _src.i = var44.x2[0];
16211 var40.x2[0] = _src.x2[0];
16215 _src.i = var44.x2[1];
16216 var40.x2[1] = _src.x2[0];
16223 _src.i = var43.x2[0];
16224 var45.x2[0] = _src.x2[1];
16225 var46.x2[0] = _src.x2[0];
16229 _src.i = var43.x2[1];
16230 var45.x2[1] = _src.x2[1];
16231 var46.x2[1] = _src.x2[0];
16237 var47 = _src.x2[1];
16238 var48 = _src.x2[0];
16241 var41 = ((orc_uint8) var47 + (orc_uint8) var48 + 1) >> 1;
16248 var49 = _src.x2[1];
16249 var50 = _src.x2[0];
16252 var42 = ((orc_uint8) var49 + (orc_uint8) var50 + 1) >> 1;
16261 _backup_video_convert_orc_putline_A420 (OrcExecutor * ORC_RESTRICT ex)
16265 orc_union16 *ORC_RESTRICT ptr0;
16266 orc_int8 *ORC_RESTRICT ptr1;
16267 orc_int8 *ORC_RESTRICT ptr2;
16268 orc_union16 *ORC_RESTRICT ptr3;
16269 const orc_union64 *ORC_RESTRICT ptr4;
16284 ptr0 = (orc_union16 *) ex->arrays[0];
16285 ptr1 = (orc_int8 *) ex->arrays[1];
16286 ptr2 = (orc_int8 *) ex->arrays[2];
16287 ptr3 = (orc_union16 *) ex->arrays[3];
16288 ptr4 = (orc_union64 *) ex->arrays[4];
16291 for (i = 0; i < n; i++) {
16297 _src.i = var38.x2[0];
16298 var43.x2[0] = _src.x2[1];
16299 var44.x2[0] = _src.x2[0];
16303 _src.i = var38.x2[1];
16304 var43.x2[1] = _src.x2[1];
16305 var44.x2[1] = _src.x2[0];
16310 _src.i = var44.x2[0];
16311 var39.x2[0] = _src.x2[1];
16315 _src.i = var44.x2[1];
16316 var39.x2[1] = _src.x2[1];
16323 _src.i = var44.x2[0];
16324 var40.x2[0] = _src.x2[0];
16328 _src.i = var44.x2[1];
16329 var40.x2[1] = _src.x2[0];
16336 _src.i = var43.x2[0];
16337 var45.x2[0] = _src.x2[1];
16338 var46.x2[0] = _src.x2[0];
16342 _src.i = var43.x2[1];
16343 var45.x2[1] = _src.x2[1];
16344 var46.x2[1] = _src.x2[0];
16350 var47 = _src.x2[1];
16351 var48 = _src.x2[0];
16354 var41 = ((orc_uint8) var47 + (orc_uint8) var48 + 1) >> 1;
16361 var49 = _src.x2[1];
16362 var50 = _src.x2[0];
16365 var42 = ((orc_uint8) var49 + (orc_uint8) var50 + 1) >> 1;
16373 video_convert_orc_putline_A420 (guint8 * ORC_RESTRICT d1,
16374 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
16375 guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1, int n)
16377 OrcExecutor _ex, *ex = &_ex;
16378 static volatile int p_inited = 0;
16379 static OrcCode *c = 0;
16380 void (*func) (OrcExecutor *);
16383 orc_once_mutex_lock ();
16388 static const orc_uint8 bc[] = {
16389 1, 9, 30, 118, 105, 100, 101, 111, 95, 99, 111, 110, 118, 101, 114, 116,
16390 95, 111, 114, 99, 95, 112, 117, 116, 108, 105, 110, 101, 95, 65, 52, 50,
16391 48, 11, 2, 2, 11, 1, 1, 11, 1, 1, 11, 2, 2, 12, 8, 8,
16392 20, 4, 20, 4, 20, 2, 20, 2, 20, 1, 20, 1, 21, 1, 198, 33,
16393 32, 4, 21, 1, 189, 0, 32, 21, 1, 188, 3, 32, 21, 1, 199, 35,
16394 34, 33, 199, 36, 37, 34, 39, 1, 36, 37, 199, 36, 37, 35, 39, 2,
16397 p = orc_program_new_from_static_bytecode (bc);
16398 orc_program_set_backup_function (p,
16399 _backup_video_convert_orc_putline_A420);
16401 p = orc_program_new ();
16402 orc_program_set_name (p, "video_convert_orc_putline_A420");
16403 orc_program_set_backup_function (p,
16404 _backup_video_convert_orc_putline_A420);
16405 orc_program_add_destination (p, 2, "d1");
16406 orc_program_add_destination (p, 1, "d2");
16407 orc_program_add_destination (p, 1, "d3");
16408 orc_program_add_destination (p, 2, "d4");
16409 orc_program_add_source (p, 8, "s1");
16410 orc_program_add_temporary (p, 4, "t1");
16411 orc_program_add_temporary (p, 4, "t2");
16412 orc_program_add_temporary (p, 2, "t3");
16413 orc_program_add_temporary (p, 2, "t4");
16414 orc_program_add_temporary (p, 1, "t5");
16415 orc_program_add_temporary (p, 1, "t6");
16417 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
16419 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
16420 ORC_VAR_D1, ORC_VAR_D1);
16421 orc_program_append_2 (p, "select0wb", 1, ORC_VAR_D4, ORC_VAR_T1,
16422 ORC_VAR_D1, ORC_VAR_D1);
16423 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
16425 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T3,
16427 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_T6,
16429 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T4,
16431 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D3, ORC_VAR_T5, ORC_VAR_T6,
16435 orc_program_compile (p);
16436 c = orc_program_take_code (p);
16437 orc_program_free (p);
16440 orc_once_mutex_unlock ();
16442 ex->arrays[ORC_VAR_A2] = c;
16446 ex->arrays[ORC_VAR_D1] = d1;
16447 ex->arrays[ORC_VAR_D2] = d2;
16448 ex->arrays[ORC_VAR_D3] = d3;
16449 ex->arrays[ORC_VAR_D4] = d4;
16450 ex->arrays[ORC_VAR_S1] = (void *) s1;