2
/* autogenerated from videoblendorc.orc */
9
#ifndef _ORC_INTEGER_TYPEDEFS_
10
#define _ORC_INTEGER_TYPEDEFS_
11
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
13
typedef int8_t orc_int8;
14
typedef int16_t orc_int16;
15
typedef int32_t orc_int32;
16
typedef int64_t orc_int64;
17
typedef uint8_t orc_uint8;
18
typedef uint16_t orc_uint16;
19
typedef uint32_t orc_uint32;
20
typedef uint64_t orc_uint64;
21
#define ORC_UINT64_C(x) UINT64_C(x)
22
#elif defined(_MSC_VER)
23
typedef signed __int8 orc_int8;
24
typedef signed __int16 orc_int16;
25
typedef signed __int32 orc_int32;
26
typedef signed __int64 orc_int64;
27
typedef unsigned __int8 orc_uint8;
28
typedef unsigned __int16 orc_uint16;
29
typedef unsigned __int32 orc_uint32;
30
typedef unsigned __int64 orc_uint64;
31
#define ORC_UINT64_C(x) (x##Ui64)
32
#define inline __inline
35
typedef signed char orc_int8;
36
typedef short orc_int16;
37
typedef int orc_int32;
38
typedef unsigned char orc_uint8;
39
typedef unsigned short orc_uint16;
40
typedef unsigned int orc_uint32;
41
#if INT_MAX == LONG_MAX
42
typedef long long orc_int64;
43
typedef unsigned long long orc_uint64;
44
#define ORC_UINT64_C(x) (x##ULL)
46
typedef long orc_int64;
47
typedef unsigned long orc_uint64;
48
#define ORC_UINT64_C(x) (x##UL)
73
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
74
#define ORC_RESTRICT restrict
75
#elif defined(__GNUC__) && __GNUC__ >= 4
76
#define ORC_RESTRICT __restrict__
85
void orc_blend_little (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
87
void orc_blend_big (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
89
void cogorc_getline_I420 (guint8 * ORC_RESTRICT d1,
90
const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
91
const guint8 * ORC_RESTRICT s3, int n);
92
void cogorc_putline_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
93
guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
94
void cogorc_getline_YUY2 (guint8 * ORC_RESTRICT d1,
95
const guint8 * ORC_RESTRICT s1, int n);
96
void cogorc_putline_YUY2 (guint8 * ORC_RESTRICT d1,
97
const guint8 * ORC_RESTRICT s1, int n);
98
void cogorc_putline_UYVY (guint8 * ORC_RESTRICT d1,
99
const guint8 * ORC_RESTRICT s1, int n);
100
void cogorc_getline_UYVY (guint8 * ORC_RESTRICT d1,
101
const guint8 * ORC_RESTRICT s1, int n);
102
void cogorc_getline_YUV9 (guint8 * ORC_RESTRICT d1,
103
const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
104
const guint8 * ORC_RESTRICT s3, int n);
105
void cogorc_getline_Y42B (guint8 * ORC_RESTRICT d1,
106
const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
107
const guint8 * ORC_RESTRICT s3, int n);
108
void cogorc_putline_Y42B (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
109
guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
110
void cogorc_getline_Y444 (guint8 * ORC_RESTRICT d1,
111
const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
112
const guint8 * ORC_RESTRICT s3, int n);
113
void cogorc_putline_Y444 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
114
guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
115
void cogorc_getline_Y800 (guint8 * ORC_RESTRICT d1,
116
const guint8 * ORC_RESTRICT s1, int n);
117
void cogorc_putline_Y800 (guint8 * ORC_RESTRICT d1,
118
const guint8 * ORC_RESTRICT s1, int n);
119
void cogorc_putline_Y16 (guint8 * ORC_RESTRICT d1,
120
const guint8 * ORC_RESTRICT s1, int n);
121
void cogorc_getline_Y16 (guint8 * ORC_RESTRICT d1,
122
const guint8 * ORC_RESTRICT s1, int n);
123
void cogorc_getline_BGRA (guint8 * ORC_RESTRICT d1,
124
const guint8 * ORC_RESTRICT s1, int n);
125
void cogorc_putline_BGRA (guint8 * ORC_RESTRICT d1,
126
const guint8 * ORC_RESTRICT s1, int n);
127
void cogorc_putline_RGBA (guint8 * ORC_RESTRICT d1,
128
const guint8 * ORC_RESTRICT s1, int n);
129
void cogorc_getline_RGBA (guint8 * ORC_RESTRICT d1,
130
const guint8 * ORC_RESTRICT s1, int n);
131
void cogorc_getline_ABGR (guint8 * ORC_RESTRICT d1,
132
const guint8 * ORC_RESTRICT s1, int n);
133
void cogorc_putline_ABGR (guint8 * ORC_RESTRICT d1,
134
const guint8 * ORC_RESTRICT s1, int n);
135
void cogorc_getline_NV12 (guint8 * ORC_RESTRICT d1,
136
const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
137
void cogorc_putline_NV12 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
138
const guint8 * ORC_RESTRICT s1, int n);
139
void cogorc_getline_NV21 (guint8 * ORC_RESTRICT d1,
140
const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
141
void cogorc_putline_NV21 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
142
const guint8 * ORC_RESTRICT s1, int n);
143
void cogorc_getline_A420 (guint8 * ORC_RESTRICT d1,
144
const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
145
const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
146
void cogorc_putline_A420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
147
guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
148
const guint8 * ORC_RESTRICT s1, int n);
149
void orc_resample_bilinear_u32 (guint8 * ORC_RESTRICT d1,
150
const guint8 * ORC_RESTRICT s1, int p1, int p2, int n);
151
void orc_merge_linear_u8 (orc_uint8 * ORC_RESTRICT d1,
152
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
156
/* begin Orc C target preamble */
157
#define ORC_CLAMP(x,a,b) ((x)<(a) ? (a) : ((x)>(b) ? (b) : (x)))
158
#define ORC_ABS(a) ((a)<0 ? -(a) : (a))
159
#define ORC_MIN(a,b) ((a)<(b) ? (a) : (b))
160
#define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
161
#define ORC_SB_MAX 127
162
#define ORC_SB_MIN (-1-ORC_SB_MAX)
163
#define ORC_UB_MAX 255
165
#define ORC_SW_MAX 32767
166
#define ORC_SW_MIN (-1-ORC_SW_MAX)
167
#define ORC_UW_MAX 65535
169
#define ORC_SL_MAX 2147483647
170
#define ORC_SL_MIN (-1-ORC_SL_MAX)
171
#define ORC_UL_MAX 4294967295U
173
#define ORC_CLAMP_SB(x) ORC_CLAMP(x,ORC_SB_MIN,ORC_SB_MAX)
174
#define ORC_CLAMP_UB(x) ORC_CLAMP(x,ORC_UB_MIN,ORC_UB_MAX)
175
#define ORC_CLAMP_SW(x) ORC_CLAMP(x,ORC_SW_MIN,ORC_SW_MAX)
176
#define ORC_CLAMP_UW(x) ORC_CLAMP(x,ORC_UW_MIN,ORC_UW_MAX)
177
#define ORC_CLAMP_SL(x) ORC_CLAMP(x,ORC_SL_MIN,ORC_SL_MAX)
178
#define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)
179
#define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
180
#define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
181
#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))
182
#define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
183
#define ORC_DENORMAL(x) ((x) & ((((x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))
184
#define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
185
#define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
186
#define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
188
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
189
#define ORC_RESTRICT restrict
190
#elif defined(__GNUC__) && __GNUC__ >= 4
191
#define ORC_RESTRICT __restrict__
196
/* end Orc C target preamble */
200
/* orc_blend_little */
203
orc_blend_little (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
207
orc_union32 *ORC_RESTRICT ptr0;
208
const orc_union32 *ORC_RESTRICT ptr4;
226
ptr0 = (orc_union32 *) d1;
227
ptr4 = (orc_union32 *) s1;
230
var39.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */
232
for (i = 0; i < n; i++) {
241
((var42 & 0xff) << 24) | ((var42 & 0xff) << 16) | ((var42 & 0xff) << 8)
244
var44.x4[0] = (orc_uint8) var43.x4[0];
245
var44.x4[1] = (orc_uint8) var43.x4[1];
246
var44.x4[2] = (orc_uint8) var43.x4[2];
247
var44.x4[3] = (orc_uint8) var43.x4[3];
249
var45.x4[0] = ((orc_uint16) var44.x4[0]) >> 8;
250
var45.x4[1] = ((orc_uint16) var44.x4[1]) >> 8;
251
var45.x4[2] = ((orc_uint16) var44.x4[2]) >> 8;
252
var45.x4[3] = ((orc_uint16) var44.x4[3]) >> 8;
254
var46.x4[0] = (orc_uint8) var40.x4[0];
255
var46.x4[1] = (orc_uint8) var40.x4[1];
256
var46.x4[2] = (orc_uint8) var40.x4[2];
257
var46.x4[3] = (orc_uint8) var40.x4[3];
261
var48.x4[0] = (orc_uint8) var47.x4[0];
262
var48.x4[1] = (orc_uint8) var47.x4[1];
263
var48.x4[2] = (orc_uint8) var47.x4[2];
264
var48.x4[3] = (orc_uint8) var47.x4[3];
266
var49.x4[0] = var46.x4[0] - var48.x4[0];
267
var49.x4[1] = var46.x4[1] - var48.x4[1];
268
var49.x4[2] = var46.x4[2] - var48.x4[2];
269
var49.x4[3] = var46.x4[3] - var48.x4[3];
271
var50.x4[0] = (var49.x4[0] * var45.x4[0]) & 0xffff;
272
var50.x4[1] = (var49.x4[1] * var45.x4[1]) & 0xffff;
273
var50.x4[2] = (var49.x4[2] * var45.x4[2]) & 0xffff;
274
var50.x4[3] = (var49.x4[3] * var45.x4[3]) & 0xffff;
277
((orc_uint16) (((orc_uint16) (var50.x4[0] + 128)) +
278
(((orc_uint16) (var50.x4[0] + 128)) >> 8))) >> 8;
280
((orc_uint16) (((orc_uint16) (var50.x4[1] + 128)) +
281
(((orc_uint16) (var50.x4[1] + 128)) >> 8))) >> 8;
283
((orc_uint16) (((orc_uint16) (var50.x4[2] + 128)) +
284
(((orc_uint16) (var50.x4[2] + 128)) >> 8))) >> 8;
286
((orc_uint16) (((orc_uint16) (var50.x4[3] + 128)) +
287
(((orc_uint16) (var50.x4[3] + 128)) >> 8))) >> 8;
289
var52.x4[0] = var48.x4[0] + var51.x4[0];
290
var52.x4[1] = var48.x4[1] + var51.x4[1];
291
var52.x4[2] = var48.x4[2] + var51.x4[2];
292
var52.x4[3] = var48.x4[3] + var51.x4[3];
294
var53.x4[0] = var52.x4[0];
295
var53.x4[1] = var52.x4[1];
296
var53.x4[2] = var52.x4[2];
297
var53.x4[3] = var52.x4[3];
299
var54.i = var53.i | var39.i;
308
_backup_orc_blend_little (OrcExecutor * ORC_RESTRICT ex)
312
orc_union32 *ORC_RESTRICT ptr0;
313
const orc_union32 *ORC_RESTRICT ptr4;
331
ptr0 = (orc_union32 *) ex->arrays[0];
332
ptr4 = (orc_union32 *) ex->arrays[4];
335
var39.i = (int) 0x000000ff; /* 255 or 1.25987e-321f */
337
for (i = 0; i < n; i++) {
346
((var42 & 0xff) << 24) | ((var42 & 0xff) << 16) | ((var42 & 0xff) << 8)
349
var44.x4[0] = (orc_uint8) var43.x4[0];
350
var44.x4[1] = (orc_uint8) var43.x4[1];
351
var44.x4[2] = (orc_uint8) var43.x4[2];
352
var44.x4[3] = (orc_uint8) var43.x4[3];
354
var45.x4[0] = ((orc_uint16) var44.x4[0]) >> 8;
355
var45.x4[1] = ((orc_uint16) var44.x4[1]) >> 8;
356
var45.x4[2] = ((orc_uint16) var44.x4[2]) >> 8;
357
var45.x4[3] = ((orc_uint16) var44.x4[3]) >> 8;
359
var46.x4[0] = (orc_uint8) var40.x4[0];
360
var46.x4[1] = (orc_uint8) var40.x4[1];
361
var46.x4[2] = (orc_uint8) var40.x4[2];
362
var46.x4[3] = (orc_uint8) var40.x4[3];
366
var48.x4[0] = (orc_uint8) var47.x4[0];
367
var48.x4[1] = (orc_uint8) var47.x4[1];
368
var48.x4[2] = (orc_uint8) var47.x4[2];
369
var48.x4[3] = (orc_uint8) var47.x4[3];
371
var49.x4[0] = var46.x4[0] - var48.x4[0];
372
var49.x4[1] = var46.x4[1] - var48.x4[1];
373
var49.x4[2] = var46.x4[2] - var48.x4[2];
374
var49.x4[3] = var46.x4[3] - var48.x4[3];
376
var50.x4[0] = (var49.x4[0] * var45.x4[0]) & 0xffff;
377
var50.x4[1] = (var49.x4[1] * var45.x4[1]) & 0xffff;
378
var50.x4[2] = (var49.x4[2] * var45.x4[2]) & 0xffff;
379
var50.x4[3] = (var49.x4[3] * var45.x4[3]) & 0xffff;
382
((orc_uint16) (((orc_uint16) (var50.x4[0] + 128)) +
383
(((orc_uint16) (var50.x4[0] + 128)) >> 8))) >> 8;
385
((orc_uint16) (((orc_uint16) (var50.x4[1] + 128)) +
386
(((orc_uint16) (var50.x4[1] + 128)) >> 8))) >> 8;
388
((orc_uint16) (((orc_uint16) (var50.x4[2] + 128)) +
389
(((orc_uint16) (var50.x4[2] + 128)) >> 8))) >> 8;
391
((orc_uint16) (((orc_uint16) (var50.x4[3] + 128)) +
392
(((orc_uint16) (var50.x4[3] + 128)) >> 8))) >> 8;
394
var52.x4[0] = var48.x4[0] + var51.x4[0];
395
var52.x4[1] = var48.x4[1] + var51.x4[1];
396
var52.x4[2] = var48.x4[2] + var51.x4[2];
397
var52.x4[3] = var48.x4[3] + var51.x4[3];
399
var53.x4[0] = var52.x4[0];
400
var53.x4[1] = var52.x4[1];
401
var53.x4[2] = var52.x4[2];
402
var53.x4[3] = var52.x4[3];
404
var54.i = var53.i | var39.i;
412
orc_blend_little (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
415
OrcExecutor _ex, *ex = &_ex;
416
static volatile int p_inited = 0;
417
static OrcProgram *p = 0;
418
void (*func) (OrcExecutor *);
421
orc_once_mutex_lock ();
424
p = orc_program_new ();
425
orc_program_set_name (p, "orc_blend_little");
426
orc_program_set_backup_function (p, _backup_orc_blend_little);
427
orc_program_add_destination (p, 4, "d1");
428
orc_program_add_source (p, 4, "s1");
429
orc_program_add_constant (p, 4, 0x000000ff, "c1");
430
orc_program_add_constant (p, 4, 0x00000008, "c2");
431
orc_program_add_temporary (p, 4, "t1");
432
orc_program_add_temporary (p, 2, "t2");
433
orc_program_add_temporary (p, 1, "t3");
434
orc_program_add_temporary (p, 4, "t4");
435
orc_program_add_temporary (p, 8, "t5");
436
orc_program_add_temporary (p, 8, "t6");
437
orc_program_add_temporary (p, 8, "t7");
439
orc_program_append_2 (p, "loadl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
441
orc_program_append_2 (p, "convlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1,
443
orc_program_append_2 (p, "convwb", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_D1,
445
orc_program_append_2 (p, "splatbl", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_D1,
447
orc_program_append_2 (p, "convubw", 2, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
449
orc_program_append_2 (p, "shruw", 2, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_C2,
451
orc_program_append_2 (p, "convubw", 2, ORC_VAR_T6, ORC_VAR_T1, ORC_VAR_D1,
453
orc_program_append_2 (p, "loadl", 0, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1,
455
orc_program_append_2 (p, "convubw", 2, ORC_VAR_T5, ORC_VAR_T1, ORC_VAR_D1,
457
orc_program_append_2 (p, "subw", 2, ORC_VAR_T6, ORC_VAR_T6, ORC_VAR_T5,
459
orc_program_append_2 (p, "mullw", 2, ORC_VAR_T6, ORC_VAR_T6, ORC_VAR_T7,
461
orc_program_append_2 (p, "div255w", 2, ORC_VAR_T6, ORC_VAR_T6, ORC_VAR_D1,
463
orc_program_append_2 (p, "addw", 2, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_T6,
465
orc_program_append_2 (p, "convwb", 2, ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_D1,
467
orc_program_append_2 (p, "orl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
469
orc_program_append_2 (p, "storel", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
472
orc_program_compile (p);
475
orc_once_mutex_unlock ();
480
ex->arrays[ORC_VAR_D1] = d1;
481
ex->arrays[ORC_VAR_S1] = (void *) s1;
492
orc_blend_big (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
495
orc_union32 *ORC_RESTRICT ptr0;
496
const orc_union32 *ORC_RESTRICT ptr4;
515
ptr0 = (orc_union32 *) d1;
516
ptr4 = (orc_union32 *) s1;
519
var40.i = (int) 0xff000000; /* -16777216 or 2.11371e-314f */
521
for (i = 0; i < n; i++) {
525
var42.i = ((orc_uint32) var41.i) >> 24;
532
((var44 & 0xff) << 24) | ((var44 & 0xff) << 16) | ((var44 & 0xff) << 8)
535
var46.x4[0] = (orc_uint8) var45.x4[0];
536
var46.x4[1] = (orc_uint8) var45.x4[1];
537
var46.x4[2] = (orc_uint8) var45.x4[2];
538
var46.x4[3] = (orc_uint8) var45.x4[3];
540
var47.x4[0] = ((orc_uint16) var46.x4[0]) >> 8;
541
var47.x4[1] = ((orc_uint16) var46.x4[1]) >> 8;
542
var47.x4[2] = ((orc_uint16) var46.x4[2]) >> 8;
543
var47.x4[3] = ((orc_uint16) var46.x4[3]) >> 8;
545
var48.x4[0] = (orc_uint8) var41.x4[0];
546
var48.x4[1] = (orc_uint8) var41.x4[1];
547
var48.x4[2] = (orc_uint8) var41.x4[2];
548
var48.x4[3] = (orc_uint8) var41.x4[3];
552
var50.x4[0] = (orc_uint8) var49.x4[0];
553
var50.x4[1] = (orc_uint8) var49.x4[1];
554
var50.x4[2] = (orc_uint8) var49.x4[2];
555
var50.x4[3] = (orc_uint8) var49.x4[3];
557
var51.x4[0] = var48.x4[0] - var50.x4[0];
558
var51.x4[1] = var48.x4[1] - var50.x4[1];
559
var51.x4[2] = var48.x4[2] - var50.x4[2];
560
var51.x4[3] = var48.x4[3] - var50.x4[3];
562
var52.x4[0] = (var51.x4[0] * var47.x4[0]) & 0xffff;
563
var52.x4[1] = (var51.x4[1] * var47.x4[1]) & 0xffff;
564
var52.x4[2] = (var51.x4[2] * var47.x4[2]) & 0xffff;
565
var52.x4[3] = (var51.x4[3] * var47.x4[3]) & 0xffff;
568
((orc_uint16) (((orc_uint16) (var52.x4[0] + 128)) +
569
(((orc_uint16) (var52.x4[0] + 128)) >> 8))) >> 8;
571
((orc_uint16) (((orc_uint16) (var52.x4[1] + 128)) +
572
(((orc_uint16) (var52.x4[1] + 128)) >> 8))) >> 8;
574
((orc_uint16) (((orc_uint16) (var52.x4[2] + 128)) +
575
(((orc_uint16) (var52.x4[2] + 128)) >> 8))) >> 8;
577
((orc_uint16) (((orc_uint16) (var52.x4[3] + 128)) +
578
(((orc_uint16) (var52.x4[3] + 128)) >> 8))) >> 8;
580
var54.x4[0] = var50.x4[0] + var53.x4[0];
581
var54.x4[1] = var50.x4[1] + var53.x4[1];
582
var54.x4[2] = var50.x4[2] + var53.x4[2];
583
var54.x4[3] = var50.x4[3] + var53.x4[3];
585
var55.x4[0] = var54.x4[0];
586
var55.x4[1] = var54.x4[1];
587
var55.x4[2] = var54.x4[2];
588
var55.x4[3] = var54.x4[3];
590
var56.i = var55.i | var40.i;
599
_backup_orc_blend_big (OrcExecutor * ORC_RESTRICT ex)
603
orc_union32 *ORC_RESTRICT ptr0;
604
const orc_union32 *ORC_RESTRICT ptr4;
623
ptr0 = (orc_union32 *) ex->arrays[0];
624
ptr4 = (orc_union32 *) ex->arrays[4];
627
var40.i = (int) 0xff000000; /* -16777216 or 2.11371e-314f */
629
for (i = 0; i < n; i++) {
633
var42.i = ((orc_uint32) var41.i) >> 24;
640
((var44 & 0xff) << 24) | ((var44 & 0xff) << 16) | ((var44 & 0xff) << 8)
643
var46.x4[0] = (orc_uint8) var45.x4[0];
644
var46.x4[1] = (orc_uint8) var45.x4[1];
645
var46.x4[2] = (orc_uint8) var45.x4[2];
646
var46.x4[3] = (orc_uint8) var45.x4[3];
648
var47.x4[0] = ((orc_uint16) var46.x4[0]) >> 8;
649
var47.x4[1] = ((orc_uint16) var46.x4[1]) >> 8;
650
var47.x4[2] = ((orc_uint16) var46.x4[2]) >> 8;
651
var47.x4[3] = ((orc_uint16) var46.x4[3]) >> 8;
653
var48.x4[0] = (orc_uint8) var41.x4[0];
654
var48.x4[1] = (orc_uint8) var41.x4[1];
655
var48.x4[2] = (orc_uint8) var41.x4[2];
656
var48.x4[3] = (orc_uint8) var41.x4[3];
660
var50.x4[0] = (orc_uint8) var49.x4[0];
661
var50.x4[1] = (orc_uint8) var49.x4[1];
662
var50.x4[2] = (orc_uint8) var49.x4[2];
663
var50.x4[3] = (orc_uint8) var49.x4[3];
665
var51.x4[0] = var48.x4[0] - var50.x4[0];
666
var51.x4[1] = var48.x4[1] - var50.x4[1];
667
var51.x4[2] = var48.x4[2] - var50.x4[2];
668
var51.x4[3] = var48.x4[3] - var50.x4[3];
670
var52.x4[0] = (var51.x4[0] * var47.x4[0]) & 0xffff;
671
var52.x4[1] = (var51.x4[1] * var47.x4[1]) & 0xffff;
672
var52.x4[2] = (var51.x4[2] * var47.x4[2]) & 0xffff;
673
var52.x4[3] = (var51.x4[3] * var47.x4[3]) & 0xffff;
676
((orc_uint16) (((orc_uint16) (var52.x4[0] + 128)) +
677
(((orc_uint16) (var52.x4[0] + 128)) >> 8))) >> 8;
679
((orc_uint16) (((orc_uint16) (var52.x4[1] + 128)) +
680
(((orc_uint16) (var52.x4[1] + 128)) >> 8))) >> 8;
682
((orc_uint16) (((orc_uint16) (var52.x4[2] + 128)) +
683
(((orc_uint16) (var52.x4[2] + 128)) >> 8))) >> 8;
685
((orc_uint16) (((orc_uint16) (var52.x4[3] + 128)) +
686
(((orc_uint16) (var52.x4[3] + 128)) >> 8))) >> 8;
688
var54.x4[0] = var50.x4[0] + var53.x4[0];
689
var54.x4[1] = var50.x4[1] + var53.x4[1];
690
var54.x4[2] = var50.x4[2] + var53.x4[2];
691
var54.x4[3] = var50.x4[3] + var53.x4[3];
693
var55.x4[0] = var54.x4[0];
694
var55.x4[1] = var54.x4[1];
695
var55.x4[2] = var54.x4[2];
696
var55.x4[3] = var54.x4[3];
698
var56.i = var55.i | var40.i;
706
orc_blend_big (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n)
708
OrcExecutor _ex, *ex = &_ex;
709
static volatile int p_inited = 0;
710
static OrcProgram *p = 0;
711
void (*func) (OrcExecutor *);
714
orc_once_mutex_lock ();
717
p = orc_program_new ();
718
orc_program_set_name (p, "orc_blend_big");
719
orc_program_set_backup_function (p, _backup_orc_blend_big);
720
orc_program_add_destination (p, 4, "d1");
721
orc_program_add_source (p, 4, "s1");
722
orc_program_add_constant (p, 4, 0xff000000, "c1");
723
orc_program_add_constant (p, 4, 0x00000018, "c2");
724
orc_program_add_constant (p, 4, 0x00000008, "c3");
725
orc_program_add_temporary (p, 4, "t1");
726
orc_program_add_temporary (p, 4, "t2");
727
orc_program_add_temporary (p, 2, "t3");
728
orc_program_add_temporary (p, 1, "t4");
729
orc_program_add_temporary (p, 4, "t5");
730
orc_program_add_temporary (p, 8, "t6");
731
orc_program_add_temporary (p, 8, "t7");
732
orc_program_add_temporary (p, 8, "t8");
734
orc_program_append_2 (p, "loadl", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
736
orc_program_append_2 (p, "shrul", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_C2,
738
orc_program_append_2 (p, "convlw", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_D1,
740
orc_program_append_2 (p, "convwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_D1,
742
orc_program_append_2 (p, "splatbl", 0, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_D1,
744
orc_program_append_2 (p, "convubw", 2, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
746
orc_program_append_2 (p, "shruw", 2, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_C3,
748
orc_program_append_2 (p, "convubw", 2, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_D1,
750
orc_program_append_2 (p, "loadl", 0, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1,
752
orc_program_append_2 (p, "convubw", 2, ORC_VAR_T6, ORC_VAR_T1, ORC_VAR_D1,
754
orc_program_append_2 (p, "subw", 2, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T6,
756
orc_program_append_2 (p, "mullw", 2, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T8,
758
orc_program_append_2 (p, "div255w", 2, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_D1,
760
orc_program_append_2 (p, "addw", 2, ORC_VAR_T6, ORC_VAR_T6, ORC_VAR_T7,
762
orc_program_append_2 (p, "convwb", 2, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_D1,
764
orc_program_append_2 (p, "orl", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
766
orc_program_append_2 (p, "storel", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
769
orc_program_compile (p);
772
orc_once_mutex_unlock ();
777
ex->arrays[ORC_VAR_D1] = d1;
778
ex->arrays[ORC_VAR_S1] = (void *) s1;
786
/* cogorc_getline_I420 */
789
cogorc_getline_I420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
790
const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
793
orc_union32 *ORC_RESTRICT ptr0;
794
const orc_int8 *ORC_RESTRICT ptr4;
795
const orc_int8 *ORC_RESTRICT ptr5;
796
const orc_int8 *ORC_RESTRICT ptr6;
805
ptr0 = (orc_union32 *) d1;
806
ptr4 = (orc_int8 *) s1;
807
ptr5 = (orc_int8 *) s2;
808
ptr6 = (orc_int8 *) s3;
811
var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
813
for (i = 0; i < n; i++) {
815
var39 = ptr5[i >> 1];
817
var40 = ptr6[i >> 1];
837
_dest.x2[0] = var42.i;
838
_dest.x2[1] = var41.i;
849
_backup_cogorc_getline_I420 (OrcExecutor * ORC_RESTRICT ex)
853
orc_union32 *ORC_RESTRICT ptr0;
854
const orc_int8 *ORC_RESTRICT ptr4;
855
const orc_int8 *ORC_RESTRICT ptr5;
856
const orc_int8 *ORC_RESTRICT ptr6;
865
ptr0 = (orc_union32 *) ex->arrays[0];
866
ptr4 = (orc_int8 *) ex->arrays[4];
867
ptr5 = (orc_int8 *) ex->arrays[5];
868
ptr6 = (orc_int8 *) ex->arrays[6];
871
var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
873
for (i = 0; i < n; i++) {
875
var39 = ptr5[i >> 1];
877
var40 = ptr6[i >> 1];
897
_dest.x2[0] = var42.i;
898
_dest.x2[1] = var41.i;
908
cogorc_getline_I420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
909
const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
911
OrcExecutor _ex, *ex = &_ex;
912
static volatile int p_inited = 0;
913
static OrcProgram *p = 0;
914
void (*func) (OrcExecutor *);
917
orc_once_mutex_lock ();
920
p = orc_program_new ();
921
orc_program_set_name (p, "cogorc_getline_I420");
922
orc_program_set_backup_function (p, _backup_cogorc_getline_I420);
923
orc_program_add_destination (p, 4, "d1");
924
orc_program_add_source (p, 1, "s1");
925
orc_program_add_source (p, 1, "s2");
926
orc_program_add_source (p, 1, "s3");
927
orc_program_add_constant (p, 1, 0x000000ff, "c1");
928
orc_program_add_temporary (p, 2, "t1");
929
orc_program_add_temporary (p, 2, "t2");
930
orc_program_add_temporary (p, 1, "t3");
931
orc_program_add_temporary (p, 1, "t4");
933
orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T3, ORC_VAR_S2,
934
ORC_VAR_D1, ORC_VAR_D1);
935
orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S3,
936
ORC_VAR_D1, ORC_VAR_D1);
937
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
939
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
941
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
944
orc_program_compile (p);
947
orc_once_mutex_unlock ();
952
ex->arrays[ORC_VAR_D1] = d1;
953
ex->arrays[ORC_VAR_S1] = (void *) s1;
954
ex->arrays[ORC_VAR_S2] = (void *) s2;
955
ex->arrays[ORC_VAR_S3] = (void *) s3;
963
/* cogorc_putline_I420 */
966
cogorc_putline_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
967
guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
970
orc_union16 *ORC_RESTRICT ptr0;
971
orc_int8 *ORC_RESTRICT ptr1;
972
orc_int8 *ORC_RESTRICT ptr2;
973
const orc_union64 *ORC_RESTRICT ptr4;
987
ptr0 = (orc_union16 *) d1;
988
ptr1 = (orc_int8 *) d2;
989
ptr2 = (orc_int8 *) d3;
990
ptr4 = (orc_union64 *) s1;
993
for (i = 0; i < n; i++) {
999
_src.i = var38.x2[0];
1000
var42.x2[0] = _src.x2[1];
1001
var43.x2[0] = _src.x2[0];
1005
_src.i = var38.x2[1];
1006
var42.x2[1] = _src.x2[1];
1007
var43.x2[1] = _src.x2[0];
1012
_src.i = var43.x2[0];
1013
var39.x2[0] = _src.x2[1];
1017
_src.i = var43.x2[1];
1018
var39.x2[1] = _src.x2[1];
1025
_src.i = var42.x2[0];
1026
var44.x2[0] = _src.x2[1];
1027
var45.x2[0] = _src.x2[0];
1031
_src.i = var42.x2[1];
1032
var44.x2[1] = _src.x2[1];
1033
var45.x2[1] = _src.x2[0];
1043
var40 = ((orc_uint8) var46 + (orc_uint8) var47 + 1) >> 1;
1054
var41 = ((orc_uint8) var48 + (orc_uint8) var49 + 1) >> 1;
1063
_backup_cogorc_putline_I420 (OrcExecutor * ORC_RESTRICT ex)
1067
orc_union16 *ORC_RESTRICT ptr0;
1068
orc_int8 *ORC_RESTRICT ptr1;
1069
orc_int8 *ORC_RESTRICT ptr2;
1070
const orc_union64 *ORC_RESTRICT ptr4;
1084
ptr0 = (orc_union16 *) ex->arrays[0];
1085
ptr1 = (orc_int8 *) ex->arrays[1];
1086
ptr2 = (orc_int8 *) ex->arrays[2];
1087
ptr4 = (orc_union64 *) ex->arrays[4];
1090
for (i = 0; i < n; i++) {
1096
_src.i = var38.x2[0];
1097
var42.x2[0] = _src.x2[1];
1098
var43.x2[0] = _src.x2[0];
1102
_src.i = var38.x2[1];
1103
var42.x2[1] = _src.x2[1];
1104
var43.x2[1] = _src.x2[0];
1109
_src.i = var43.x2[0];
1110
var39.x2[0] = _src.x2[1];
1114
_src.i = var43.x2[1];
1115
var39.x2[1] = _src.x2[1];
1122
_src.i = var42.x2[0];
1123
var44.x2[0] = _src.x2[1];
1124
var45.x2[0] = _src.x2[0];
1128
_src.i = var42.x2[1];
1129
var44.x2[1] = _src.x2[1];
1130
var45.x2[1] = _src.x2[0];
1140
var40 = ((orc_uint8) var46 + (orc_uint8) var47 + 1) >> 1;
1151
var41 = ((orc_uint8) var48 + (orc_uint8) var49 + 1) >> 1;
1159
cogorc_putline_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
1160
guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
1162
OrcExecutor _ex, *ex = &_ex;
1163
static volatile int p_inited = 0;
1164
static OrcProgram *p = 0;
1165
void (*func) (OrcExecutor *);
1168
orc_once_mutex_lock ();
1171
p = orc_program_new ();
1172
orc_program_set_name (p, "cogorc_putline_I420");
1173
orc_program_set_backup_function (p, _backup_cogorc_putline_I420);
1174
orc_program_add_destination (p, 2, "d1");
1175
orc_program_add_destination (p, 1, "d2");
1176
orc_program_add_destination (p, 1, "d3");
1177
orc_program_add_source (p, 8, "s1");
1178
orc_program_add_temporary (p, 4, "t1");
1179
orc_program_add_temporary (p, 4, "t2");
1180
orc_program_add_temporary (p, 2, "t3");
1181
orc_program_add_temporary (p, 2, "t4");
1182
orc_program_add_temporary (p, 1, "t5");
1183
orc_program_add_temporary (p, 1, "t6");
1185
orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
1187
orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
1188
ORC_VAR_D1, ORC_VAR_D1);
1189
orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
1191
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T3,
1193
orc_program_append_2 (p, "avgub", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_T6,
1195
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T4,
1197
orc_program_append_2 (p, "avgub", 0, ORC_VAR_D3, ORC_VAR_T5, ORC_VAR_T6,
1200
orc_program_compile (p);
1203
orc_once_mutex_unlock ();
1208
ex->arrays[ORC_VAR_D1] = d1;
1209
ex->arrays[ORC_VAR_D2] = d2;
1210
ex->arrays[ORC_VAR_D3] = d3;
1211
ex->arrays[ORC_VAR_S1] = (void *) s1;
1213
func = p->code_exec;
1219
/* cogorc_getline_YUY2 */
1222
cogorc_getline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
1226
orc_union64 *ORC_RESTRICT ptr0;
1227
const orc_union32 *ORC_RESTRICT ptr4;
1236
ptr0 = (orc_union64 *) d1;
1237
ptr4 = (orc_union32 *) s1;
1240
var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
1241
var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
1243
for (i = 0; i < n; i++) {
1249
_src.i = var36.x2[0];
1250
var39.x2[0] = _src.x2[1];
1251
var40.x2[0] = _src.x2[0];
1255
_src.i = var36.x2[1];
1256
var39.x2[1] = _src.x2[1];
1257
var40.x2[1] = _src.x2[0];
1262
_dest.x2[0] = var37.x2[0];
1263
_dest.x2[1] = var40.x2[0];
1264
var41.x2[0] = _dest.i;
1268
_dest.x2[0] = var37.x2[1];
1269
_dest.x2[1] = var40.x2[1];
1270
var41.x2[1] = _dest.i;
1275
_dest.x2[0] = var39.i;
1276
_dest.x2[1] = var39.i;
1282
_dest.x2[0] = var41.x2[0];
1283
_dest.x2[1] = var42.x2[0];
1284
var38.x2[0] = _dest.i;
1288
_dest.x2[0] = var41.x2[1];
1289
_dest.x2[1] = var42.x2[1];
1290
var38.x2[1] = _dest.i;
1300
_backup_cogorc_getline_YUY2 (OrcExecutor * ORC_RESTRICT ex)
1304
orc_union64 *ORC_RESTRICT ptr0;
1305
const orc_union32 *ORC_RESTRICT ptr4;
1314
ptr0 = (orc_union64 *) ex->arrays[0];
1315
ptr4 = (orc_union32 *) ex->arrays[4];
1318
var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
1319
var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
1321
for (i = 0; i < n; i++) {
1327
_src.i = var36.x2[0];
1328
var39.x2[0] = _src.x2[1];
1329
var40.x2[0] = _src.x2[0];
1333
_src.i = var36.x2[1];
1334
var39.x2[1] = _src.x2[1];
1335
var40.x2[1] = _src.x2[0];
1340
_dest.x2[0] = var37.x2[0];
1341
_dest.x2[1] = var40.x2[0];
1342
var41.x2[0] = _dest.i;
1346
_dest.x2[0] = var37.x2[1];
1347
_dest.x2[1] = var40.x2[1];
1348
var41.x2[1] = _dest.i;
1353
_dest.x2[0] = var39.i;
1354
_dest.x2[1] = var39.i;
1360
_dest.x2[0] = var41.x2[0];
1361
_dest.x2[1] = var42.x2[0];
1362
var38.x2[0] = _dest.i;
1366
_dest.x2[0] = var41.x2[1];
1367
_dest.x2[1] = var42.x2[1];
1368
var38.x2[1] = _dest.i;
1377
cogorc_getline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
1380
OrcExecutor _ex, *ex = &_ex;
1381
static volatile int p_inited = 0;
1382
static OrcProgram *p = 0;
1383
void (*func) (OrcExecutor *);
1386
orc_once_mutex_lock ();
1389
p = orc_program_new ();
1390
orc_program_set_name (p, "cogorc_getline_YUY2");
1391
orc_program_set_backup_function (p, _backup_cogorc_getline_YUY2);
1392
orc_program_add_destination (p, 8, "d1");
1393
orc_program_add_source (p, 4, "s1");
1394
orc_program_add_constant (p, 2, 0x000000ff, "c1");
1395
orc_program_add_temporary (p, 2, "t1");
1396
orc_program_add_temporary (p, 2, "t2");
1397
orc_program_add_temporary (p, 4, "t3");
1398
orc_program_add_temporary (p, 4, "t4");
1400
orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
1402
orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
1404
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
1406
orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
1409
orc_program_compile (p);
1412
orc_once_mutex_unlock ();
1417
ex->arrays[ORC_VAR_D1] = d1;
1418
ex->arrays[ORC_VAR_S1] = (void *) s1;
1420
func = p->code_exec;
1426
/* cogorc_putline_YUY2 */
1429
cogorc_putline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
1433
orc_union32 *ORC_RESTRICT ptr0;
1434
const orc_union64 *ORC_RESTRICT ptr4;
1444
ptr0 = (orc_union32 *) d1;
1445
ptr4 = (orc_union64 *) s1;
1448
for (i = 0; i < n; i++) {
1454
_src.i = var37.x2[0];
1455
var39.x2[0] = _src.x2[1];
1456
var40.x2[0] = _src.x2[0];
1460
_src.i = var37.x2[1];
1461
var39.x2[1] = _src.x2[1];
1462
var40.x2[1] = _src.x2[0];
1468
var41.i = _src.x2[1];
1469
var42.i = _src.x2[0];
1472
var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
1473
var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
1477
_src.i = var40.x2[0];
1478
var44.x2[0] = _src.x2[1];
1482
_src.i = var40.x2[1];
1483
var44.x2[1] = _src.x2[1];
1488
_dest.x2[0] = var44.x2[0];
1489
_dest.x2[1] = var43.x2[0];
1490
var38.x2[0] = _dest.i;
1494
_dest.x2[0] = var44.x2[1];
1495
_dest.x2[1] = var43.x2[1];
1496
var38.x2[1] = _dest.i;
1506
_backup_cogorc_putline_YUY2 (OrcExecutor * ORC_RESTRICT ex)
1510
orc_union32 *ORC_RESTRICT ptr0;
1511
const orc_union64 *ORC_RESTRICT ptr4;
1521
ptr0 = (orc_union32 *) ex->arrays[0];
1522
ptr4 = (orc_union64 *) ex->arrays[4];
1525
for (i = 0; i < n; i++) {
1531
_src.i = var37.x2[0];
1532
var39.x2[0] = _src.x2[1];
1533
var40.x2[0] = _src.x2[0];
1537
_src.i = var37.x2[1];
1538
var39.x2[1] = _src.x2[1];
1539
var40.x2[1] = _src.x2[0];
1545
var41.i = _src.x2[1];
1546
var42.i = _src.x2[0];
1549
var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
1550
var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
1554
_src.i = var40.x2[0];
1555
var44.x2[0] = _src.x2[1];
1559
_src.i = var40.x2[1];
1560
var44.x2[1] = _src.x2[1];
1565
_dest.x2[0] = var44.x2[0];
1566
_dest.x2[1] = var43.x2[0];
1567
var38.x2[0] = _dest.i;
1571
_dest.x2[0] = var44.x2[1];
1572
_dest.x2[1] = var43.x2[1];
1573
var38.x2[1] = _dest.i;
1582
cogorc_putline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
1585
OrcExecutor _ex, *ex = &_ex;
1586
static volatile int p_inited = 0;
1587
static OrcProgram *p = 0;
1588
void (*func) (OrcExecutor *);
1591
orc_once_mutex_lock ();
1594
p = orc_program_new ();
1595
orc_program_set_name (p, "cogorc_putline_YUY2");
1596
orc_program_set_backup_function (p, _backup_cogorc_putline_YUY2);
1597
orc_program_add_destination (p, 4, "d1");
1598
orc_program_add_source (p, 8, "s1");
1599
orc_program_add_temporary (p, 2, "t1");
1600
orc_program_add_temporary (p, 2, "t2");
1601
orc_program_add_temporary (p, 2, "t3");
1602
orc_program_add_temporary (p, 4, "t4");
1603
orc_program_add_temporary (p, 4, "t5");
1605
orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
1607
orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
1609
orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
1611
orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
1612
ORC_VAR_D1, ORC_VAR_D1);
1613
orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
1616
orc_program_compile (p);
1619
orc_once_mutex_unlock ();
1624
ex->arrays[ORC_VAR_D1] = d1;
1625
ex->arrays[ORC_VAR_S1] = (void *) s1;
1627
func = p->code_exec;
1633
/* cogorc_putline_UYVY */
1636
cogorc_putline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
1640
orc_union32 *ORC_RESTRICT ptr0;
1641
const orc_union64 *ORC_RESTRICT ptr4;
1651
ptr0 = (orc_union32 *) d1;
1652
ptr4 = (orc_union64 *) s1;
1655
for (i = 0; i < n; i++) {
1661
_src.i = var37.x2[0];
1662
var39.x2[0] = _src.x2[1];
1663
var40.x2[0] = _src.x2[0];
1667
_src.i = var37.x2[1];
1668
var39.x2[1] = _src.x2[1];
1669
var40.x2[1] = _src.x2[0];
1675
var41.i = _src.x2[1];
1676
var42.i = _src.x2[0];
1679
var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
1680
var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
1684
_src.i = var40.x2[0];
1685
var44.x2[0] = _src.x2[1];
1689
_src.i = var40.x2[1];
1690
var44.x2[1] = _src.x2[1];
1695
_dest.x2[0] = var43.x2[0];
1696
_dest.x2[1] = var44.x2[0];
1697
var38.x2[0] = _dest.i;
1701
_dest.x2[0] = var43.x2[1];
1702
_dest.x2[1] = var44.x2[1];
1703
var38.x2[1] = _dest.i;
1713
_backup_cogorc_putline_UYVY (OrcExecutor * ORC_RESTRICT ex)
1717
orc_union32 *ORC_RESTRICT ptr0;
1718
const orc_union64 *ORC_RESTRICT ptr4;
1728
ptr0 = (orc_union32 *) ex->arrays[0];
1729
ptr4 = (orc_union64 *) ex->arrays[4];
1732
for (i = 0; i < n; i++) {
1738
_src.i = var37.x2[0];
1739
var39.x2[0] = _src.x2[1];
1740
var40.x2[0] = _src.x2[0];
1744
_src.i = var37.x2[1];
1745
var39.x2[1] = _src.x2[1];
1746
var40.x2[1] = _src.x2[0];
1752
var41.i = _src.x2[1];
1753
var42.i = _src.x2[0];
1756
var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
1757
var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
1761
_src.i = var40.x2[0];
1762
var44.x2[0] = _src.x2[1];
1766
_src.i = var40.x2[1];
1767
var44.x2[1] = _src.x2[1];
1772
_dest.x2[0] = var43.x2[0];
1773
_dest.x2[1] = var44.x2[0];
1774
var38.x2[0] = _dest.i;
1778
_dest.x2[0] = var43.x2[1];
1779
_dest.x2[1] = var44.x2[1];
1780
var38.x2[1] = _dest.i;
1789
cogorc_putline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
1792
OrcExecutor _ex, *ex = &_ex;
1793
static volatile int p_inited = 0;
1794
static OrcProgram *p = 0;
1795
void (*func) (OrcExecutor *);
1798
orc_once_mutex_lock ();
1801
p = orc_program_new ();
1802
orc_program_set_name (p, "cogorc_putline_UYVY");
1803
orc_program_set_backup_function (p, _backup_cogorc_putline_UYVY);
1804
orc_program_add_destination (p, 4, "d1");
1805
orc_program_add_source (p, 8, "s1");
1806
orc_program_add_temporary (p, 2, "t1");
1807
orc_program_add_temporary (p, 2, "t2");
1808
orc_program_add_temporary (p, 2, "t3");
1809
orc_program_add_temporary (p, 4, "t4");
1810
orc_program_add_temporary (p, 4, "t5");
1812
orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
1814
orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
1816
orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
1818
orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
1819
ORC_VAR_D1, ORC_VAR_D1);
1820
orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
1823
orc_program_compile (p);
1826
orc_once_mutex_unlock ();
1831
ex->arrays[ORC_VAR_D1] = d1;
1832
ex->arrays[ORC_VAR_S1] = (void *) s1;
1834
func = p->code_exec;
1840
/* cogorc_getline_UYVY */
1843
cogorc_getline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
1847
orc_union64 *ORC_RESTRICT ptr0;
1848
const orc_union32 *ORC_RESTRICT ptr4;
1857
ptr0 = (orc_union64 *) d1;
1858
ptr4 = (orc_union32 *) s1;
1861
var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
1862
var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
1864
for (i = 0; i < n; i++) {
1870
_src.i = var36.x2[0];
1871
var39.x2[0] = _src.x2[1];
1872
var40.x2[0] = _src.x2[0];
1876
_src.i = var36.x2[1];
1877
var39.x2[1] = _src.x2[1];
1878
var40.x2[1] = _src.x2[0];
1883
_dest.x2[0] = var37.x2[0];
1884
_dest.x2[1] = var39.x2[0];
1885
var41.x2[0] = _dest.i;
1889
_dest.x2[0] = var37.x2[1];
1890
_dest.x2[1] = var39.x2[1];
1891
var41.x2[1] = _dest.i;
1896
_dest.x2[0] = var40.i;
1897
_dest.x2[1] = var40.i;
1903
_dest.x2[0] = var41.x2[0];
1904
_dest.x2[1] = var42.x2[0];
1905
var38.x2[0] = _dest.i;
1909
_dest.x2[0] = var41.x2[1];
1910
_dest.x2[1] = var42.x2[1];
1911
var38.x2[1] = _dest.i;
1921
_backup_cogorc_getline_UYVY (OrcExecutor * ORC_RESTRICT ex)
1925
orc_union64 *ORC_RESTRICT ptr0;
1926
const orc_union32 *ORC_RESTRICT ptr4;
1935
ptr0 = (orc_union64 *) ex->arrays[0];
1936
ptr4 = (orc_union32 *) ex->arrays[4];
1939
var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
1940
var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
1942
for (i = 0; i < n; i++) {
1948
_src.i = var36.x2[0];
1949
var39.x2[0] = _src.x2[1];
1950
var40.x2[0] = _src.x2[0];
1954
_src.i = var36.x2[1];
1955
var39.x2[1] = _src.x2[1];
1956
var40.x2[1] = _src.x2[0];
1961
_dest.x2[0] = var37.x2[0];
1962
_dest.x2[1] = var39.x2[0];
1963
var41.x2[0] = _dest.i;
1967
_dest.x2[0] = var37.x2[1];
1968
_dest.x2[1] = var39.x2[1];
1969
var41.x2[1] = _dest.i;
1974
_dest.x2[0] = var40.i;
1975
_dest.x2[1] = var40.i;
1981
_dest.x2[0] = var41.x2[0];
1982
_dest.x2[1] = var42.x2[0];
1983
var38.x2[0] = _dest.i;
1987
_dest.x2[0] = var41.x2[1];
1988
_dest.x2[1] = var42.x2[1];
1989
var38.x2[1] = _dest.i;
1998
cogorc_getline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2001
OrcExecutor _ex, *ex = &_ex;
2002
static volatile int p_inited = 0;
2003
static OrcProgram *p = 0;
2004
void (*func) (OrcExecutor *);
2007
orc_once_mutex_lock ();
2010
p = orc_program_new ();
2011
orc_program_set_name (p, "cogorc_getline_UYVY");
2012
orc_program_set_backup_function (p, _backup_cogorc_getline_UYVY);
2013
orc_program_add_destination (p, 8, "d1");
2014
orc_program_add_source (p, 4, "s1");
2015
orc_program_add_constant (p, 2, 0x000000ff, "c1");
2016
orc_program_add_temporary (p, 2, "t1");
2017
orc_program_add_temporary (p, 2, "t2");
2018
orc_program_add_temporary (p, 4, "t3");
2019
orc_program_add_temporary (p, 4, "t4");
2021
orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_S1,
2023
orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
2025
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
2027
orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
2030
orc_program_compile (p);
2033
orc_once_mutex_unlock ();
2038
ex->arrays[ORC_VAR_D1] = d1;
2039
ex->arrays[ORC_VAR_S1] = (void *) s1;
2041
func = p->code_exec;
2047
/* cogorc_getline_YUV9 */
2050
cogorc_getline_YUV9 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2051
const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
2054
orc_union64 *ORC_RESTRICT ptr0;
2055
const orc_union16 *ORC_RESTRICT ptr4;
2056
const orc_int8 *ORC_RESTRICT ptr5;
2057
const orc_int8 *ORC_RESTRICT ptr6;
2067
ptr0 = (orc_union64 *) d1;
2068
ptr4 = (orc_union16 *) s1;
2069
ptr5 = (orc_int8 *) s2;
2070
ptr6 = (orc_int8 *) s3;
2073
var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2074
var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2076
for (i = 0; i < n; i++) {
2078
var40 = ptr5[i >> 1];
2080
var41 = ptr6[i >> 1];
2084
_dest.x2[0] = var40;
2085
_dest.x2[1] = var41;
2091
_dest.x2[0] = var42.i;
2092
_dest.x2[1] = var42.i;
2100
_dest.x2[0] = var37.x2[0];
2101
_dest.x2[1] = var38.x2[0];
2102
var44.x2[0] = _dest.i;
2106
_dest.x2[0] = var37.x2[1];
2107
_dest.x2[1] = var38.x2[1];
2108
var44.x2[1] = _dest.i;
2113
_dest.x2[0] = var44.x2[0];
2114
_dest.x2[1] = var43.x2[0];
2115
var39.x2[0] = _dest.i;
2119
_dest.x2[0] = var44.x2[1];
2120
_dest.x2[1] = var43.x2[1];
2121
var39.x2[1] = _dest.i;
2131
_backup_cogorc_getline_YUV9 (OrcExecutor * ORC_RESTRICT ex)
2135
orc_union64 *ORC_RESTRICT ptr0;
2136
const orc_union16 *ORC_RESTRICT ptr4;
2137
const orc_int8 *ORC_RESTRICT ptr5;
2138
const orc_int8 *ORC_RESTRICT ptr6;
2148
ptr0 = (orc_union64 *) ex->arrays[0];
2149
ptr4 = (orc_union16 *) ex->arrays[4];
2150
ptr5 = (orc_int8 *) ex->arrays[5];
2151
ptr6 = (orc_int8 *) ex->arrays[6];
2154
var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2155
var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2157
for (i = 0; i < n; i++) {
2159
var40 = ptr5[i >> 1];
2161
var41 = ptr6[i >> 1];
2165
_dest.x2[0] = var40;
2166
_dest.x2[1] = var41;
2172
_dest.x2[0] = var42.i;
2173
_dest.x2[1] = var42.i;
2181
_dest.x2[0] = var37.x2[0];
2182
_dest.x2[1] = var38.x2[0];
2183
var44.x2[0] = _dest.i;
2187
_dest.x2[0] = var37.x2[1];
2188
_dest.x2[1] = var38.x2[1];
2189
var44.x2[1] = _dest.i;
2194
_dest.x2[0] = var44.x2[0];
2195
_dest.x2[1] = var43.x2[0];
2196
var39.x2[0] = _dest.i;
2200
_dest.x2[0] = var44.x2[1];
2201
_dest.x2[1] = var43.x2[1];
2202
var39.x2[1] = _dest.i;
2211
cogorc_getline_YUV9 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2212
const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
2214
OrcExecutor _ex, *ex = &_ex;
2215
static volatile int p_inited = 0;
2216
static OrcProgram *p = 0;
2217
void (*func) (OrcExecutor *);
2220
orc_once_mutex_lock ();
2223
p = orc_program_new ();
2224
orc_program_set_name (p, "cogorc_getline_YUV9");
2225
orc_program_set_backup_function (p, _backup_cogorc_getline_YUV9);
2226
orc_program_add_destination (p, 8, "d1");
2227
orc_program_add_source (p, 2, "s1");
2228
orc_program_add_source (p, 1, "s2");
2229
orc_program_add_source (p, 1, "s3");
2230
orc_program_add_constant (p, 1, 0x000000ff, "c1");
2231
orc_program_add_temporary (p, 2, "t1");
2232
orc_program_add_temporary (p, 4, "t2");
2233
orc_program_add_temporary (p, 4, "t3");
2234
orc_program_add_temporary (p, 1, "t4");
2235
orc_program_add_temporary (p, 1, "t5");
2237
orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S2,
2238
ORC_VAR_D1, ORC_VAR_D1);
2239
orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T5, ORC_VAR_S3,
2240
ORC_VAR_D1, ORC_VAR_D1);
2241
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_T5,
2243
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
2245
orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
2247
orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
2250
orc_program_compile (p);
2253
orc_once_mutex_unlock ();
2258
ex->arrays[ORC_VAR_D1] = d1;
2259
ex->arrays[ORC_VAR_S1] = (void *) s1;
2260
ex->arrays[ORC_VAR_S2] = (void *) s2;
2261
ex->arrays[ORC_VAR_S3] = (void *) s3;
2263
func = p->code_exec;
2269
/* cogorc_getline_Y42B */
2272
cogorc_getline_Y42B (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2273
const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
2276
orc_union64 *ORC_RESTRICT ptr0;
2277
const orc_union16 *ORC_RESTRICT ptr4;
2278
const orc_int8 *ORC_RESTRICT ptr5;
2279
const orc_int8 *ORC_RESTRICT ptr6;
2289
ptr0 = (orc_union64 *) d1;
2290
ptr4 = (orc_union16 *) s1;
2291
ptr5 = (orc_int8 *) s2;
2292
ptr6 = (orc_int8 *) s3;
2295
var38.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2296
var38.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2298
for (i = 0; i < n; i++) {
2306
_dest.x2[0] = var36;
2307
_dest.x2[1] = var37;
2315
_dest.x2[0] = var38.x2[0];
2316
_dest.x2[1] = var39.x2[0];
2317
var42.x2[0] = _dest.i;
2321
_dest.x2[0] = var38.x2[1];
2322
_dest.x2[1] = var39.x2[1];
2323
var42.x2[1] = _dest.i;
2328
_dest.x2[0] = var41.i;
2329
_dest.x2[1] = var41.i;
2335
_dest.x2[0] = var42.x2[0];
2336
_dest.x2[1] = var43.x2[0];
2337
var40.x2[0] = _dest.i;
2341
_dest.x2[0] = var42.x2[1];
2342
_dest.x2[1] = var43.x2[1];
2343
var40.x2[1] = _dest.i;
2353
_backup_cogorc_getline_Y42B (OrcExecutor * ORC_RESTRICT ex)
2357
orc_union64 *ORC_RESTRICT ptr0;
2358
const orc_union16 *ORC_RESTRICT ptr4;
2359
const orc_int8 *ORC_RESTRICT ptr5;
2360
const orc_int8 *ORC_RESTRICT ptr6;
2370
ptr0 = (orc_union64 *) ex->arrays[0];
2371
ptr4 = (orc_union16 *) ex->arrays[4];
2372
ptr5 = (orc_int8 *) ex->arrays[5];
2373
ptr6 = (orc_int8 *) ex->arrays[6];
2376
var38.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2377
var38.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2379
for (i = 0; i < n; i++) {
2387
_dest.x2[0] = var36;
2388
_dest.x2[1] = var37;
2396
_dest.x2[0] = var38.x2[0];
2397
_dest.x2[1] = var39.x2[0];
2398
var42.x2[0] = _dest.i;
2402
_dest.x2[0] = var38.x2[1];
2403
_dest.x2[1] = var39.x2[1];
2404
var42.x2[1] = _dest.i;
2409
_dest.x2[0] = var41.i;
2410
_dest.x2[1] = var41.i;
2416
_dest.x2[0] = var42.x2[0];
2417
_dest.x2[1] = var43.x2[0];
2418
var40.x2[0] = _dest.i;
2422
_dest.x2[0] = var42.x2[1];
2423
_dest.x2[1] = var43.x2[1];
2424
var40.x2[1] = _dest.i;
2433
cogorc_getline_Y42B (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2434
const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
2436
OrcExecutor _ex, *ex = &_ex;
2437
static volatile int p_inited = 0;
2438
static OrcProgram *p = 0;
2439
void (*func) (OrcExecutor *);
2442
orc_once_mutex_lock ();
2445
p = orc_program_new ();
2446
orc_program_set_name (p, "cogorc_getline_Y42B");
2447
orc_program_set_backup_function (p, _backup_cogorc_getline_Y42B);
2448
orc_program_add_destination (p, 8, "d1");
2449
orc_program_add_source (p, 2, "s1");
2450
orc_program_add_source (p, 1, "s2");
2451
orc_program_add_source (p, 1, "s3");
2452
orc_program_add_constant (p, 1, 0x000000ff, "c1");
2453
orc_program_add_temporary (p, 2, "t1");
2454
orc_program_add_temporary (p, 2, "t2");
2455
orc_program_add_temporary (p, 4, "t3");
2456
orc_program_add_temporary (p, 4, "t4");
2458
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
2460
orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T4, ORC_VAR_C1, ORC_VAR_S1,
2462
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
2464
orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T4, ORC_VAR_T3,
2467
orc_program_compile (p);
2470
orc_once_mutex_unlock ();
2475
ex->arrays[ORC_VAR_D1] = d1;
2476
ex->arrays[ORC_VAR_S1] = (void *) s1;
2477
ex->arrays[ORC_VAR_S2] = (void *) s2;
2478
ex->arrays[ORC_VAR_S3] = (void *) s3;
2480
func = p->code_exec;
2486
/* cogorc_putline_Y42B */
2489
cogorc_putline_Y42B (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
2490
guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
2493
orc_union16 *ORC_RESTRICT ptr0;
2494
orc_int8 *ORC_RESTRICT ptr1;
2495
orc_int8 *ORC_RESTRICT ptr2;
2496
const orc_union64 *ORC_RESTRICT ptr4;
2507
ptr0 = (orc_union16 *) d1;
2508
ptr1 = (orc_int8 *) d2;
2509
ptr2 = (orc_int8 *) d3;
2510
ptr4 = (orc_union64 *) s1;
2513
for (i = 0; i < n; i++) {
2519
_src.i = var36.x2[0];
2520
var40.x2[0] = _src.x2[1];
2521
var41.x2[0] = _src.x2[0];
2525
_src.i = var36.x2[1];
2526
var40.x2[1] = _src.x2[1];
2527
var41.x2[1] = _src.x2[0];
2533
var42.i = _src.x2[1];
2534
var43.i = _src.x2[0];
2537
var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
2538
var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
2553
_src.i = var41.x2[0];
2554
var39.x2[0] = _src.x2[1];
2558
_src.i = var41.x2[1];
2559
var39.x2[1] = _src.x2[1];
2569
_backup_cogorc_putline_Y42B (OrcExecutor * ORC_RESTRICT ex)
2573
orc_union16 *ORC_RESTRICT ptr0;
2574
orc_int8 *ORC_RESTRICT ptr1;
2575
orc_int8 *ORC_RESTRICT ptr2;
2576
const orc_union64 *ORC_RESTRICT ptr4;
2587
ptr0 = (orc_union16 *) ex->arrays[0];
2588
ptr1 = (orc_int8 *) ex->arrays[1];
2589
ptr2 = (orc_int8 *) ex->arrays[2];
2590
ptr4 = (orc_union64 *) ex->arrays[4];
2593
for (i = 0; i < n; i++) {
2599
_src.i = var36.x2[0];
2600
var40.x2[0] = _src.x2[1];
2601
var41.x2[0] = _src.x2[0];
2605
_src.i = var36.x2[1];
2606
var40.x2[1] = _src.x2[1];
2607
var41.x2[1] = _src.x2[0];
2613
var42.i = _src.x2[1];
2614
var43.i = _src.x2[0];
2617
var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
2618
var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
2633
_src.i = var41.x2[0];
2634
var39.x2[0] = _src.x2[1];
2638
_src.i = var41.x2[1];
2639
var39.x2[1] = _src.x2[1];
2648
cogorc_putline_Y42B (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
2649
guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
2651
OrcExecutor _ex, *ex = &_ex;
2652
static volatile int p_inited = 0;
2653
static OrcProgram *p = 0;
2654
void (*func) (OrcExecutor *);
2657
orc_once_mutex_lock ();
2660
p = orc_program_new ();
2661
orc_program_set_name (p, "cogorc_putline_Y42B");
2662
orc_program_set_backup_function (p, _backup_cogorc_putline_Y42B);
2663
orc_program_add_destination (p, 2, "d1");
2664
orc_program_add_destination (p, 1, "d2");
2665
orc_program_add_destination (p, 1, "d3");
2666
orc_program_add_source (p, 8, "s1");
2667
orc_program_add_temporary (p, 4, "t1");
2668
orc_program_add_temporary (p, 4, "t2");
2669
orc_program_add_temporary (p, 2, "t3");
2670
orc_program_add_temporary (p, 2, "t4");
2672
orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
2674
orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
2676
orc_program_append_2 (p, "avgub", 1, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
2678
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T3,
2680
orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
2681
ORC_VAR_D1, ORC_VAR_D1);
2683
orc_program_compile (p);
2686
orc_once_mutex_unlock ();
2691
ex->arrays[ORC_VAR_D1] = d1;
2692
ex->arrays[ORC_VAR_D2] = d2;
2693
ex->arrays[ORC_VAR_D3] = d3;
2694
ex->arrays[ORC_VAR_S1] = (void *) s1;
2696
func = p->code_exec;
2702
/* cogorc_getline_Y444 */
2705
cogorc_getline_Y444 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2706
const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
2709
orc_union32 *ORC_RESTRICT ptr0;
2710
const orc_int8 *ORC_RESTRICT ptr4;
2711
const orc_int8 *ORC_RESTRICT ptr5;
2712
const orc_int8 *ORC_RESTRICT ptr6;
2721
ptr0 = (orc_union32 *) d1;
2722
ptr4 = (orc_int8 *) s1;
2723
ptr5 = (orc_int8 *) s2;
2724
ptr6 = (orc_int8 *) s3;
2727
var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2729
for (i = 0; i < n; i++) {
2737
_dest.x2[0] = var34;
2738
_dest.x2[1] = var35;
2746
_dest.x2[0] = var36;
2747
_dest.x2[1] = var37;
2753
_dest.x2[0] = var40.i;
2754
_dest.x2[1] = var39.i;
2765
_backup_cogorc_getline_Y444 (OrcExecutor * ORC_RESTRICT ex)
2769
orc_union32 *ORC_RESTRICT ptr0;
2770
const orc_int8 *ORC_RESTRICT ptr4;
2771
const orc_int8 *ORC_RESTRICT ptr5;
2772
const orc_int8 *ORC_RESTRICT ptr6;
2781
ptr0 = (orc_union32 *) ex->arrays[0];
2782
ptr4 = (orc_int8 *) ex->arrays[4];
2783
ptr5 = (orc_int8 *) ex->arrays[5];
2784
ptr6 = (orc_int8 *) ex->arrays[6];
2787
var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
2789
for (i = 0; i < n; i++) {
2797
_dest.x2[0] = var34;
2798
_dest.x2[1] = var35;
2806
_dest.x2[0] = var36;
2807
_dest.x2[1] = var37;
2813
_dest.x2[0] = var40.i;
2814
_dest.x2[1] = var39.i;
2824
cogorc_getline_Y444 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2825
const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
2827
OrcExecutor _ex, *ex = &_ex;
2828
static volatile int p_inited = 0;
2829
static OrcProgram *p = 0;
2830
void (*func) (OrcExecutor *);
2833
orc_once_mutex_lock ();
2836
p = orc_program_new ();
2837
orc_program_set_name (p, "cogorc_getline_Y444");
2838
orc_program_set_backup_function (p, _backup_cogorc_getline_Y444);
2839
orc_program_add_destination (p, 4, "d1");
2840
orc_program_add_source (p, 1, "s1");
2841
orc_program_add_source (p, 1, "s2");
2842
orc_program_add_source (p, 1, "s3");
2843
orc_program_add_constant (p, 1, 0x000000ff, "c1");
2844
orc_program_add_temporary (p, 2, "t1");
2845
orc_program_add_temporary (p, 2, "t2");
2847
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
2849
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
2851
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
2854
orc_program_compile (p);
2857
orc_once_mutex_unlock ();
2862
ex->arrays[ORC_VAR_D1] = d1;
2863
ex->arrays[ORC_VAR_S1] = (void *) s1;
2864
ex->arrays[ORC_VAR_S2] = (void *) s2;
2865
ex->arrays[ORC_VAR_S3] = (void *) s3;
2867
func = p->code_exec;
2873
/* cogorc_putline_Y444 */
2876
cogorc_putline_Y444 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
2877
guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
2880
orc_int8 *ORC_RESTRICT ptr0;
2881
orc_int8 *ORC_RESTRICT ptr1;
2882
orc_int8 *ORC_RESTRICT ptr2;
2883
const orc_union32 *ORC_RESTRICT ptr4;
2891
ptr0 = (orc_int8 *) d1;
2892
ptr1 = (orc_int8 *) d2;
2893
ptr2 = (orc_int8 *) d3;
2894
ptr4 = (orc_union32 *) s1;
2897
for (i = 0; i < n; i++) {
2904
var38.i = _src.x2[1];
2905
var39.i = _src.x2[0];
2932
_backup_cogorc_putline_Y444 (OrcExecutor * ORC_RESTRICT ex)
2936
orc_int8 *ORC_RESTRICT ptr0;
2937
orc_int8 *ORC_RESTRICT ptr1;
2938
orc_int8 *ORC_RESTRICT ptr2;
2939
const orc_union32 *ORC_RESTRICT ptr4;
2947
ptr0 = (orc_int8 *) ex->arrays[0];
2948
ptr1 = (orc_int8 *) ex->arrays[1];
2949
ptr2 = (orc_int8 *) ex->arrays[2];
2950
ptr4 = (orc_union32 *) ex->arrays[4];
2953
for (i = 0; i < n; i++) {
2960
var38.i = _src.x2[1];
2961
var39.i = _src.x2[0];
2987
cogorc_putline_Y444 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
2988
guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
2990
OrcExecutor _ex, *ex = &_ex;
2991
static volatile int p_inited = 0;
2992
static OrcProgram *p = 0;
2993
void (*func) (OrcExecutor *);
2996
orc_once_mutex_lock ();
2999
p = orc_program_new ();
3000
orc_program_set_name (p, "cogorc_putline_Y444");
3001
orc_program_set_backup_function (p, _backup_cogorc_putline_Y444);
3002
orc_program_add_destination (p, 1, "d1");
3003
orc_program_add_destination (p, 1, "d2");
3004
orc_program_add_destination (p, 1, "d3");
3005
orc_program_add_source (p, 4, "s1");
3006
orc_program_add_temporary (p, 2, "t1");
3007
orc_program_add_temporary (p, 2, "t2");
3009
orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
3011
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T2,
3013
orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
3014
ORC_VAR_D1, ORC_VAR_D1);
3016
orc_program_compile (p);
3019
orc_once_mutex_unlock ();
3024
ex->arrays[ORC_VAR_D1] = d1;
3025
ex->arrays[ORC_VAR_D2] = d2;
3026
ex->arrays[ORC_VAR_D3] = d3;
3027
ex->arrays[ORC_VAR_S1] = (void *) s1;
3029
func = p->code_exec;
3035
/* cogorc_getline_Y800 */
3038
cogorc_getline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3042
orc_union32 *ORC_RESTRICT ptr0;
3043
const orc_int8 *ORC_RESTRICT ptr4;
3050
ptr0 = (orc_union32 *) d1;
3051
ptr4 = (orc_int8 *) s1;
3054
var33 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
3056
var35.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
3058
for (i = 0; i < n; i++) {
3064
_dest.x2[0] = var33;
3065
_dest.x2[1] = var34;
3071
_dest.x2[0] = var37.i;
3072
_dest.x2[1] = var35.i;
3083
_backup_cogorc_getline_Y800 (OrcExecutor * ORC_RESTRICT ex)
3087
orc_union32 *ORC_RESTRICT ptr0;
3088
const orc_int8 *ORC_RESTRICT ptr4;
3095
ptr0 = (orc_union32 *) ex->arrays[0];
3096
ptr4 = (orc_int8 *) ex->arrays[4];
3099
var33 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
3101
var35.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
3103
for (i = 0; i < n; i++) {
3109
_dest.x2[0] = var33;
3110
_dest.x2[1] = var34;
3116
_dest.x2[0] = var37.i;
3117
_dest.x2[1] = var35.i;
3127
cogorc_getline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3130
OrcExecutor _ex, *ex = &_ex;
3131
static volatile int p_inited = 0;
3132
static OrcProgram *p = 0;
3133
void (*func) (OrcExecutor *);
3136
orc_once_mutex_lock ();
3139
p = orc_program_new ();
3140
orc_program_set_name (p, "cogorc_getline_Y800");
3141
orc_program_set_backup_function (p, _backup_cogorc_getline_Y800);
3142
orc_program_add_destination (p, 4, "d1");
3143
orc_program_add_source (p, 1, "s1");
3144
orc_program_add_constant (p, 1, 0x000000ff, "c1");
3145
orc_program_add_constant (p, 2, 0x00008080, "c2");
3146
orc_program_add_temporary (p, 2, "t1");
3148
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_S1,
3150
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
3153
orc_program_compile (p);
3156
orc_once_mutex_unlock ();
3161
ex->arrays[ORC_VAR_D1] = d1;
3162
ex->arrays[ORC_VAR_S1] = (void *) s1;
3164
func = p->code_exec;
3170
/* cogorc_putline_Y800 */
3173
cogorc_putline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3177
orc_int8 *ORC_RESTRICT ptr0;
3178
const orc_union32 *ORC_RESTRICT ptr4;
3183
ptr0 = (orc_int8 *) d1;
3184
ptr4 = (orc_union32 *) s1;
3187
for (i = 0; i < n; i++) {
3194
var35.i = _src.x2[0];
3210
_backup_cogorc_putline_Y800 (OrcExecutor * ORC_RESTRICT ex)
3214
orc_int8 *ORC_RESTRICT ptr0;
3215
const orc_union32 *ORC_RESTRICT ptr4;
3220
ptr0 = (orc_int8 *) ex->arrays[0];
3221
ptr4 = (orc_union32 *) ex->arrays[4];
3224
for (i = 0; i < n; i++) {
3231
var35.i = _src.x2[0];
3246
cogorc_putline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3249
OrcExecutor _ex, *ex = &_ex;
3250
static volatile int p_inited = 0;
3251
static OrcProgram *p = 0;
3252
void (*func) (OrcExecutor *);
3255
orc_once_mutex_lock ();
3258
p = orc_program_new ();
3259
orc_program_set_name (p, "cogorc_putline_Y800");
3260
orc_program_set_backup_function (p, _backup_cogorc_putline_Y800);
3261
orc_program_add_destination (p, 1, "d1");
3262
orc_program_add_source (p, 4, "s1");
3263
orc_program_add_temporary (p, 2, "t1");
3265
orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
3266
ORC_VAR_D1, ORC_VAR_D1);
3267
orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
3268
ORC_VAR_D1, ORC_VAR_D1);
3270
orc_program_compile (p);
3273
orc_once_mutex_unlock ();
3278
ex->arrays[ORC_VAR_D1] = d1;
3279
ex->arrays[ORC_VAR_S1] = (void *) s1;
3281
func = p->code_exec;
3287
/* cogorc_putline_Y16 */
3290
cogorc_putline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3294
orc_union16 *ORC_RESTRICT ptr0;
3295
const orc_union32 *ORC_RESTRICT ptr4;
3302
ptr0 = (orc_union16 *) d1;
3303
ptr4 = (orc_union32 *) s1;
3306
for (i = 0; i < n; i++) {
3313
var36.i = _src.x2[0];
3322
var38.i = (orc_uint8) var37;
3324
var35.i = var38.i << 8;
3333
_backup_cogorc_putline_Y16 (OrcExecutor * ORC_RESTRICT ex)
3337
orc_union16 *ORC_RESTRICT ptr0;
3338
const orc_union32 *ORC_RESTRICT ptr4;
3345
ptr0 = (orc_union16 *) ex->arrays[0];
3346
ptr4 = (orc_union32 *) ex->arrays[4];
3349
for (i = 0; i < n; i++) {
3356
var36.i = _src.x2[0];
3365
var38.i = (orc_uint8) var37;
3367
var35.i = var38.i << 8;
3375
cogorc_putline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3378
OrcExecutor _ex, *ex = &_ex;
3379
static volatile int p_inited = 0;
3380
static OrcProgram *p = 0;
3381
void (*func) (OrcExecutor *);
3384
orc_once_mutex_lock ();
3387
p = orc_program_new ();
3388
orc_program_set_name (p, "cogorc_putline_Y16");
3389
orc_program_set_backup_function (p, _backup_cogorc_putline_Y16);
3390
orc_program_add_destination (p, 2, "d1");
3391
orc_program_add_source (p, 4, "s1");
3392
orc_program_add_constant (p, 4, 0x00000008, "c1");
3393
orc_program_add_temporary (p, 2, "t1");
3394
orc_program_add_temporary (p, 1, "t2");
3396
orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
3397
ORC_VAR_D1, ORC_VAR_D1);
3398
orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T2, ORC_VAR_T1,
3399
ORC_VAR_D1, ORC_VAR_D1);
3400
orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_D1,
3402
orc_program_append_2 (p, "shlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
3405
orc_program_compile (p);
3408
orc_once_mutex_unlock ();
3413
ex->arrays[ORC_VAR_D1] = d1;
3414
ex->arrays[ORC_VAR_S1] = (void *) s1;
3416
func = p->code_exec;
3422
/* cogorc_getline_Y16 */
3425
cogorc_getline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3429
orc_union32 *ORC_RESTRICT ptr0;
3430
const orc_union16 *ORC_RESTRICT ptr4;
3438
ptr0 = (orc_union32 *) d1;
3439
ptr4 = (orc_union16 *) s1;
3442
var35 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
3444
var36.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
3446
for (i = 0; i < n; i++) {
3450
var38 = ((orc_uint16) var34.i) >> 8;
3454
_dest.x2[0] = var35;
3455
_dest.x2[1] = var38;
3461
_dest.x2[0] = var39.i;
3462
_dest.x2[1] = var36.i;
3473
_backup_cogorc_getline_Y16 (OrcExecutor * ORC_RESTRICT ex)
3477
orc_union32 *ORC_RESTRICT ptr0;
3478
const orc_union16 *ORC_RESTRICT ptr4;
3486
ptr0 = (orc_union32 *) ex->arrays[0];
3487
ptr4 = (orc_union16 *) ex->arrays[4];
3490
var35 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
3492
var36.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
3494
for (i = 0; i < n; i++) {
3498
var38 = ((orc_uint16) var34.i) >> 8;
3502
_dest.x2[0] = var35;
3503
_dest.x2[1] = var38;
3509
_dest.x2[0] = var39.i;
3510
_dest.x2[1] = var36.i;
3520
cogorc_getline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3523
OrcExecutor _ex, *ex = &_ex;
3524
static volatile int p_inited = 0;
3525
static OrcProgram *p = 0;
3526
void (*func) (OrcExecutor *);
3529
orc_once_mutex_lock ();
3532
p = orc_program_new ();
3533
orc_program_set_name (p, "cogorc_getline_Y16");
3534
orc_program_set_backup_function (p, _backup_cogorc_getline_Y16);
3535
orc_program_add_destination (p, 4, "d1");
3536
orc_program_add_source (p, 2, "s1");
3537
orc_program_add_constant (p, 1, 0x000000ff, "c1");
3538
orc_program_add_constant (p, 2, 0x00008080, "c2");
3539
orc_program_add_temporary (p, 2, "t1");
3540
orc_program_add_temporary (p, 1, "t2");
3542
orc_program_append_2 (p, "convhwb", 0, ORC_VAR_T2, ORC_VAR_S1, ORC_VAR_D1,
3544
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_T2,
3546
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
3549
orc_program_compile (p);
3552
orc_once_mutex_unlock ();
3557
ex->arrays[ORC_VAR_D1] = d1;
3558
ex->arrays[ORC_VAR_S1] = (void *) s1;
3560
func = p->code_exec;
3566
/* cogorc_getline_BGRA */
3569
cogorc_getline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3573
orc_union32 *ORC_RESTRICT ptr0;
3574
const orc_union32 *ORC_RESTRICT ptr4;
3578
ptr0 = (orc_union32 *) d1;
3579
ptr4 = (orc_union32 *) s1;
3582
for (i = 0; i < n; i++) {
3586
var33.i = ORC_SWAP_L (var32.i);
3595
_backup_cogorc_getline_BGRA (OrcExecutor * ORC_RESTRICT ex)
3599
orc_union32 *ORC_RESTRICT ptr0;
3600
const orc_union32 *ORC_RESTRICT ptr4;
3604
ptr0 = (orc_union32 *) ex->arrays[0];
3605
ptr4 = (orc_union32 *) ex->arrays[4];
3608
for (i = 0; i < n; i++) {
3612
var33.i = ORC_SWAP_L (var32.i);
3620
cogorc_getline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3623
OrcExecutor _ex, *ex = &_ex;
3624
static volatile int p_inited = 0;
3625
static OrcProgram *p = 0;
3626
void (*func) (OrcExecutor *);
3629
orc_once_mutex_lock ();
3632
p = orc_program_new ();
3633
orc_program_set_name (p, "cogorc_getline_BGRA");
3634
orc_program_set_backup_function (p, _backup_cogorc_getline_BGRA);
3635
orc_program_add_destination (p, 4, "d1");
3636
orc_program_add_source (p, 4, "s1");
3638
orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
3641
orc_program_compile (p);
3644
orc_once_mutex_unlock ();
3649
ex->arrays[ORC_VAR_D1] = d1;
3650
ex->arrays[ORC_VAR_S1] = (void *) s1;
3652
func = p->code_exec;
3658
/* cogorc_putline_BGRA */
3661
cogorc_putline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3665
orc_union32 *ORC_RESTRICT ptr0;
3666
const orc_union32 *ORC_RESTRICT ptr4;
3670
ptr0 = (orc_union32 *) d1;
3671
ptr4 = (orc_union32 *) s1;
3674
for (i = 0; i < n; i++) {
3678
var33.i = ORC_SWAP_L (var32.i);
3687
_backup_cogorc_putline_BGRA (OrcExecutor * ORC_RESTRICT ex)
3691
orc_union32 *ORC_RESTRICT ptr0;
3692
const orc_union32 *ORC_RESTRICT ptr4;
3696
ptr0 = (orc_union32 *) ex->arrays[0];
3697
ptr4 = (orc_union32 *) ex->arrays[4];
3700
for (i = 0; i < n; i++) {
3704
var33.i = ORC_SWAP_L (var32.i);
3712
cogorc_putline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3715
OrcExecutor _ex, *ex = &_ex;
3716
static volatile int p_inited = 0;
3717
static OrcProgram *p = 0;
3718
void (*func) (OrcExecutor *);
3721
orc_once_mutex_lock ();
3724
p = orc_program_new ();
3725
orc_program_set_name (p, "cogorc_putline_BGRA");
3726
orc_program_set_backup_function (p, _backup_cogorc_putline_BGRA);
3727
orc_program_add_destination (p, 4, "d1");
3728
orc_program_add_source (p, 4, "s1");
3730
orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
3733
orc_program_compile (p);
3736
orc_once_mutex_unlock ();
3741
ex->arrays[ORC_VAR_D1] = d1;
3742
ex->arrays[ORC_VAR_S1] = (void *) s1;
3744
func = p->code_exec;
3750
/* cogorc_putline_RGBA */
3753
cogorc_putline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3757
orc_union32 *ORC_RESTRICT ptr0;
3758
const orc_union32 *ORC_RESTRICT ptr4;
3770
ptr0 = (orc_union32 *) d1;
3771
ptr4 = (orc_union32 *) s1;
3774
for (i = 0; i < n; i++) {
3781
var42.i = _src.x2[1];
3782
var43.i = _src.x2[0];
3801
_dest.x2[0] = var44;
3802
_dest.x2[1] = var47;
3808
_dest.x2[0] = var46;
3809
_dest.x2[1] = var45;
3815
_dest.x2[0] = var49.i;
3816
_dest.x2[1] = var48.i;
3827
_backup_cogorc_putline_RGBA (OrcExecutor * ORC_RESTRICT ex)
3831
orc_union32 *ORC_RESTRICT ptr0;
3832
const orc_union32 *ORC_RESTRICT ptr4;
3844
ptr0 = (orc_union32 *) ex->arrays[0];
3845
ptr4 = (orc_union32 *) ex->arrays[4];
3848
for (i = 0; i < n; i++) {
3855
var42.i = _src.x2[1];
3856
var43.i = _src.x2[0];
3875
_dest.x2[0] = var44;
3876
_dest.x2[1] = var47;
3882
_dest.x2[0] = var46;
3883
_dest.x2[1] = var45;
3889
_dest.x2[0] = var49.i;
3890
_dest.x2[1] = var48.i;
3900
cogorc_putline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3903
OrcExecutor _ex, *ex = &_ex;
3904
static volatile int p_inited = 0;
3905
static OrcProgram *p = 0;
3906
void (*func) (OrcExecutor *);
3909
orc_once_mutex_lock ();
3912
p = orc_program_new ();
3913
orc_program_set_name (p, "cogorc_putline_RGBA");
3914
orc_program_set_backup_function (p, _backup_cogorc_putline_RGBA);
3915
orc_program_add_destination (p, 4, "d1");
3916
orc_program_add_source (p, 4, "s1");
3917
orc_program_add_temporary (p, 1, "t1");
3918
orc_program_add_temporary (p, 1, "t2");
3919
orc_program_add_temporary (p, 1, "t3");
3920
orc_program_add_temporary (p, 1, "t4");
3921
orc_program_add_temporary (p, 2, "t5");
3922
orc_program_add_temporary (p, 2, "t6");
3923
orc_program_add_temporary (p, 2, "t7");
3924
orc_program_add_temporary (p, 2, "t8");
3926
orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_S1,
3928
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T8,
3930
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T7,
3932
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T6, ORC_VAR_T4, ORC_VAR_T1,
3934
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_T3,
3936
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T5, ORC_VAR_T6,
3939
orc_program_compile (p);
3942
orc_once_mutex_unlock ();
3947
ex->arrays[ORC_VAR_D1] = d1;
3948
ex->arrays[ORC_VAR_S1] = (void *) s1;
3950
func = p->code_exec;
3956
/* cogorc_getline_RGBA */
3959
cogorc_getline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3963
orc_union32 *ORC_RESTRICT ptr0;
3964
const orc_union32 *ORC_RESTRICT ptr4;
3976
ptr0 = (orc_union32 *) d1;
3977
ptr4 = (orc_union32 *) s1;
3980
for (i = 0; i < n; i++) {
3987
var42.i = _src.x2[1];
3988
var43.i = _src.x2[0];
4007
_dest.x2[0] = var46;
4008
_dest.x2[1] = var45;
4014
_dest.x2[0] = var44;
4015
_dest.x2[1] = var47;
4021
_dest.x2[0] = var48.i;
4022
_dest.x2[1] = var49.i;
4033
_backup_cogorc_getline_RGBA (OrcExecutor * ORC_RESTRICT ex)
4037
orc_union32 *ORC_RESTRICT ptr0;
4038
const orc_union32 *ORC_RESTRICT ptr4;
4050
ptr0 = (orc_union32 *) ex->arrays[0];
4051
ptr4 = (orc_union32 *) ex->arrays[4];
4054
for (i = 0; i < n; i++) {
4061
var42.i = _src.x2[1];
4062
var43.i = _src.x2[0];
4081
_dest.x2[0] = var46;
4082
_dest.x2[1] = var45;
4088
_dest.x2[0] = var44;
4089
_dest.x2[1] = var47;
4095
_dest.x2[0] = var48.i;
4096
_dest.x2[1] = var49.i;
4106
cogorc_getline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4109
OrcExecutor _ex, *ex = &_ex;
4110
static volatile int p_inited = 0;
4111
static OrcProgram *p = 0;
4112
void (*func) (OrcExecutor *);
4115
orc_once_mutex_lock ();
4118
p = orc_program_new ();
4119
orc_program_set_name (p, "cogorc_getline_RGBA");
4120
orc_program_set_backup_function (p, _backup_cogorc_getline_RGBA);
4121
orc_program_add_destination (p, 4, "d1");
4122
orc_program_add_source (p, 4, "s1");
4123
orc_program_add_temporary (p, 1, "t1");
4124
orc_program_add_temporary (p, 1, "t2");
4125
orc_program_add_temporary (p, 1, "t3");
4126
orc_program_add_temporary (p, 1, "t4");
4127
orc_program_add_temporary (p, 2, "t5");
4128
orc_program_add_temporary (p, 2, "t6");
4129
orc_program_add_temporary (p, 2, "t7");
4130
orc_program_add_temporary (p, 2, "t8");
4132
orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_S1,
4134
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_T5,
4136
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_T6,
4138
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_T2,
4140
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T3, ORC_VAR_T4,
4142
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T7, ORC_VAR_T8,
4145
orc_program_compile (p);
4148
orc_once_mutex_unlock ();
4153
ex->arrays[ORC_VAR_D1] = d1;
4154
ex->arrays[ORC_VAR_S1] = (void *) s1;
4156
func = p->code_exec;
4162
/* cogorc_getline_ABGR */
4165
cogorc_getline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4169
orc_union32 *ORC_RESTRICT ptr0;
4170
const orc_union32 *ORC_RESTRICT ptr4;
4182
ptr0 = (orc_union32 *) d1;
4183
ptr4 = (orc_union32 *) s1;
4186
for (i = 0; i < n; i++) {
4193
var42.i = _src.x2[1];
4194
var43.i = _src.x2[0];
4213
_dest.x2[0] = var47;
4214
_dest.x2[1] = var44;
4220
_dest.x2[0] = var45;
4221
_dest.x2[1] = var46;
4227
_dest.x2[0] = var48.i;
4228
_dest.x2[1] = var49.i;
4239
_backup_cogorc_getline_ABGR (OrcExecutor * ORC_RESTRICT ex)
4243
orc_union32 *ORC_RESTRICT ptr0;
4244
const orc_union32 *ORC_RESTRICT ptr4;
4256
ptr0 = (orc_union32 *) ex->arrays[0];
4257
ptr4 = (orc_union32 *) ex->arrays[4];
4260
for (i = 0; i < n; i++) {
4267
var42.i = _src.x2[1];
4268
var43.i = _src.x2[0];
4287
_dest.x2[0] = var47;
4288
_dest.x2[1] = var44;
4294
_dest.x2[0] = var45;
4295
_dest.x2[1] = var46;
4301
_dest.x2[0] = var48.i;
4302
_dest.x2[1] = var49.i;
4312
cogorc_getline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4315
OrcExecutor _ex, *ex = &_ex;
4316
static volatile int p_inited = 0;
4317
static OrcProgram *p = 0;
4318
void (*func) (OrcExecutor *);
4321
orc_once_mutex_lock ();
4324
p = orc_program_new ();
4325
orc_program_set_name (p, "cogorc_getline_ABGR");
4326
orc_program_set_backup_function (p, _backup_cogorc_getline_ABGR);
4327
orc_program_add_destination (p, 4, "d1");
4328
orc_program_add_source (p, 4, "s1");
4329
orc_program_add_temporary (p, 1, "t1");
4330
orc_program_add_temporary (p, 1, "t2");
4331
orc_program_add_temporary (p, 1, "t3");
4332
orc_program_add_temporary (p, 1, "t4");
4333
orc_program_add_temporary (p, 2, "t5");
4334
orc_program_add_temporary (p, 2, "t6");
4335
orc_program_add_temporary (p, 2, "t7");
4336
orc_program_add_temporary (p, 2, "t8");
4338
orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_S1,
4340
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
4342
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T1, ORC_VAR_T6,
4344
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_T2,
4346
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T3, ORC_VAR_T4,
4348
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T7, ORC_VAR_T8,
4351
orc_program_compile (p);
4354
orc_once_mutex_unlock ();
4359
ex->arrays[ORC_VAR_D1] = d1;
4360
ex->arrays[ORC_VAR_S1] = (void *) s1;
4362
func = p->code_exec;
4368
/* cogorc_putline_ABGR */
4371
cogorc_putline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4375
orc_union32 *ORC_RESTRICT ptr0;
4376
const orc_union32 *ORC_RESTRICT ptr4;
4388
ptr0 = (orc_union32 *) d1;
4389
ptr4 = (orc_union32 *) s1;
4392
for (i = 0; i < n; i++) {
4399
var42.i = _src.x2[1];
4400
var43.i = _src.x2[0];
4419
_dest.x2[0] = var47;
4420
_dest.x2[1] = var44;
4426
_dest.x2[0] = var45;
4427
_dest.x2[1] = var46;
4433
_dest.x2[0] = var48.i;
4434
_dest.x2[1] = var49.i;
4445
_backup_cogorc_putline_ABGR (OrcExecutor * ORC_RESTRICT ex)
4449
orc_union32 *ORC_RESTRICT ptr0;
4450
const orc_union32 *ORC_RESTRICT ptr4;
4462
ptr0 = (orc_union32 *) ex->arrays[0];
4463
ptr4 = (orc_union32 *) ex->arrays[4];
4466
for (i = 0; i < n; i++) {
4473
var42.i = _src.x2[1];
4474
var43.i = _src.x2[0];
4493
_dest.x2[0] = var47;
4494
_dest.x2[1] = var44;
4500
_dest.x2[0] = var45;
4501
_dest.x2[1] = var46;
4507
_dest.x2[0] = var48.i;
4508
_dest.x2[1] = var49.i;
4518
cogorc_putline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4521
OrcExecutor _ex, *ex = &_ex;
4522
static volatile int p_inited = 0;
4523
static OrcProgram *p = 0;
4524
void (*func) (OrcExecutor *);
4527
orc_once_mutex_lock ();
4530
p = orc_program_new ();
4531
orc_program_set_name (p, "cogorc_putline_ABGR");
4532
orc_program_set_backup_function (p, _backup_cogorc_putline_ABGR);
4533
orc_program_add_destination (p, 4, "d1");
4534
orc_program_add_source (p, 4, "s1");
4535
orc_program_add_temporary (p, 1, "t1");
4536
orc_program_add_temporary (p, 1, "t2");
4537
orc_program_add_temporary (p, 1, "t3");
4538
orc_program_add_temporary (p, 1, "t4");
4539
orc_program_add_temporary (p, 2, "t5");
4540
orc_program_add_temporary (p, 2, "t6");
4541
orc_program_add_temporary (p, 2, "t7");
4542
orc_program_add_temporary (p, 2, "t8");
4544
orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_S1,
4546
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T8,
4548
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T7,
4550
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T6, ORC_VAR_T1, ORC_VAR_T4,
4552
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_T2,
4554
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T6, ORC_VAR_T5,
4557
orc_program_compile (p);
4560
orc_once_mutex_unlock ();
4565
ex->arrays[ORC_VAR_D1] = d1;
4566
ex->arrays[ORC_VAR_S1] = (void *) s1;
4568
func = p->code_exec;
4574
/* cogorc_getline_NV12 */
4577
cogorc_getline_NV12 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4578
const guint8 * ORC_RESTRICT s2, int n)
4581
orc_union64 *ORC_RESTRICT ptr0;
4582
const orc_union16 *ORC_RESTRICT ptr4;
4583
const orc_union16 *ORC_RESTRICT ptr5;
4592
ptr0 = (orc_union64 *) d1;
4593
ptr4 = (orc_union16 *) s1;
4594
ptr5 = (orc_union16 *) s2;
4597
var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
4598
var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
4600
for (i = 0; i < n; i++) {
4608
_dest.x2[0] = var34.i;
4609
_dest.x2[1] = var35.i;
4617
_dest.x2[0] = var36.x2[0];
4618
_dest.x2[1] = var37.x2[0];
4619
var40.x2[0] = _dest.i;
4623
_dest.x2[0] = var36.x2[1];
4624
_dest.x2[1] = var37.x2[1];
4625
var40.x2[1] = _dest.i;
4630
_dest.x2[0] = var40.x2[0];
4631
_dest.x2[1] = var39.x2[0];
4632
var38.x2[0] = _dest.i;
4636
_dest.x2[0] = var40.x2[1];
4637
_dest.x2[1] = var39.x2[1];
4638
var38.x2[1] = _dest.i;
4648
_backup_cogorc_getline_NV12 (OrcExecutor * ORC_RESTRICT ex)
4652
orc_union64 *ORC_RESTRICT ptr0;
4653
const orc_union16 *ORC_RESTRICT ptr4;
4654
const orc_union16 *ORC_RESTRICT ptr5;
4663
ptr0 = (orc_union64 *) ex->arrays[0];
4664
ptr4 = (orc_union16 *) ex->arrays[4];
4665
ptr5 = (orc_union16 *) ex->arrays[5];
4668
var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
4669
var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
4671
for (i = 0; i < n; i++) {
4679
_dest.x2[0] = var34.i;
4680
_dest.x2[1] = var35.i;
4688
_dest.x2[0] = var36.x2[0];
4689
_dest.x2[1] = var37.x2[0];
4690
var40.x2[0] = _dest.i;
4694
_dest.x2[0] = var36.x2[1];
4695
_dest.x2[1] = var37.x2[1];
4696
var40.x2[1] = _dest.i;
4701
_dest.x2[0] = var40.x2[0];
4702
_dest.x2[1] = var39.x2[0];
4703
var38.x2[0] = _dest.i;
4707
_dest.x2[0] = var40.x2[1];
4708
_dest.x2[1] = var39.x2[1];
4709
var38.x2[1] = _dest.i;
4718
cogorc_getline_NV12 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4719
const guint8 * ORC_RESTRICT s2, int n)
4721
OrcExecutor _ex, *ex = &_ex;
4722
static volatile int p_inited = 0;
4723
static OrcProgram *p = 0;
4724
void (*func) (OrcExecutor *);
4727
orc_once_mutex_lock ();
4730
p = orc_program_new ();
4731
orc_program_set_name (p, "cogorc_getline_NV12");
4732
orc_program_set_backup_function (p, _backup_cogorc_getline_NV12);
4733
orc_program_add_destination (p, 8, "d1");
4734
orc_program_add_source (p, 2, "s1");
4735
orc_program_add_source (p, 2, "s2");
4736
orc_program_add_constant (p, 1, 0x000000ff, "c1");
4737
orc_program_add_temporary (p, 4, "t1");
4738
orc_program_add_temporary (p, 4, "t2");
4740
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S2,
4742
orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_S1,
4744
orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
4747
orc_program_compile (p);
4750
orc_once_mutex_unlock ();
4755
ex->arrays[ORC_VAR_D1] = d1;
4756
ex->arrays[ORC_VAR_S1] = (void *) s1;
4757
ex->arrays[ORC_VAR_S2] = (void *) s2;
4759
func = p->code_exec;
4765
/* cogorc_putline_NV12 */
4768
cogorc_putline_NV12 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
4769
const guint8 * ORC_RESTRICT s1, int n)
4772
orc_union16 *ORC_RESTRICT ptr0;
4773
orc_union16 *ORC_RESTRICT ptr1;
4774
const orc_union64 *ORC_RESTRICT ptr4;
4783
ptr0 = (orc_union16 *) d1;
4784
ptr1 = (orc_union16 *) d2;
4785
ptr4 = (orc_union64 *) s1;
4788
for (i = 0; i < n; i++) {
4794
_src.i = var36.x2[0];
4795
var39.x2[0] = _src.x2[1];
4796
var40.x2[0] = _src.x2[0];
4800
_src.i = var36.x2[1];
4801
var39.x2[1] = _src.x2[1];
4802
var40.x2[1] = _src.x2[0];
4807
_src.i = var40.x2[0];
4808
var37.x2[0] = _src.x2[1];
4812
_src.i = var40.x2[1];
4813
var37.x2[1] = _src.x2[1];
4821
var41.i = _src.x2[1];
4822
var42.i = _src.x2[0];
4825
var38.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
4826
var38.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
4835
_backup_cogorc_putline_NV12 (OrcExecutor * ORC_RESTRICT ex)
4839
orc_union16 *ORC_RESTRICT ptr0;
4840
orc_union16 *ORC_RESTRICT ptr1;
4841
const orc_union64 *ORC_RESTRICT ptr4;
4850
ptr0 = (orc_union16 *) ex->arrays[0];
4851
ptr1 = (orc_union16 *) ex->arrays[1];
4852
ptr4 = (orc_union64 *) ex->arrays[4];
4855
for (i = 0; i < n; i++) {
4861
_src.i = var36.x2[0];
4862
var39.x2[0] = _src.x2[1];
4863
var40.x2[0] = _src.x2[0];
4867
_src.i = var36.x2[1];
4868
var39.x2[1] = _src.x2[1];
4869
var40.x2[1] = _src.x2[0];
4874
_src.i = var40.x2[0];
4875
var37.x2[0] = _src.x2[1];
4879
_src.i = var40.x2[1];
4880
var37.x2[1] = _src.x2[1];
4888
var41.i = _src.x2[1];
4889
var42.i = _src.x2[0];
4892
var38.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
4893
var38.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
4901
cogorc_putline_NV12 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
4902
const guint8 * ORC_RESTRICT s1, int n)
4904
OrcExecutor _ex, *ex = &_ex;
4905
static volatile int p_inited = 0;
4906
static OrcProgram *p = 0;
4907
void (*func) (OrcExecutor *);
4910
orc_once_mutex_lock ();
4913
p = orc_program_new ();
4914
orc_program_set_name (p, "cogorc_putline_NV12");
4915
orc_program_set_backup_function (p, _backup_cogorc_putline_NV12);
4916
orc_program_add_destination (p, 2, "d1");
4917
orc_program_add_destination (p, 2, "d2");
4918
orc_program_add_source (p, 8, "s1");
4919
orc_program_add_temporary (p, 4, "t1");
4920
orc_program_add_temporary (p, 4, "t2");
4921
orc_program_add_temporary (p, 2, "t3");
4922
orc_program_add_temporary (p, 2, "t4");
4924
orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
4926
orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
4927
ORC_VAR_D1, ORC_VAR_D1);
4928
orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
4930
orc_program_append_2 (p, "avgub", 1, ORC_VAR_D2, ORC_VAR_T3, ORC_VAR_T4,
4933
orc_program_compile (p);
4936
orc_once_mutex_unlock ();
4941
ex->arrays[ORC_VAR_D1] = d1;
4942
ex->arrays[ORC_VAR_D2] = d2;
4943
ex->arrays[ORC_VAR_S1] = (void *) s1;
4945
func = p->code_exec;
4951
/* cogorc_getline_NV21 */
4954
cogorc_getline_NV21 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4955
const guint8 * ORC_RESTRICT s2, int n)
4958
orc_union64 *ORC_RESTRICT ptr0;
4959
const orc_union16 *ORC_RESTRICT ptr4;
4960
const orc_union16 *ORC_RESTRICT ptr5;
4969
ptr0 = (orc_union64 *) d1;
4970
ptr4 = (orc_union16 *) s1;
4971
ptr5 = (orc_union16 *) s2;
4974
var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
4975
var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
4977
for (i = 0; i < n; i++) {
4981
var39.i = ORC_SWAP_W (var35.i);
4985
_dest.x2[0] = var39.i;
4986
_dest.x2[1] = var39.i;
4994
_dest.x2[0] = var36.x2[0];
4995
_dest.x2[1] = var37.x2[0];
4996
var41.x2[0] = _dest.i;
5000
_dest.x2[0] = var36.x2[1];
5001
_dest.x2[1] = var37.x2[1];
5002
var41.x2[1] = _dest.i;
5007
_dest.x2[0] = var41.x2[0];
5008
_dest.x2[1] = var40.x2[0];
5009
var38.x2[0] = _dest.i;
5013
_dest.x2[0] = var41.x2[1];
5014
_dest.x2[1] = var40.x2[1];
5015
var38.x2[1] = _dest.i;
5025
_backup_cogorc_getline_NV21 (OrcExecutor * ORC_RESTRICT ex)
5029
orc_union64 *ORC_RESTRICT ptr0;
5030
const orc_union16 *ORC_RESTRICT ptr4;
5031
const orc_union16 *ORC_RESTRICT ptr5;
5040
ptr0 = (orc_union64 *) ex->arrays[0];
5041
ptr4 = (orc_union16 *) ex->arrays[4];
5042
ptr5 = (orc_union16 *) ex->arrays[5];
5045
var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
5046
var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
5048
for (i = 0; i < n; i++) {
5052
var39.i = ORC_SWAP_W (var35.i);
5056
_dest.x2[0] = var39.i;
5057
_dest.x2[1] = var39.i;
5065
_dest.x2[0] = var36.x2[0];
5066
_dest.x2[1] = var37.x2[0];
5067
var41.x2[0] = _dest.i;
5071
_dest.x2[0] = var36.x2[1];
5072
_dest.x2[1] = var37.x2[1];
5073
var41.x2[1] = _dest.i;
5078
_dest.x2[0] = var41.x2[0];
5079
_dest.x2[1] = var40.x2[0];
5080
var38.x2[0] = _dest.i;
5084
_dest.x2[0] = var41.x2[1];
5085
_dest.x2[1] = var40.x2[1];
5086
var38.x2[1] = _dest.i;
5095
cogorc_getline_NV21 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
5096
const guint8 * ORC_RESTRICT s2, int n)
5098
OrcExecutor _ex, *ex = &_ex;
5099
static volatile int p_inited = 0;
5100
static OrcProgram *p = 0;
5101
void (*func) (OrcExecutor *);
5104
orc_once_mutex_lock ();
5107
p = orc_program_new ();
5108
orc_program_set_name (p, "cogorc_getline_NV21");
5109
orc_program_set_backup_function (p, _backup_cogorc_getline_NV21);
5110
orc_program_add_destination (p, 8, "d1");
5111
orc_program_add_source (p, 2, "s1");
5112
orc_program_add_source (p, 2, "s2");
5113
orc_program_add_constant (p, 1, 0x000000ff, "c1");
5114
orc_program_add_temporary (p, 2, "t1");
5115
orc_program_add_temporary (p, 4, "t2");
5116
orc_program_add_temporary (p, 4, "t3");
5118
orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_D1,
5120
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
5122
orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
5124
orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
5127
orc_program_compile (p);
5130
orc_once_mutex_unlock ();
5135
ex->arrays[ORC_VAR_D1] = d1;
5136
ex->arrays[ORC_VAR_S1] = (void *) s1;
5137
ex->arrays[ORC_VAR_S2] = (void *) s2;
5139
func = p->code_exec;
5145
/* cogorc_putline_NV21 */
5148
cogorc_putline_NV21 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
5149
const guint8 * ORC_RESTRICT s1, int n)
5152
orc_union16 *ORC_RESTRICT ptr0;
5153
orc_union16 *ORC_RESTRICT ptr1;
5154
const orc_union64 *ORC_RESTRICT ptr4;
5164
ptr0 = (orc_union16 *) d1;
5165
ptr1 = (orc_union16 *) d2;
5166
ptr4 = (orc_union64 *) s1;
5169
for (i = 0; i < n; i++) {
5175
_src.i = var37.x2[0];
5176
var40.x2[0] = _src.x2[1];
5177
var41.x2[0] = _src.x2[0];
5181
_src.i = var37.x2[1];
5182
var40.x2[1] = _src.x2[1];
5183
var41.x2[1] = _src.x2[0];
5188
_src.i = var41.x2[0];
5189
var38.x2[0] = _src.x2[1];
5193
_src.i = var41.x2[1];
5194
var38.x2[1] = _src.x2[1];
5202
var42.i = _src.x2[1];
5203
var43.i = _src.x2[0];
5206
var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
5207
var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
5209
var39.i = ORC_SWAP_W (var44.i);
5218
_backup_cogorc_putline_NV21 (OrcExecutor * ORC_RESTRICT ex)
5222
orc_union16 *ORC_RESTRICT ptr0;
5223
orc_union16 *ORC_RESTRICT ptr1;
5224
const orc_union64 *ORC_RESTRICT ptr4;
5234
ptr0 = (orc_union16 *) ex->arrays[0];
5235
ptr1 = (orc_union16 *) ex->arrays[1];
5236
ptr4 = (orc_union64 *) ex->arrays[4];
5239
for (i = 0; i < n; i++) {
5245
_src.i = var37.x2[0];
5246
var40.x2[0] = _src.x2[1];
5247
var41.x2[0] = _src.x2[0];
5251
_src.i = var37.x2[1];
5252
var40.x2[1] = _src.x2[1];
5253
var41.x2[1] = _src.x2[0];
5258
_src.i = var41.x2[0];
5259
var38.x2[0] = _src.x2[1];
5263
_src.i = var41.x2[1];
5264
var38.x2[1] = _src.x2[1];
5272
var42.i = _src.x2[1];
5273
var43.i = _src.x2[0];
5276
var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
5277
var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
5279
var39.i = ORC_SWAP_W (var44.i);
5287
cogorc_putline_NV21 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
5288
const guint8 * ORC_RESTRICT s1, int n)
5290
OrcExecutor _ex, *ex = &_ex;
5291
static volatile int p_inited = 0;
5292
static OrcProgram *p = 0;
5293
void (*func) (OrcExecutor *);
5296
orc_once_mutex_lock ();
5299
p = orc_program_new ();
5300
orc_program_set_name (p, "cogorc_putline_NV21");
5301
orc_program_set_backup_function (p, _backup_cogorc_putline_NV21);
5302
orc_program_add_destination (p, 2, "d1");
5303
orc_program_add_destination (p, 2, "d2");
5304
orc_program_add_source (p, 8, "s1");
5305
orc_program_add_temporary (p, 4, "t1");
5306
orc_program_add_temporary (p, 4, "t2");
5307
orc_program_add_temporary (p, 2, "t3");
5308
orc_program_add_temporary (p, 2, "t4");
5309
orc_program_add_temporary (p, 2, "t5");
5311
orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
5313
orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
5314
ORC_VAR_D1, ORC_VAR_D1);
5315
orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
5317
orc_program_append_2 (p, "avgub", 1, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_T4,
5319
orc_program_append_2 (p, "swapw", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_D1,
5322
orc_program_compile (p);
5325
orc_once_mutex_unlock ();
5330
ex->arrays[ORC_VAR_D1] = d1;
5331
ex->arrays[ORC_VAR_D2] = d2;
5332
ex->arrays[ORC_VAR_S1] = (void *) s1;
5334
func = p->code_exec;
5340
/* cogorc_getline_A420 */
5343
cogorc_getline_A420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
5344
const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
5345
const guint8 * ORC_RESTRICT s4, int n)
5348
orc_union32 *ORC_RESTRICT ptr0;
5349
const orc_int8 *ORC_RESTRICT ptr4;
5350
const orc_int8 *ORC_RESTRICT ptr5;
5351
const orc_int8 *ORC_RESTRICT ptr6;
5352
const orc_int8 *ORC_RESTRICT ptr7;
5361
ptr0 = (orc_union32 *) d1;
5362
ptr4 = (orc_int8 *) s1;
5363
ptr5 = (orc_int8 *) s2;
5364
ptr6 = (orc_int8 *) s3;
5365
ptr7 = (orc_int8 *) s4;
5368
for (i = 0; i < n; i++) {
5370
var39 = ptr5[i >> 1];
5372
var40 = ptr6[i >> 1];
5376
_dest.x2[0] = var39;
5377
_dest.x2[1] = var40;
5387
_dest.x2[0] = var36;
5388
_dest.x2[1] = var37;
5394
_dest.x2[0] = var42.i;
5395
_dest.x2[1] = var41.i;
5406
_backup_cogorc_getline_A420 (OrcExecutor * ORC_RESTRICT ex)
5410
orc_union32 *ORC_RESTRICT ptr0;
5411
const orc_int8 *ORC_RESTRICT ptr4;
5412
const orc_int8 *ORC_RESTRICT ptr5;
5413
const orc_int8 *ORC_RESTRICT ptr6;
5414
const orc_int8 *ORC_RESTRICT ptr7;
5423
ptr0 = (orc_union32 *) ex->arrays[0];
5424
ptr4 = (orc_int8 *) ex->arrays[4];
5425
ptr5 = (orc_int8 *) ex->arrays[5];
5426
ptr6 = (orc_int8 *) ex->arrays[6];
5427
ptr7 = (orc_int8 *) ex->arrays[7];
5430
for (i = 0; i < n; i++) {
5432
var39 = ptr5[i >> 1];
5434
var40 = ptr6[i >> 1];
5438
_dest.x2[0] = var39;
5439
_dest.x2[1] = var40;
5449
_dest.x2[0] = var36;
5450
_dest.x2[1] = var37;
5456
_dest.x2[0] = var42.i;
5457
_dest.x2[1] = var41.i;
5467
cogorc_getline_A420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
5468
const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
5469
const guint8 * ORC_RESTRICT s4, int n)
5471
OrcExecutor _ex, *ex = &_ex;
5472
static volatile int p_inited = 0;
5473
static OrcProgram *p = 0;
5474
void (*func) (OrcExecutor *);
5477
orc_once_mutex_lock ();
5480
p = orc_program_new ();
5481
orc_program_set_name (p, "cogorc_getline_A420");
5482
orc_program_set_backup_function (p, _backup_cogorc_getline_A420);
5483
orc_program_add_destination (p, 4, "d1");
5484
orc_program_add_source (p, 1, "s1");
5485
orc_program_add_source (p, 1, "s2");
5486
orc_program_add_source (p, 1, "s3");
5487
orc_program_add_source (p, 1, "s4");
5488
orc_program_add_temporary (p, 2, "t1");
5489
orc_program_add_temporary (p, 2, "t2");
5490
orc_program_add_temporary (p, 1, "t3");
5491
orc_program_add_temporary (p, 1, "t4");
5493
orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T3, ORC_VAR_S2,
5494
ORC_VAR_D1, ORC_VAR_D1);
5495
orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S3,
5496
ORC_VAR_D1, ORC_VAR_D1);
5497
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
5499
orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_S4, ORC_VAR_S1,
5501
orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
5504
orc_program_compile (p);
5507
orc_once_mutex_unlock ();
5512
ex->arrays[ORC_VAR_D1] = d1;
5513
ex->arrays[ORC_VAR_S1] = (void *) s1;
5514
ex->arrays[ORC_VAR_S2] = (void *) s2;
5515
ex->arrays[ORC_VAR_S3] = (void *) s3;
5516
ex->arrays[ORC_VAR_S4] = (void *) s4;
5518
func = p->code_exec;
5524
/* cogorc_putline_A420 */
5527
cogorc_putline_A420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
5528
guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
5529
const guint8 * ORC_RESTRICT s1, int n)
5532
orc_union16 *ORC_RESTRICT ptr0;
5533
orc_int8 *ORC_RESTRICT ptr1;
5534
orc_int8 *ORC_RESTRICT ptr2;
5535
orc_union16 *ORC_RESTRICT ptr3;
5536
const orc_union64 *ORC_RESTRICT ptr4;
5551
ptr0 = (orc_union16 *) d1;
5552
ptr1 = (orc_int8 *) d2;
5553
ptr2 = (orc_int8 *) d3;
5554
ptr3 = (orc_union16 *) d4;
5555
ptr4 = (orc_union64 *) s1;
5558
for (i = 0; i < n; i++) {
5564
_src.i = var38.x2[0];
5565
var43.x2[0] = _src.x2[1];
5566
var44.x2[0] = _src.x2[0];
5570
_src.i = var38.x2[1];
5571
var43.x2[1] = _src.x2[1];
5572
var44.x2[1] = _src.x2[0];
5577
_src.i = var44.x2[0];
5578
var39.x2[0] = _src.x2[1];
5582
_src.i = var44.x2[1];
5583
var39.x2[1] = _src.x2[1];
5590
_src.i = var44.x2[0];
5591
var40.x2[0] = _src.x2[0];
5595
_src.i = var44.x2[1];
5596
var40.x2[1] = _src.x2[0];
5603
_src.i = var43.x2[0];
5604
var45.x2[0] = _src.x2[1];
5605
var46.x2[0] = _src.x2[0];
5609
_src.i = var43.x2[1];
5610
var45.x2[1] = _src.x2[1];
5611
var46.x2[1] = _src.x2[0];
5621
var41 = ((orc_uint8) var47 + (orc_uint8) var48 + 1) >> 1;
5632
var42 = ((orc_uint8) var49 + (orc_uint8) var50 + 1) >> 1;
5641
_backup_cogorc_putline_A420 (OrcExecutor * ORC_RESTRICT ex)
5645
orc_union16 *ORC_RESTRICT ptr0;
5646
orc_int8 *ORC_RESTRICT ptr1;
5647
orc_int8 *ORC_RESTRICT ptr2;
5648
orc_union16 *ORC_RESTRICT ptr3;
5649
const orc_union64 *ORC_RESTRICT ptr4;
5664
ptr0 = (orc_union16 *) ex->arrays[0];
5665
ptr1 = (orc_int8 *) ex->arrays[1];
5666
ptr2 = (orc_int8 *) ex->arrays[2];
5667
ptr3 = (orc_union16 *) ex->arrays[3];
5668
ptr4 = (orc_union64 *) ex->arrays[4];
5671
for (i = 0; i < n; i++) {
5677
_src.i = var38.x2[0];
5678
var43.x2[0] = _src.x2[1];
5679
var44.x2[0] = _src.x2[0];
5683
_src.i = var38.x2[1];
5684
var43.x2[1] = _src.x2[1];
5685
var44.x2[1] = _src.x2[0];
5690
_src.i = var44.x2[0];
5691
var39.x2[0] = _src.x2[1];
5695
_src.i = var44.x2[1];
5696
var39.x2[1] = _src.x2[1];
5703
_src.i = var44.x2[0];
5704
var40.x2[0] = _src.x2[0];
5708
_src.i = var44.x2[1];
5709
var40.x2[1] = _src.x2[0];
5716
_src.i = var43.x2[0];
5717
var45.x2[0] = _src.x2[1];
5718
var46.x2[0] = _src.x2[0];
5722
_src.i = var43.x2[1];
5723
var45.x2[1] = _src.x2[1];
5724
var46.x2[1] = _src.x2[0];
5734
var41 = ((orc_uint8) var47 + (orc_uint8) var48 + 1) >> 1;
5745
var42 = ((orc_uint8) var49 + (orc_uint8) var50 + 1) >> 1;
5753
cogorc_putline_A420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
5754
guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
5755
const guint8 * ORC_RESTRICT s1, int n)
5757
OrcExecutor _ex, *ex = &_ex;
5758
static volatile int p_inited = 0;
5759
static OrcProgram *p = 0;
5760
void (*func) (OrcExecutor *);
5763
orc_once_mutex_lock ();
5766
p = orc_program_new ();
5767
orc_program_set_name (p, "cogorc_putline_A420");
5768
orc_program_set_backup_function (p, _backup_cogorc_putline_A420);
5769
orc_program_add_destination (p, 2, "d1");
5770
orc_program_add_destination (p, 1, "d2");
5771
orc_program_add_destination (p, 1, "d3");
5772
orc_program_add_destination (p, 2, "d4");
5773
orc_program_add_source (p, 8, "s1");
5774
orc_program_add_temporary (p, 4, "t1");
5775
orc_program_add_temporary (p, 4, "t2");
5776
orc_program_add_temporary (p, 2, "t3");
5777
orc_program_add_temporary (p, 2, "t4");
5778
orc_program_add_temporary (p, 1, "t5");
5779
orc_program_add_temporary (p, 1, "t6");
5781
orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
5783
orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
5784
ORC_VAR_D1, ORC_VAR_D1);
5785
orc_program_append_2 (p, "select0wb", 1, ORC_VAR_D4, ORC_VAR_T1,
5786
ORC_VAR_D1, ORC_VAR_D1);
5787
orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
5789
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T3,
5791
orc_program_append_2 (p, "avgub", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_T6,
5793
orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T4,
5795
orc_program_append_2 (p, "avgub", 0, ORC_VAR_D3, ORC_VAR_T5, ORC_VAR_T6,
5798
orc_program_compile (p);
5801
orc_once_mutex_unlock ();
5806
ex->arrays[ORC_VAR_D1] = d1;
5807
ex->arrays[ORC_VAR_D2] = d2;
5808
ex->arrays[ORC_VAR_D3] = d3;
5809
ex->arrays[ORC_VAR_D4] = d4;
5810
ex->arrays[ORC_VAR_S1] = (void *) s1;
5812
func = p->code_exec;
5818
/* orc_resample_bilinear_u32 */
5821
orc_resample_bilinear_u32 (guint8 * ORC_RESTRICT d1,
5822
const guint8 * ORC_RESTRICT s1, int p1, int p2, int n)
5825
orc_union32 *ORC_RESTRICT ptr0;
5826
const orc_union32 *ORC_RESTRICT ptr4;
5829
ptr0 = (orc_union32 *) d1;
5830
ptr4 = (orc_union32 *) s1;
5833
for (i = 0; i < n; i++) {
5836
int tmp = p1 + i * p2;
5837
orc_union32 a = ptr4[tmp >> 16];
5838
orc_union32 b = ptr4[(tmp >> 16) + 1];
5840
((orc_uint8) a.x4[0] * (256 - ((tmp >> 8) & 0xff)) +
5841
(orc_uint8) b.x4[0] * ((tmp >> 8) & 0xff)) >> 8;
5843
((orc_uint8) a.x4[1] * (256 - ((tmp >> 8) & 0xff)) +
5844
(orc_uint8) b.x4[1] * ((tmp >> 8) & 0xff)) >> 8;
5846
((orc_uint8) a.x4[2] * (256 - ((tmp >> 8) & 0xff)) +
5847
(orc_uint8) b.x4[2] * ((tmp >> 8) & 0xff)) >> 8;
5849
((orc_uint8) a.x4[3] * (256 - ((tmp >> 8) & 0xff)) +
5850
(orc_uint8) b.x4[3] * ((tmp >> 8) & 0xff)) >> 8;
5860
_backup_orc_resample_bilinear_u32 (OrcExecutor * ORC_RESTRICT ex)
5864
orc_union32 *ORC_RESTRICT ptr0;
5865
const orc_union32 *ORC_RESTRICT ptr4;
5868
ptr0 = (orc_union32 *) ex->arrays[0];
5869
ptr4 = (orc_union32 *) ex->arrays[4];
5872
for (i = 0; i < n; i++) {
5875
int tmp = ex->params[24] + i * ex->params[25];
5876
orc_union32 a = ptr4[tmp >> 16];
5877
orc_union32 b = ptr4[(tmp >> 16) + 1];
5879
((orc_uint8) a.x4[0] * (256 - ((tmp >> 8) & 0xff)) +
5880
(orc_uint8) b.x4[0] * ((tmp >> 8) & 0xff)) >> 8;
5882
((orc_uint8) a.x4[1] * (256 - ((tmp >> 8) & 0xff)) +
5883
(orc_uint8) b.x4[1] * ((tmp >> 8) & 0xff)) >> 8;
5885
((orc_uint8) a.x4[2] * (256 - ((tmp >> 8) & 0xff)) +
5886
(orc_uint8) b.x4[2] * ((tmp >> 8) & 0xff)) >> 8;
5888
((orc_uint8) a.x4[3] * (256 - ((tmp >> 8) & 0xff)) +
5889
(orc_uint8) b.x4[3] * ((tmp >> 8) & 0xff)) >> 8;
5898
orc_resample_bilinear_u32 (guint8 * ORC_RESTRICT d1,
5899
const guint8 * ORC_RESTRICT s1, int p1, int p2, int n)
5901
OrcExecutor _ex, *ex = &_ex;
5902
static volatile int p_inited = 0;
5903
static OrcProgram *p = 0;
5904
void (*func) (OrcExecutor *);
5907
orc_once_mutex_lock ();
5910
p = orc_program_new ();
5911
orc_program_set_name (p, "orc_resample_bilinear_u32");
5912
orc_program_set_backup_function (p, _backup_orc_resample_bilinear_u32);
5913
orc_program_add_destination (p, 4, "d1");
5914
orc_program_add_source (p, 4, "s1");
5915
orc_program_add_parameter (p, 4, "p1");
5916
orc_program_add_parameter (p, 4, "p2");
5918
orc_program_append_2 (p, "ldreslinl", 0, ORC_VAR_D1, ORC_VAR_S1,
5919
ORC_VAR_P1, ORC_VAR_P2);
5921
orc_program_compile (p);
5924
orc_once_mutex_unlock ();
5929
ex->arrays[ORC_VAR_D1] = d1;
5930
ex->arrays[ORC_VAR_S1] = (void *) s1;
5931
ex->params[ORC_VAR_P1] = p1;
5932
ex->params[ORC_VAR_P2] = p2;
5934
func = p->code_exec;
5940
/* orc_merge_linear_u8 */
5943
orc_merge_linear_u8 (orc_uint8 * ORC_RESTRICT d1,
5944
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
5948
orc_int8 *ORC_RESTRICT ptr0;
5949
const orc_int8 *ORC_RESTRICT ptr4;
5950
const orc_int8 *ORC_RESTRICT ptr5;
5964
ptr0 = (orc_int8 *) d1;
5965
ptr4 = (orc_int8 *) s1;
5966
ptr5 = (orc_int8 *) s2;
5971
var39.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
5973
for (i = 0; i < n; i++) {
5979
var42.i = (orc_uint8) var36;
5983
var43.i = (orc_uint8) var37;
5985
var44.i = var43.i - var42.i;
5987
var45.i = (var44.i * var38.i) & 0xffff;
5989
var46.i = var45.i + var39.i;
5991
var47 = ((orc_uint16) var46.i) >> 8;
5993
var40 = var47 + var41;
6002
_backup_orc_merge_linear_u8 (OrcExecutor * ORC_RESTRICT ex)
6006
orc_int8 *ORC_RESTRICT ptr0;
6007
const orc_int8 *ORC_RESTRICT ptr4;
6008
const orc_int8 *ORC_RESTRICT ptr5;
6022
ptr0 = (orc_int8 *) ex->arrays[0];
6023
ptr4 = (orc_int8 *) ex->arrays[4];
6024
ptr5 = (orc_int8 *) ex->arrays[5];
6027
var38.i = ex->params[24];
6029
var39.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
6031
for (i = 0; i < n; i++) {
6037
var42.i = (orc_uint8) var36;
6041
var43.i = (orc_uint8) var37;
6043
var44.i = var43.i - var42.i;
6045
var45.i = (var44.i * var38.i) & 0xffff;
6047
var46.i = var45.i + var39.i;
6049
var47 = ((orc_uint16) var46.i) >> 8;
6051
var40 = var47 + var41;
6059
orc_merge_linear_u8 (orc_uint8 * ORC_RESTRICT d1,
6060
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
6063
OrcExecutor _ex, *ex = &_ex;
6064
static volatile int p_inited = 0;
6065
static OrcProgram *p = 0;
6066
void (*func) (OrcExecutor *);
6069
orc_once_mutex_lock ();
6072
p = orc_program_new ();
6073
orc_program_set_name (p, "orc_merge_linear_u8");
6074
orc_program_set_backup_function (p, _backup_orc_merge_linear_u8);
6075
orc_program_add_destination (p, 1, "d1");
6076
orc_program_add_source (p, 1, "s1");
6077
orc_program_add_source (p, 1, "s2");
6078
orc_program_add_constant (p, 4, 0x00000080, "c1");
6079
orc_program_add_parameter (p, 1, "p1");
6080
orc_program_add_temporary (p, 2, "t1");
6081
orc_program_add_temporary (p, 2, "t2");
6082
orc_program_add_temporary (p, 1, "t3");
6083
orc_program_add_temporary (p, 1, "t4");
6085
orc_program_append_2 (p, "loadb", 0, ORC_VAR_T3, ORC_VAR_S1, ORC_VAR_D1,
6087
orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6089
orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
6091
orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T1,
6093
orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P1,
6095
orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
6097
orc_program_append_2 (p, "convhwb", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_D1,
6099
orc_program_append_2 (p, "addb", 0, ORC_VAR_D1, ORC_VAR_T4, ORC_VAR_T3,
6102
orc_program_compile (p);
6105
orc_once_mutex_unlock ();
6110
ex->arrays[ORC_VAR_D1] = d1;
6111
ex->arrays[ORC_VAR_S1] = (void *) s1;
6112
ex->arrays[ORC_VAR_S2] = (void *) s2;
6113
ex->params[ORC_VAR_P1] = p1;
6115
func = p->code_exec;