2 /* autogenerated from gstcolorspaceorc.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 cogorc_memcpy_2d (guint8 * ORC_RESTRICT d1, int d1_stride,
86 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
87 void cogorc_downsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
88 const guint8 * ORC_RESTRICT s1, int n);
89 void cogorc_downsample_horiz_cosite_3tap (guint8 * ORC_RESTRICT d1,
90 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
91 void cogorc_downsample_420_jpeg (guint8 * ORC_RESTRICT d1,
92 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
93 void cogorc_downsample_vert_halfsite_2tap (guint8 * ORC_RESTRICT d1,
94 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
95 void cogorc_downsample_vert_cosite_3tap (guint8 * ORC_RESTRICT d1,
96 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
97 const guint8 * ORC_RESTRICT s3, int n);
98 void cogorc_downsample_vert_halfsite_4tap (guint8 * ORC_RESTRICT d1,
99 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
100 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
101 void cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
102 const guint8 * ORC_RESTRICT s1, int n);
103 void cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
104 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
105 void cogorc_upsample_vert_avgub (guint8 * ORC_RESTRICT d1,
106 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
107 void orc_unpack_yuyv_y (guint8 * ORC_RESTRICT d1,
108 const guint8 * ORC_RESTRICT s1, int n);
109 void orc_unpack_yuyv_u (guint8 * ORC_RESTRICT d1,
110 const guint8 * ORC_RESTRICT s1, int n);
111 void orc_unpack_yuyv_v (guint8 * ORC_RESTRICT d1,
112 const guint8 * ORC_RESTRICT s1, int n);
113 void orc_pack_yuyv (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
114 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
115 void orc_unpack_uyvy_y (guint8 * ORC_RESTRICT d1,
116 const guint8 * ORC_RESTRICT s1, int n);
117 void orc_unpack_uyvy_u (guint8 * ORC_RESTRICT d1,
118 const guint8 * ORC_RESTRICT s1, int n);
119 void orc_unpack_uyvy_v (guint8 * ORC_RESTRICT d1,
120 const guint8 * ORC_RESTRICT s1, int n);
121 void orc_pack_uyvy (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
122 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
123 void orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
124 const guint8 * ORC_RESTRICT s2, int p1, int p2, int p3, int n);
125 void orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1,
126 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1,
128 void orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1,
129 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1,
131 void orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
132 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
133 int p2, int p3, int p4, int n);
134 void orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1,
135 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
136 const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int n);
137 void orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1,
138 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
139 const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
141 void orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1,
142 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
143 const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
145 void orc_pack_123x (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
146 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
148 void orc_pack_x123 (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
149 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
151 void cogorc_combine2_u8 (guint8 * ORC_RESTRICT d1,
152 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1,
154 void cogorc_convert_I420_UYVY (guint8 * ORC_RESTRICT d1,
155 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
156 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
157 const guint8 * ORC_RESTRICT s4, int n);
158 void cogorc_convert_I420_YUY2 (guint8 * ORC_RESTRICT d1,
159 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
160 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
161 const guint8 * ORC_RESTRICT s4, int n);
162 void cogorc_convert_I420_AYUV (guint8 * ORC_RESTRICT d1,
163 guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
164 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
165 const guint8 * ORC_RESTRICT s4, int n);
166 void cogorc_convert_YUY2_I420 (guint8 * ORC_RESTRICT d1,
167 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
168 guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1,
169 const guint8 * ORC_RESTRICT s2, int n);
170 void cogorc_convert_UYVY_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
171 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
172 void cogorc_planar_chroma_420_422 (guint8 * ORC_RESTRICT d1, int d1_stride,
173 guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1,
174 int s1_stride, int n, int m);
175 void cogorc_planar_chroma_420_444 (guint8 * ORC_RESTRICT d1, int d1_stride,
176 guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1,
177 int s1_stride, int n, int m);
178 void cogorc_planar_chroma_422_444 (guint8 * ORC_RESTRICT d1, int d1_stride,
179 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
180 void cogorc_planar_chroma_444_422 (guint8 * ORC_RESTRICT d1, int d1_stride,
181 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
182 void cogorc_planar_chroma_444_420 (guint8 * ORC_RESTRICT d1, int d1_stride,
183 const guint8 * ORC_RESTRICT s1, int s1_stride,
184 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
185 void cogorc_planar_chroma_422_420 (guint8 * ORC_RESTRICT d1, int d1_stride,
186 const guint8 * ORC_RESTRICT s1, int s1_stride,
187 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
188 void cogorc_convert_YUY2_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
189 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
190 void cogorc_convert_UYVY_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
191 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
192 void cogorc_convert_YUY2_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
193 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
194 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
195 void cogorc_convert_UYVY_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
196 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
197 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
198 void cogorc_convert_YUY2_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
199 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
200 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
201 void cogorc_convert_UYVY_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
202 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
203 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
204 void cogorc_convert_UYVY_I420 (guint8 * ORC_RESTRICT d1,
205 guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
206 guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1,
207 const guint8 * ORC_RESTRICT s2, int n);
208 void cogorc_convert_AYUV_I420 (guint8 * ORC_RESTRICT d1, int d1_stride,
209 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
210 int d3_stride, guint8 * ORC_RESTRICT d4, int d4_stride,
211 const guint8 * ORC_RESTRICT s1, int s1_stride,
212 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
213 void cogorc_convert_AYUV_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
214 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
215 void cogorc_convert_AYUV_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
216 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
217 void cogorc_convert_AYUV_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
218 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
219 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
220 void cogorc_convert_AYUV_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
221 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
222 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
223 void cogorc_convert_Y42B_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
224 const guint8 * ORC_RESTRICT s1, int s1_stride,
225 const guint8 * ORC_RESTRICT s2, int s2_stride,
226 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
227 void cogorc_convert_Y42B_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
228 const guint8 * ORC_RESTRICT s1, int s1_stride,
229 const guint8 * ORC_RESTRICT s2, int s2_stride,
230 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
231 void cogorc_convert_Y42B_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
232 const guint8 * ORC_RESTRICT s1, int s1_stride,
233 const guint8 * ORC_RESTRICT s2, int s2_stride,
234 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
235 void cogorc_convert_Y444_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
236 const guint8 * ORC_RESTRICT s1, int s1_stride,
237 const guint8 * ORC_RESTRICT s2, int s2_stride,
238 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
239 void cogorc_convert_Y444_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
240 const guint8 * ORC_RESTRICT s1, int s1_stride,
241 const guint8 * ORC_RESTRICT s2, int s2_stride,
242 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
243 void cogorc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
244 const guint8 * ORC_RESTRICT s1, int s1_stride,
245 const guint8 * ORC_RESTRICT s2, int s2_stride,
246 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
247 void cogorc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1, int d1_stride,
248 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
249 void cogorc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1, int d1_stride,
250 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
251 void cogorc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1, int d1_stride,
252 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
253 void cogorc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1, int d1_stride,
254 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
255 void cogorc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
256 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
257 const guint8 * ORC_RESTRICT s3, int n);
258 void cogorc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1,
259 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
260 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4,
261 const guint8 * ORC_RESTRICT s5, int n);
262 void cogorc_getline_I420 (guint8 * ORC_RESTRICT d1,
263 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
264 const guint8 * ORC_RESTRICT s3, int n);
265 void cogorc_getline_YUV9 (guint8 * ORC_RESTRICT d1,
266 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
267 const guint8 * ORC_RESTRICT s3, int n);
268 void cogorc_getline_YUY2 (guint8 * ORC_RESTRICT d1,
269 const guint8 * ORC_RESTRICT s1, int n);
270 void cogorc_getline_UYVY (guint8 * ORC_RESTRICT d1,
271 const guint8 * ORC_RESTRICT s1, int n);
272 void cogorc_getline_YVYU (guint8 * ORC_RESTRICT d1,
273 const guint8 * ORC_RESTRICT s1, int n);
274 void cogorc_getline_Y42B (guint8 * ORC_RESTRICT d1,
275 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
276 const guint8 * ORC_RESTRICT s3, int n);
277 void cogorc_getline_Y444 (guint8 * ORC_RESTRICT d1,
278 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
279 const guint8 * ORC_RESTRICT s3, int n);
280 void cogorc_getline_Y800 (guint8 * ORC_RESTRICT d1,
281 const guint8 * ORC_RESTRICT s1, int n);
282 void cogorc_getline_Y16 (guint8 * ORC_RESTRICT d1,
283 const guint8 * ORC_RESTRICT s1, int n);
284 void cogorc_getline_BGRA (guint8 * ORC_RESTRICT d1,
285 const guint8 * ORC_RESTRICT s1, int n);
286 void cogorc_getline_ABGR (guint8 * ORC_RESTRICT d1,
287 const guint8 * ORC_RESTRICT s1, int n);
288 void cogorc_getline_RGBA (guint8 * ORC_RESTRICT d1,
289 const guint8 * ORC_RESTRICT s1, int n);
290 void cogorc_getline_NV12 (guint8 * ORC_RESTRICT d1,
291 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
292 void cogorc_getline_NV21 (guint8 * ORC_RESTRICT d1,
293 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
294 void cogorc_getline_A420 (guint8 * ORC_RESTRICT d1,
295 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
296 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
297 void cogorc_putline_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
298 guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
299 void cogorc_putline_YUY2 (guint8 * ORC_RESTRICT d1,
300 const guint8 * ORC_RESTRICT s1, int n);
301 void cogorc_putline_YVYU (guint8 * ORC_RESTRICT d1,
302 const guint8 * ORC_RESTRICT s1, int n);
303 void cogorc_putline_UYVY (guint8 * ORC_RESTRICT d1,
304 const guint8 * ORC_RESTRICT s1, int n);
305 void cogorc_putline_Y42B (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
306 guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
307 void cogorc_putline_Y444 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
308 guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
309 void cogorc_putline_Y800 (guint8 * ORC_RESTRICT d1,
310 const guint8 * ORC_RESTRICT s1, int n);
311 void cogorc_putline_Y16 (guint8 * ORC_RESTRICT d1,
312 const guint8 * ORC_RESTRICT s1, int n);
313 void cogorc_putline_BGRA (guint8 * ORC_RESTRICT d1,
314 const guint8 * ORC_RESTRICT s1, int n);
315 void cogorc_putline_ABGR (guint8 * ORC_RESTRICT d1,
316 const guint8 * ORC_RESTRICT s1, int n);
317 void cogorc_putline_RGBA (guint8 * ORC_RESTRICT d1,
318 const guint8 * ORC_RESTRICT s1, int n);
319 void cogorc_putline_NV12 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
320 const guint8 * ORC_RESTRICT s1, int n);
321 void cogorc_putline_NV21 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
322 const guint8 * ORC_RESTRICT s1, int n);
323 void cogorc_putline_A420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
324 guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
325 const guint8 * ORC_RESTRICT s1, int n);
328 /* begin Orc C target preamble */
329 #define ORC_CLAMP(x,a,b) ((x)<(a) ? (a) : ((x)>(b) ? (b) : (x)))
330 #define ORC_ABS(a) ((a)<0 ? -(a) : (a))
331 #define ORC_MIN(a,b) ((a)<(b) ? (a) : (b))
332 #define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
333 #define ORC_SB_MAX 127
334 #define ORC_SB_MIN (-1-ORC_SB_MAX)
335 #define ORC_UB_MAX 255
337 #define ORC_SW_MAX 32767
338 #define ORC_SW_MIN (-1-ORC_SW_MAX)
339 #define ORC_UW_MAX 65535
341 #define ORC_SL_MAX 2147483647
342 #define ORC_SL_MIN (-1-ORC_SL_MAX)
343 #define ORC_UL_MAX 4294967295U
345 #define ORC_CLAMP_SB(x) ORC_CLAMP(x,ORC_SB_MIN,ORC_SB_MAX)
346 #define ORC_CLAMP_UB(x) ORC_CLAMP(x,ORC_UB_MIN,ORC_UB_MAX)
347 #define ORC_CLAMP_SW(x) ORC_CLAMP(x,ORC_SW_MIN,ORC_SW_MAX)
348 #define ORC_CLAMP_UW(x) ORC_CLAMP(x,ORC_UW_MIN,ORC_UW_MAX)
349 #define ORC_CLAMP_SL(x) ORC_CLAMP(x,ORC_SL_MIN,ORC_SL_MAX)
350 #define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)
351 #define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
352 #define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
353 #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))
354 #define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
355 #define ORC_DENORMAL(x) ((x) & ((((x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))
356 #define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
357 #define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
358 #define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
360 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
361 #define ORC_RESTRICT restrict
362 #elif defined(__GNUC__) && __GNUC__ >= 4
363 #define ORC_RESTRICT __restrict__
368 /* end Orc C target preamble */
372 /* cogorc_memcpy_2d */
375 cogorc_memcpy_2d (guint8 * ORC_RESTRICT d1, int d1_stride,
376 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
380 orc_int8 *ORC_RESTRICT ptr0;
381 const orc_int8 *ORC_RESTRICT ptr4;
385 for (j = 0; j < m; j++) {
386 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
387 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
390 for (i = 0; i < n; i++) {
404 _backup_cogorc_memcpy_2d (OrcExecutor * ORC_RESTRICT ex)
409 int m = ex->params[ORC_VAR_A1];
410 orc_int8 *ORC_RESTRICT ptr0;
411 const orc_int8 *ORC_RESTRICT ptr4;
415 for (j = 0; j < m; j++) {
416 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
417 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
420 for (i = 0; i < n; i++) {
433 cogorc_memcpy_2d (guint8 * ORC_RESTRICT d1, int d1_stride,
434 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
436 OrcExecutor _ex, *ex = &_ex;
437 static int p_inited = 0;
438 static OrcProgram *p = 0;
439 void (*func) (OrcExecutor *);
442 orc_once_mutex_lock ();
445 p = orc_program_new ();
446 orc_program_set_2d (p);
447 orc_program_set_name (p, "cogorc_memcpy_2d");
448 orc_program_set_backup_function (p, _backup_cogorc_memcpy_2d);
449 orc_program_add_destination (p, 1, "d1");
450 orc_program_add_source (p, 1, "s1");
452 orc_program_append_2 (p, "copyb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
455 orc_program_compile (p);
458 orc_once_mutex_unlock ();
463 ORC_EXECUTOR_M (ex) = m;
464 ex->arrays[ORC_VAR_D1] = d1;
465 ex->params[ORC_VAR_D1] = d1_stride;
466 ex->arrays[ORC_VAR_S1] = (void *) s1;
467 ex->params[ORC_VAR_S1] = s1_stride;
475 /* cogorc_downsample_horiz_cosite_1tap */
478 cogorc_downsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
479 const guint8 * ORC_RESTRICT s1, int n)
482 orc_int8 *ORC_RESTRICT ptr0;
483 const orc_union16 *ORC_RESTRICT ptr4;
487 ptr0 = (orc_int8 *) d1;
488 ptr4 = (orc_union16 *) s1;
491 for (i = 0; i < n; i++) {
508 _backup_cogorc_downsample_horiz_cosite_1tap (OrcExecutor * ORC_RESTRICT ex)
512 orc_int8 *ORC_RESTRICT ptr0;
513 const orc_union16 *ORC_RESTRICT ptr4;
517 ptr0 = (orc_int8 *) ex->arrays[0];
518 ptr4 = (orc_union16 *) ex->arrays[4];
521 for (i = 0; i < n; i++) {
537 cogorc_downsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
538 const guint8 * ORC_RESTRICT s1, int n)
540 OrcExecutor _ex, *ex = &_ex;
541 static int p_inited = 0;
542 static OrcProgram *p = 0;
543 void (*func) (OrcExecutor *);
546 orc_once_mutex_lock ();
549 p = orc_program_new ();
550 orc_program_set_name (p, "cogorc_downsample_horiz_cosite_1tap");
551 orc_program_set_backup_function (p,
552 _backup_cogorc_downsample_horiz_cosite_1tap);
553 orc_program_add_destination (p, 1, "d1");
554 orc_program_add_source (p, 2, "s1");
556 orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_S1,
557 ORC_VAR_D1, ORC_VAR_D1);
559 orc_program_compile (p);
562 orc_once_mutex_unlock ();
567 ex->arrays[ORC_VAR_D1] = d1;
568 ex->arrays[ORC_VAR_S1] = (void *) s1;
576 /* cogorc_downsample_horiz_cosite_3tap */
579 cogorc_downsample_horiz_cosite_3tap (guint8 * ORC_RESTRICT d1,
580 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
583 orc_int8 *ORC_RESTRICT ptr0;
584 const orc_union16 *ORC_RESTRICT ptr4;
585 const orc_union16 *ORC_RESTRICT ptr5;
604 ptr0 = (orc_int8 *) d1;
605 ptr4 = (orc_union16 *) s1;
606 ptr5 = (orc_union16 *) s2;
609 var40.i = (int) 0x00000002; /* 2 or 9.88131e-324f */
611 var41.i = (int) 0x00000002; /* 2 or 9.88131e-324f */
613 for (i = 0; i < n; i++) {
639 var47.i = (orc_uint8) var44;
641 var48.i = (orc_uint8) var45;
643 var49.i = (orc_uint8) var46;
645 var50.i = (var48.i * var40.i) & 0xffff;
647 var51.i = var47.i + var49.i;
649 var52.i = var51.i + var50.i;
651 var53.i = var52.i + var41.i;
653 var54.i = var53.i >> 2;
655 var42 = ORC_CLAMP_UB (var54.i);
664 _backup_cogorc_downsample_horiz_cosite_3tap (OrcExecutor * ORC_RESTRICT ex)
668 orc_int8 *ORC_RESTRICT ptr0;
669 const orc_union16 *ORC_RESTRICT ptr4;
670 const orc_union16 *ORC_RESTRICT ptr5;
689 ptr0 = (orc_int8 *) ex->arrays[0];
690 ptr4 = (orc_union16 *) ex->arrays[4];
691 ptr5 = (orc_union16 *) ex->arrays[5];
694 var40.i = (int) 0x00000002; /* 2 or 9.88131e-324f */
696 var41.i = (int) 0x00000002; /* 2 or 9.88131e-324f */
698 for (i = 0; i < n; i++) {
724 var47.i = (orc_uint8) var44;
726 var48.i = (orc_uint8) var45;
728 var49.i = (orc_uint8) var46;
730 var50.i = (var48.i * var40.i) & 0xffff;
732 var51.i = var47.i + var49.i;
734 var52.i = var51.i + var50.i;
736 var53.i = var52.i + var41.i;
738 var54.i = var53.i >> 2;
740 var42 = ORC_CLAMP_UB (var54.i);
748 cogorc_downsample_horiz_cosite_3tap (guint8 * ORC_RESTRICT d1,
749 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
751 OrcExecutor _ex, *ex = &_ex;
752 static int p_inited = 0;
753 static OrcProgram *p = 0;
754 void (*func) (OrcExecutor *);
757 orc_once_mutex_lock ();
760 p = orc_program_new ();
761 orc_program_set_name (p, "cogorc_downsample_horiz_cosite_3tap");
762 orc_program_set_backup_function (p,
763 _backup_cogorc_downsample_horiz_cosite_3tap);
764 orc_program_add_destination (p, 1, "d1");
765 orc_program_add_source (p, 2, "s1");
766 orc_program_add_source (p, 2, "s2");
767 orc_program_add_constant (p, 4, 0x00000002, "c1");
768 orc_program_add_temporary (p, 1, "t1");
769 orc_program_add_temporary (p, 1, "t2");
770 orc_program_add_temporary (p, 1, "t3");
771 orc_program_add_temporary (p, 2, "t4");
772 orc_program_add_temporary (p, 2, "t5");
773 orc_program_add_temporary (p, 2, "t6");
775 orc_program_append_2 (p, "copyw", 0, ORC_VAR_T4, ORC_VAR_S1, ORC_VAR_D1,
777 orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T1, ORC_VAR_T4,
778 ORC_VAR_D1, ORC_VAR_D1);
779 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T2, ORC_VAR_T4,
780 ORC_VAR_D1, ORC_VAR_D1);
781 orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T3, ORC_VAR_S2,
782 ORC_VAR_D1, ORC_VAR_D1);
783 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T4, ORC_VAR_T1, ORC_VAR_D1,
785 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_D1,
787 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
789 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C1,
791 orc_program_append_2 (p, "addw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T6,
793 orc_program_append_2 (p, "addw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T5,
795 orc_program_append_2 (p, "addw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_C1,
797 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_C1,
799 orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T4,
800 ORC_VAR_D1, ORC_VAR_D1);
802 orc_program_compile (p);
805 orc_once_mutex_unlock ();
810 ex->arrays[ORC_VAR_D1] = d1;
811 ex->arrays[ORC_VAR_S1] = (void *) s1;
812 ex->arrays[ORC_VAR_S2] = (void *) s2;
820 /* cogorc_downsample_420_jpeg */
823 cogorc_downsample_420_jpeg (guint8 * ORC_RESTRICT d1,
824 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
827 orc_int8 *ORC_RESTRICT ptr0;
828 const orc_union16 *ORC_RESTRICT ptr4;
829 const orc_union16 *ORC_RESTRICT ptr5;
842 ptr0 = (orc_int8 *) d1;
843 ptr4 = (orc_union16 *) s1;
844 ptr5 = (orc_union16 *) s2;
847 for (i = 0; i < n; i++) {
865 var43 = ((orc_uint8) var41 + (orc_uint8) var42 + 1) >> 1;
883 var47 = ((orc_uint8) var45 + (orc_uint8) var46 + 1) >> 1;
885 var39 = ((orc_uint8) var43 + (orc_uint8) var47 + 1) >> 1;
894 _backup_cogorc_downsample_420_jpeg (OrcExecutor * ORC_RESTRICT ex)
898 orc_int8 *ORC_RESTRICT ptr0;
899 const orc_union16 *ORC_RESTRICT ptr4;
900 const orc_union16 *ORC_RESTRICT ptr5;
913 ptr0 = (orc_int8 *) ex->arrays[0];
914 ptr4 = (orc_union16 *) ex->arrays[4];
915 ptr5 = (orc_union16 *) ex->arrays[5];
918 for (i = 0; i < n; i++) {
936 var43 = ((orc_uint8) var41 + (orc_uint8) var42 + 1) >> 1;
954 var47 = ((orc_uint8) var45 + (orc_uint8) var46 + 1) >> 1;
956 var39 = ((orc_uint8) var43 + (orc_uint8) var47 + 1) >> 1;
964 cogorc_downsample_420_jpeg (guint8 * ORC_RESTRICT d1,
965 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
967 OrcExecutor _ex, *ex = &_ex;
968 static int p_inited = 0;
969 static OrcProgram *p = 0;
970 void (*func) (OrcExecutor *);
973 orc_once_mutex_lock ();
976 p = orc_program_new ();
977 orc_program_set_name (p, "cogorc_downsample_420_jpeg");
978 orc_program_set_backup_function (p, _backup_cogorc_downsample_420_jpeg);
979 orc_program_add_destination (p, 1, "d1");
980 orc_program_add_source (p, 2, "s1");
981 orc_program_add_source (p, 2, "s2");
982 orc_program_add_temporary (p, 2, "t1");
983 orc_program_add_temporary (p, 1, "t2");
984 orc_program_add_temporary (p, 1, "t3");
985 orc_program_add_temporary (p, 1, "t4");
986 orc_program_add_temporary (p, 1, "t5");
988 orc_program_append_2 (p, "copyw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
990 orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T2, ORC_VAR_T1,
991 ORC_VAR_D1, ORC_VAR_D1);
992 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T3, ORC_VAR_T1,
993 ORC_VAR_D1, ORC_VAR_D1);
994 orc_program_append_2 (p, "avgub", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
996 orc_program_append_2 (p, "copyw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_D1,
998 orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T4, ORC_VAR_T1,
999 ORC_VAR_D1, ORC_VAR_D1);
1000 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T5, ORC_VAR_T1,
1001 ORC_VAR_D1, ORC_VAR_D1);
1002 orc_program_append_2 (p, "avgub", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T5,
1004 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T4,
1007 orc_program_compile (p);
1010 orc_once_mutex_unlock ();
1015 ex->arrays[ORC_VAR_D1] = d1;
1016 ex->arrays[ORC_VAR_S1] = (void *) s1;
1017 ex->arrays[ORC_VAR_S2] = (void *) s2;
1019 func = p->code_exec;
1025 /* cogorc_downsample_vert_halfsite_2tap */
1028 cogorc_downsample_vert_halfsite_2tap (guint8 * ORC_RESTRICT d1,
1029 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
1032 orc_int8 *ORC_RESTRICT ptr0;
1033 const orc_int8 *ORC_RESTRICT ptr4;
1034 const orc_int8 *ORC_RESTRICT ptr5;
1039 ptr0 = (orc_int8 *) d1;
1040 ptr4 = (orc_int8 *) s1;
1041 ptr5 = (orc_int8 *) s2;
1044 for (i = 0; i < n; i++) {
1050 var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
1059 _backup_cogorc_downsample_vert_halfsite_2tap (OrcExecutor * ORC_RESTRICT ex)
1063 orc_int8 *ORC_RESTRICT ptr0;
1064 const orc_int8 *ORC_RESTRICT ptr4;
1065 const orc_int8 *ORC_RESTRICT ptr5;
1070 ptr0 = (orc_int8 *) ex->arrays[0];
1071 ptr4 = (orc_int8 *) ex->arrays[4];
1072 ptr5 = (orc_int8 *) ex->arrays[5];
1075 for (i = 0; i < n; i++) {
1081 var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
1089 cogorc_downsample_vert_halfsite_2tap (guint8 * ORC_RESTRICT d1,
1090 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
1092 OrcExecutor _ex, *ex = &_ex;
1093 static int p_inited = 0;
1094 static OrcProgram *p = 0;
1095 void (*func) (OrcExecutor *);
1098 orc_once_mutex_lock ();
1101 p = orc_program_new ();
1102 orc_program_set_name (p, "cogorc_downsample_vert_halfsite_2tap");
1103 orc_program_set_backup_function (p,
1104 _backup_cogorc_downsample_vert_halfsite_2tap);
1105 orc_program_add_destination (p, 1, "d1");
1106 orc_program_add_source (p, 1, "s1");
1107 orc_program_add_source (p, 1, "s2");
1109 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2,
1112 orc_program_compile (p);
1115 orc_once_mutex_unlock ();
1120 ex->arrays[ORC_VAR_D1] = d1;
1121 ex->arrays[ORC_VAR_S1] = (void *) s1;
1122 ex->arrays[ORC_VAR_S2] = (void *) s2;
1124 func = p->code_exec;
1130 /* cogorc_downsample_vert_cosite_3tap */
1133 cogorc_downsample_vert_cosite_3tap (guint8 * ORC_RESTRICT d1,
1134 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
1135 const guint8 * ORC_RESTRICT s3, int n)
1138 orc_int8 *ORC_RESTRICT ptr0;
1139 const orc_int8 *ORC_RESTRICT ptr4;
1140 const orc_int8 *ORC_RESTRICT ptr5;
1141 const orc_int8 *ORC_RESTRICT ptr6;
1157 ptr0 = (orc_int8 *) d1;
1158 ptr4 = (orc_int8 *) s1;
1159 ptr5 = (orc_int8 *) s2;
1160 ptr6 = (orc_int8 *) s3;
1163 var38.i = (int) 0x00000002; /* 2 or 9.88131e-324f */
1165 var39.i = (int) 0x00000002; /* 2 or 9.88131e-324f */
1167 for (i = 0; i < n; i++) {
1171 var41.i = (orc_uint8) var35;
1175 var42.i = (orc_uint8) var36;
1179 var43.i = (orc_uint8) var37;
1181 var44.i = (var42.i * var38.i) & 0xffff;
1183 var45.i = var41.i + var43.i;
1185 var46.i = var45.i + var44.i;
1187 var47.i = var46.i + var39.i;
1189 var48.i = var47.i >> 2;
1191 var40 = ORC_CLAMP_UB (var48.i);
1200 _backup_cogorc_downsample_vert_cosite_3tap (OrcExecutor * ORC_RESTRICT ex)
1204 orc_int8 *ORC_RESTRICT ptr0;
1205 const orc_int8 *ORC_RESTRICT ptr4;
1206 const orc_int8 *ORC_RESTRICT ptr5;
1207 const orc_int8 *ORC_RESTRICT ptr6;
1223 ptr0 = (orc_int8 *) ex->arrays[0];
1224 ptr4 = (orc_int8 *) ex->arrays[4];
1225 ptr5 = (orc_int8 *) ex->arrays[5];
1226 ptr6 = (orc_int8 *) ex->arrays[6];
1229 var38.i = (int) 0x00000002; /* 2 or 9.88131e-324f */
1231 var39.i = (int) 0x00000002; /* 2 or 9.88131e-324f */
1233 for (i = 0; i < n; i++) {
1237 var41.i = (orc_uint8) var35;
1241 var42.i = (orc_uint8) var36;
1245 var43.i = (orc_uint8) var37;
1247 var44.i = (var42.i * var38.i) & 0xffff;
1249 var45.i = var41.i + var43.i;
1251 var46.i = var45.i + var44.i;
1253 var47.i = var46.i + var39.i;
1255 var48.i = var47.i >> 2;
1257 var40 = ORC_CLAMP_UB (var48.i);
1265 cogorc_downsample_vert_cosite_3tap (guint8 * ORC_RESTRICT d1,
1266 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
1267 const guint8 * ORC_RESTRICT s3, int n)
1269 OrcExecutor _ex, *ex = &_ex;
1270 static int p_inited = 0;
1271 static OrcProgram *p = 0;
1272 void (*func) (OrcExecutor *);
1275 orc_once_mutex_lock ();
1278 p = orc_program_new ();
1279 orc_program_set_name (p, "cogorc_downsample_vert_cosite_3tap");
1280 orc_program_set_backup_function (p,
1281 _backup_cogorc_downsample_vert_cosite_3tap);
1282 orc_program_add_destination (p, 1, "d1");
1283 orc_program_add_source (p, 1, "s1");
1284 orc_program_add_source (p, 1, "s2");
1285 orc_program_add_source (p, 1, "s3");
1286 orc_program_add_constant (p, 4, 0x00000002, "c1");
1287 orc_program_add_temporary (p, 2, "t1");
1288 orc_program_add_temporary (p, 2, "t2");
1289 orc_program_add_temporary (p, 2, "t3");
1291 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1293 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
1295 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1,
1297 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
1299 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T3,
1301 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
1303 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
1305 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
1307 orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
1308 ORC_VAR_D1, ORC_VAR_D1);
1310 orc_program_compile (p);
1313 orc_once_mutex_unlock ();
1318 ex->arrays[ORC_VAR_D1] = d1;
1319 ex->arrays[ORC_VAR_S1] = (void *) s1;
1320 ex->arrays[ORC_VAR_S2] = (void *) s2;
1321 ex->arrays[ORC_VAR_S3] = (void *) s3;
1323 func = p->code_exec;
1329 /* cogorc_downsample_vert_halfsite_4tap */
1332 cogorc_downsample_vert_halfsite_4tap (guint8 * ORC_RESTRICT d1,
1333 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
1334 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
1337 orc_int8 *ORC_RESTRICT ptr0;
1338 const orc_int8 *ORC_RESTRICT ptr4;
1339 const orc_int8 *ORC_RESTRICT ptr5;
1340 const orc_int8 *ORC_RESTRICT ptr6;
1341 const orc_int8 *ORC_RESTRICT ptr7;
1362 ptr0 = (orc_int8 *) d1;
1363 ptr4 = (orc_int8 *) s1;
1364 ptr5 = (orc_int8 *) s2;
1365 ptr6 = (orc_int8 *) s3;
1366 ptr7 = (orc_int8 *) s4;
1369 var40.i = (int) 0x0000001a; /* 26 or 1.28457e-322f */
1371 var41.i = (int) 0x00000006; /* 6 or 2.96439e-323f */
1373 var42.i = (int) 0x00000020; /* 32 or 1.58101e-322f */
1375 for (i = 0; i < n; i++) {
1379 var44.i = (orc_uint8) var36;
1383 var45.i = (orc_uint8) var37;
1387 var46.i = (orc_uint8) var38;
1391 var47.i = (orc_uint8) var39;
1393 var48.i = var45.i + var46.i;
1395 var49.i = (var48.i * var40.i) & 0xffff;
1397 var50.i = var44.i + var47.i;
1399 var51.i = (var50.i * var41.i) & 0xffff;
1401 var52.i = var49.i + var51.i;
1403 var53.i = var52.i + var42.i;
1405 var54.i = var53.i >> 6;
1407 var43 = ORC_CLAMP_UB (var54.i);
1416 _backup_cogorc_downsample_vert_halfsite_4tap (OrcExecutor * ORC_RESTRICT ex)
1420 orc_int8 *ORC_RESTRICT ptr0;
1421 const orc_int8 *ORC_RESTRICT ptr4;
1422 const orc_int8 *ORC_RESTRICT ptr5;
1423 const orc_int8 *ORC_RESTRICT ptr6;
1424 const orc_int8 *ORC_RESTRICT ptr7;
1445 ptr0 = (orc_int8 *) ex->arrays[0];
1446 ptr4 = (orc_int8 *) ex->arrays[4];
1447 ptr5 = (orc_int8 *) ex->arrays[5];
1448 ptr6 = (orc_int8 *) ex->arrays[6];
1449 ptr7 = (orc_int8 *) ex->arrays[7];
1452 var40.i = (int) 0x0000001a; /* 26 or 1.28457e-322f */
1454 var41.i = (int) 0x00000006; /* 6 or 2.96439e-323f */
1456 var42.i = (int) 0x00000020; /* 32 or 1.58101e-322f */
1458 for (i = 0; i < n; i++) {
1462 var44.i = (orc_uint8) var36;
1466 var45.i = (orc_uint8) var37;
1470 var46.i = (orc_uint8) var38;
1474 var47.i = (orc_uint8) var39;
1476 var48.i = var45.i + var46.i;
1478 var49.i = (var48.i * var40.i) & 0xffff;
1480 var50.i = var44.i + var47.i;
1482 var51.i = (var50.i * var41.i) & 0xffff;
1484 var52.i = var49.i + var51.i;
1486 var53.i = var52.i + var42.i;
1488 var54.i = var53.i >> 6;
1490 var43 = ORC_CLAMP_UB (var54.i);
1498 cogorc_downsample_vert_halfsite_4tap (guint8 * ORC_RESTRICT d1,
1499 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
1500 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
1502 OrcExecutor _ex, *ex = &_ex;
1503 static int p_inited = 0;
1504 static OrcProgram *p = 0;
1505 void (*func) (OrcExecutor *);
1508 orc_once_mutex_lock ();
1511 p = orc_program_new ();
1512 orc_program_set_name (p, "cogorc_downsample_vert_halfsite_4tap");
1513 orc_program_set_backup_function (p,
1514 _backup_cogorc_downsample_vert_halfsite_4tap);
1515 orc_program_add_destination (p, 1, "d1");
1516 orc_program_add_source (p, 1, "s1");
1517 orc_program_add_source (p, 1, "s2");
1518 orc_program_add_source (p, 1, "s3");
1519 orc_program_add_source (p, 1, "s4");
1520 orc_program_add_constant (p, 4, 0x0000001a, "c1");
1521 orc_program_add_constant (p, 4, 0x00000006, "c2");
1522 orc_program_add_constant (p, 4, 0x00000020, "c3");
1523 orc_program_add_temporary (p, 2, "t1");
1524 orc_program_add_temporary (p, 2, "t2");
1525 orc_program_add_temporary (p, 2, "t3");
1526 orc_program_add_temporary (p, 2, "t4");
1528 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1530 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
1532 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1,
1534 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T4, ORC_VAR_S4, ORC_VAR_D1,
1536 orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
1538 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
1540 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T4,
1542 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
1544 orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T1,
1546 orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C3,
1548 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
1550 orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T2,
1551 ORC_VAR_D1, ORC_VAR_D1);
1553 orc_program_compile (p);
1556 orc_once_mutex_unlock ();
1561 ex->arrays[ORC_VAR_D1] = d1;
1562 ex->arrays[ORC_VAR_S1] = (void *) s1;
1563 ex->arrays[ORC_VAR_S2] = (void *) s2;
1564 ex->arrays[ORC_VAR_S3] = (void *) s3;
1565 ex->arrays[ORC_VAR_S4] = (void *) s4;
1567 func = p->code_exec;
1573 /* cogorc_upsample_horiz_cosite_1tap */
1576 cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
1577 const guint8 * ORC_RESTRICT s1, int n)
1580 orc_union16 *ORC_RESTRICT ptr0;
1581 const orc_int8 *ORC_RESTRICT ptr4;
1586 ptr0 = (orc_union16 *) d1;
1587 ptr4 = (orc_int8 *) s1;
1590 for (i = 0; i < n; i++) {
1598 _dest.x2[0] = var35;
1599 _dest.x2[1] = var35;
1610 _backup_cogorc_upsample_horiz_cosite_1tap (OrcExecutor * ORC_RESTRICT ex)
1614 orc_union16 *ORC_RESTRICT ptr0;
1615 const orc_int8 *ORC_RESTRICT ptr4;
1620 ptr0 = (orc_union16 *) ex->arrays[0];
1621 ptr4 = (orc_int8 *) ex->arrays[4];
1624 for (i = 0; i < n; i++) {
1632 _dest.x2[0] = var35;
1633 _dest.x2[1] = var35;
1643 cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
1644 const guint8 * ORC_RESTRICT s1, int n)
1646 OrcExecutor _ex, *ex = &_ex;
1647 static int p_inited = 0;
1648 static OrcProgram *p = 0;
1649 void (*func) (OrcExecutor *);
1652 orc_once_mutex_lock ();
1655 p = orc_program_new ();
1656 orc_program_set_name (p, "cogorc_upsample_horiz_cosite_1tap");
1657 orc_program_set_backup_function (p,
1658 _backup_cogorc_upsample_horiz_cosite_1tap);
1659 orc_program_add_destination (p, 2, "d1");
1660 orc_program_add_source (p, 1, "s1");
1661 orc_program_add_temporary (p, 1, "t1");
1663 orc_program_append_2 (p, "copyb", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1665 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T1,
1668 orc_program_compile (p);
1671 orc_once_mutex_unlock ();
1676 ex->arrays[ORC_VAR_D1] = d1;
1677 ex->arrays[ORC_VAR_S1] = (void *) s1;
1679 func = p->code_exec;
1685 /* cogorc_upsample_horiz_cosite */
1688 cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
1689 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
1692 orc_union16 *ORC_RESTRICT ptr0;
1693 const orc_int8 *ORC_RESTRICT ptr4;
1694 const orc_int8 *ORC_RESTRICT ptr5;
1701 ptr0 = (orc_union16 *) d1;
1702 ptr4 = (orc_int8 *) s1;
1703 ptr5 = (orc_int8 *) s2;
1706 for (i = 0; i < n; i++) {
1714 var38 = ((orc_uint8) var37 + (orc_uint8) var35 + 1) >> 1;
1718 _dest.x2[0] = var37;
1719 _dest.x2[1] = var38;
1730 _backup_cogorc_upsample_horiz_cosite (OrcExecutor * ORC_RESTRICT ex)
1734 orc_union16 *ORC_RESTRICT ptr0;
1735 const orc_int8 *ORC_RESTRICT ptr4;
1736 const orc_int8 *ORC_RESTRICT ptr5;
1743 ptr0 = (orc_union16 *) ex->arrays[0];
1744 ptr4 = (orc_int8 *) ex->arrays[4];
1745 ptr5 = (orc_int8 *) ex->arrays[5];
1748 for (i = 0; i < n; i++) {
1756 var38 = ((orc_uint8) var37 + (orc_uint8) var35 + 1) >> 1;
1760 _dest.x2[0] = var37;
1761 _dest.x2[1] = var38;
1771 cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
1772 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
1774 OrcExecutor _ex, *ex = &_ex;
1775 static int p_inited = 0;
1776 static OrcProgram *p = 0;
1777 void (*func) (OrcExecutor *);
1780 orc_once_mutex_lock ();
1783 p = orc_program_new ();
1784 orc_program_set_name (p, "cogorc_upsample_horiz_cosite");
1785 orc_program_set_backup_function (p, _backup_cogorc_upsample_horiz_cosite);
1786 orc_program_add_destination (p, 2, "d1");
1787 orc_program_add_source (p, 1, "s1");
1788 orc_program_add_source (p, 1, "s2");
1789 orc_program_add_temporary (p, 1, "t1");
1790 orc_program_add_temporary (p, 1, "t2");
1792 orc_program_append_2 (p, "copyb", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
1794 orc_program_append_2 (p, "avgub", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S2,
1796 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
1799 orc_program_compile (p);
1802 orc_once_mutex_unlock ();
1807 ex->arrays[ORC_VAR_D1] = d1;
1808 ex->arrays[ORC_VAR_S1] = (void *) s1;
1809 ex->arrays[ORC_VAR_S2] = (void *) s2;
1811 func = p->code_exec;
1817 /* cogorc_upsample_vert_avgub */
1820 cogorc_upsample_vert_avgub (guint8 * ORC_RESTRICT d1,
1821 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
1824 orc_int8 *ORC_RESTRICT ptr0;
1825 const orc_int8 *ORC_RESTRICT ptr4;
1826 const orc_int8 *ORC_RESTRICT ptr5;
1831 ptr0 = (orc_int8 *) d1;
1832 ptr4 = (orc_int8 *) s1;
1833 ptr5 = (orc_int8 *) s2;
1836 for (i = 0; i < n; i++) {
1842 var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
1851 _backup_cogorc_upsample_vert_avgub (OrcExecutor * ORC_RESTRICT ex)
1855 orc_int8 *ORC_RESTRICT ptr0;
1856 const orc_int8 *ORC_RESTRICT ptr4;
1857 const orc_int8 *ORC_RESTRICT ptr5;
1862 ptr0 = (orc_int8 *) ex->arrays[0];
1863 ptr4 = (orc_int8 *) ex->arrays[4];
1864 ptr5 = (orc_int8 *) ex->arrays[5];
1867 for (i = 0; i < n; i++) {
1873 var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
1881 cogorc_upsample_vert_avgub (guint8 * ORC_RESTRICT d1,
1882 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
1884 OrcExecutor _ex, *ex = &_ex;
1885 static int p_inited = 0;
1886 static OrcProgram *p = 0;
1887 void (*func) (OrcExecutor *);
1890 orc_once_mutex_lock ();
1893 p = orc_program_new ();
1894 orc_program_set_name (p, "cogorc_upsample_vert_avgub");
1895 orc_program_set_backup_function (p, _backup_cogorc_upsample_vert_avgub);
1896 orc_program_add_destination (p, 1, "d1");
1897 orc_program_add_source (p, 1, "s1");
1898 orc_program_add_source (p, 1, "s2");
1900 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2,
1903 orc_program_compile (p);
1906 orc_once_mutex_unlock ();
1911 ex->arrays[ORC_VAR_D1] = d1;
1912 ex->arrays[ORC_VAR_S1] = (void *) s1;
1913 ex->arrays[ORC_VAR_S2] = (void *) s2;
1915 func = p->code_exec;
1921 /* orc_unpack_yuyv_y */
1924 orc_unpack_yuyv_y (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
1928 orc_int8 *ORC_RESTRICT ptr0;
1929 const orc_union16 *ORC_RESTRICT ptr4;
1933 ptr0 = (orc_int8 *) d1;
1934 ptr4 = (orc_union16 *) s1;
1937 for (i = 0; i < n; i++) {
1954 _backup_orc_unpack_yuyv_y (OrcExecutor * ORC_RESTRICT ex)
1958 orc_int8 *ORC_RESTRICT ptr0;
1959 const orc_union16 *ORC_RESTRICT ptr4;
1963 ptr0 = (orc_int8 *) ex->arrays[0];
1964 ptr4 = (orc_union16 *) ex->arrays[4];
1967 for (i = 0; i < n; i++) {
1983 orc_unpack_yuyv_y (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
1986 OrcExecutor _ex, *ex = &_ex;
1987 static int p_inited = 0;
1988 static OrcProgram *p = 0;
1989 void (*func) (OrcExecutor *);
1992 orc_once_mutex_lock ();
1995 p = orc_program_new ();
1996 orc_program_set_name (p, "orc_unpack_yuyv_y");
1997 orc_program_set_backup_function (p, _backup_orc_unpack_yuyv_y);
1998 orc_program_add_destination (p, 1, "d1");
1999 orc_program_add_source (p, 2, "s1");
2001 orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_S1,
2002 ORC_VAR_D1, ORC_VAR_D1);
2004 orc_program_compile (p);
2007 orc_once_mutex_unlock ();
2012 ex->arrays[ORC_VAR_D1] = d1;
2013 ex->arrays[ORC_VAR_S1] = (void *) s1;
2015 func = p->code_exec;
2021 /* orc_unpack_yuyv_u */
2024 orc_unpack_yuyv_u (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2028 orc_int8 *ORC_RESTRICT ptr0;
2029 const orc_union32 *ORC_RESTRICT ptr4;
2034 ptr0 = (orc_int8 *) d1;
2035 ptr4 = (orc_union32 *) s1;
2038 for (i = 0; i < n; i++) {
2045 var35.i = _src.x2[0];
2061 _backup_orc_unpack_yuyv_u (OrcExecutor * ORC_RESTRICT ex)
2065 orc_int8 *ORC_RESTRICT ptr0;
2066 const orc_union32 *ORC_RESTRICT ptr4;
2071 ptr0 = (orc_int8 *) ex->arrays[0];
2072 ptr4 = (orc_union32 *) ex->arrays[4];
2075 for (i = 0; i < n; i++) {
2082 var35.i = _src.x2[0];
2097 orc_unpack_yuyv_u (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2100 OrcExecutor _ex, *ex = &_ex;
2101 static int p_inited = 0;
2102 static OrcProgram *p = 0;
2103 void (*func) (OrcExecutor *);
2106 orc_once_mutex_lock ();
2109 p = orc_program_new ();
2110 orc_program_set_name (p, "orc_unpack_yuyv_u");
2111 orc_program_set_backup_function (p, _backup_orc_unpack_yuyv_u);
2112 orc_program_add_destination (p, 1, "d1");
2113 orc_program_add_source (p, 4, "s1");
2114 orc_program_add_temporary (p, 2, "t1");
2116 orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
2117 ORC_VAR_D1, ORC_VAR_D1);
2118 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
2119 ORC_VAR_D1, ORC_VAR_D1);
2121 orc_program_compile (p);
2124 orc_once_mutex_unlock ();
2129 ex->arrays[ORC_VAR_D1] = d1;
2130 ex->arrays[ORC_VAR_S1] = (void *) s1;
2132 func = p->code_exec;
2138 /* orc_unpack_yuyv_v */
2141 orc_unpack_yuyv_v (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2145 orc_int8 *ORC_RESTRICT ptr0;
2146 const orc_union32 *ORC_RESTRICT ptr4;
2151 ptr0 = (orc_int8 *) d1;
2152 ptr4 = (orc_union32 *) s1;
2155 for (i = 0; i < n; i++) {
2162 var35.i = _src.x2[1];
2178 _backup_orc_unpack_yuyv_v (OrcExecutor * ORC_RESTRICT ex)
2182 orc_int8 *ORC_RESTRICT ptr0;
2183 const orc_union32 *ORC_RESTRICT ptr4;
2188 ptr0 = (orc_int8 *) ex->arrays[0];
2189 ptr4 = (orc_union32 *) ex->arrays[4];
2192 for (i = 0; i < n; i++) {
2199 var35.i = _src.x2[1];
2214 orc_unpack_yuyv_v (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2217 OrcExecutor _ex, *ex = &_ex;
2218 static int p_inited = 0;
2219 static OrcProgram *p = 0;
2220 void (*func) (OrcExecutor *);
2223 orc_once_mutex_lock ();
2226 p = orc_program_new ();
2227 orc_program_set_name (p, "orc_unpack_yuyv_v");
2228 orc_program_set_backup_function (p, _backup_orc_unpack_yuyv_v);
2229 orc_program_add_destination (p, 1, "d1");
2230 orc_program_add_source (p, 4, "s1");
2231 orc_program_add_temporary (p, 2, "t1");
2233 orc_program_append_2 (p, "select1lw", 0, ORC_VAR_T1, ORC_VAR_S1,
2234 ORC_VAR_D1, ORC_VAR_D1);
2235 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
2236 ORC_VAR_D1, ORC_VAR_D1);
2238 orc_program_compile (p);
2241 orc_once_mutex_unlock ();
2246 ex->arrays[ORC_VAR_D1] = d1;
2247 ex->arrays[ORC_VAR_S1] = (void *) s1;
2249 func = p->code_exec;
2258 orc_pack_yuyv (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2259 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
2262 orc_union32 *ORC_RESTRICT ptr0;
2263 const orc_union16 *ORC_RESTRICT ptr4;
2264 const orc_int8 *ORC_RESTRICT ptr5;
2265 const orc_int8 *ORC_RESTRICT ptr6;
2276 ptr0 = (orc_union32 *) d1;
2277 ptr4 = (orc_union16 *) s1;
2278 ptr5 = (orc_int8 *) s2;
2279 ptr6 = (orc_int8 *) s3;
2282 for (i = 0; i < n; i++) {
2304 _dest.x2[0] = var42;
2305 _dest.x2[1] = var38;
2313 _dest.x2[0] = var43;
2314 _dest.x2[1] = var39;
2320 _dest.x2[0] = var44.i;
2321 _dest.x2[1] = var45.i;
2332 _backup_orc_pack_yuyv (OrcExecutor * ORC_RESTRICT ex)
2336 orc_union32 *ORC_RESTRICT ptr0;
2337 const orc_union16 *ORC_RESTRICT ptr4;
2338 const orc_int8 *ORC_RESTRICT ptr5;
2339 const orc_int8 *ORC_RESTRICT ptr6;
2350 ptr0 = (orc_union32 *) ex->arrays[0];
2351 ptr4 = (orc_union16 *) ex->arrays[4];
2352 ptr5 = (orc_int8 *) ex->arrays[5];
2353 ptr6 = (orc_int8 *) ex->arrays[6];
2356 for (i = 0; i < n; i++) {
2378 _dest.x2[0] = var42;
2379 _dest.x2[1] = var38;
2387 _dest.x2[0] = var43;
2388 _dest.x2[1] = var39;
2394 _dest.x2[0] = var44.i;
2395 _dest.x2[1] = var45.i;
2405 orc_pack_yuyv (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2406 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
2408 OrcExecutor _ex, *ex = &_ex;
2409 static int p_inited = 0;
2410 static OrcProgram *p = 0;
2411 void (*func) (OrcExecutor *);
2414 orc_once_mutex_lock ();
2417 p = orc_program_new ();
2418 orc_program_set_name (p, "orc_pack_yuyv");
2419 orc_program_set_backup_function (p, _backup_orc_pack_yuyv);
2420 orc_program_add_destination (p, 4, "d1");
2421 orc_program_add_source (p, 2, "s1");
2422 orc_program_add_source (p, 1, "s2");
2423 orc_program_add_source (p, 1, "s3");
2424 orc_program_add_temporary (p, 1, "t1");
2425 orc_program_add_temporary (p, 1, "t2");
2426 orc_program_add_temporary (p, 2, "t3");
2427 orc_program_add_temporary (p, 2, "t4");
2428 orc_program_add_temporary (p, 2, "t5");
2430 orc_program_append_2 (p, "copyw", 0, ORC_VAR_T5, ORC_VAR_S1, ORC_VAR_D1,
2432 orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T1, ORC_VAR_T5,
2433 ORC_VAR_D1, ORC_VAR_D1);
2434 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T2, ORC_VAR_T5,
2435 ORC_VAR_D1, ORC_VAR_D1);
2436 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_S2,
2438 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_S3,
2440 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
2443 orc_program_compile (p);
2446 orc_once_mutex_unlock ();
2451 ex->arrays[ORC_VAR_D1] = d1;
2452 ex->arrays[ORC_VAR_S1] = (void *) s1;
2453 ex->arrays[ORC_VAR_S2] = (void *) s2;
2454 ex->arrays[ORC_VAR_S3] = (void *) s3;
2456 func = p->code_exec;
2462 /* orc_unpack_uyvy_y */
2465 orc_unpack_uyvy_y (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2469 orc_int8 *ORC_RESTRICT ptr0;
2470 const orc_union16 *ORC_RESTRICT ptr4;
2474 ptr0 = (orc_int8 *) d1;
2475 ptr4 = (orc_union16 *) s1;
2478 for (i = 0; i < n; i++) {
2495 _backup_orc_unpack_uyvy_y (OrcExecutor * ORC_RESTRICT ex)
2499 orc_int8 *ORC_RESTRICT ptr0;
2500 const orc_union16 *ORC_RESTRICT ptr4;
2504 ptr0 = (orc_int8 *) ex->arrays[0];
2505 ptr4 = (orc_union16 *) ex->arrays[4];
2508 for (i = 0; i < n; i++) {
2524 orc_unpack_uyvy_y (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2527 OrcExecutor _ex, *ex = &_ex;
2528 static int p_inited = 0;
2529 static OrcProgram *p = 0;
2530 void (*func) (OrcExecutor *);
2533 orc_once_mutex_lock ();
2536 p = orc_program_new ();
2537 orc_program_set_name (p, "orc_unpack_uyvy_y");
2538 orc_program_set_backup_function (p, _backup_orc_unpack_uyvy_y);
2539 orc_program_add_destination (p, 1, "d1");
2540 orc_program_add_source (p, 2, "s1");
2542 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_S1,
2543 ORC_VAR_D1, ORC_VAR_D1);
2545 orc_program_compile (p);
2548 orc_once_mutex_unlock ();
2553 ex->arrays[ORC_VAR_D1] = d1;
2554 ex->arrays[ORC_VAR_S1] = (void *) s1;
2556 func = p->code_exec;
2562 /* orc_unpack_uyvy_u */
2565 orc_unpack_uyvy_u (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2569 orc_int8 *ORC_RESTRICT ptr0;
2570 const orc_union32 *ORC_RESTRICT ptr4;
2575 ptr0 = (orc_int8 *) d1;
2576 ptr4 = (orc_union32 *) s1;
2579 for (i = 0; i < n; i++) {
2586 var35.i = _src.x2[0];
2602 _backup_orc_unpack_uyvy_u (OrcExecutor * ORC_RESTRICT ex)
2606 orc_int8 *ORC_RESTRICT ptr0;
2607 const orc_union32 *ORC_RESTRICT ptr4;
2612 ptr0 = (orc_int8 *) ex->arrays[0];
2613 ptr4 = (orc_union32 *) ex->arrays[4];
2616 for (i = 0; i < n; i++) {
2623 var35.i = _src.x2[0];
2638 orc_unpack_uyvy_u (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2641 OrcExecutor _ex, *ex = &_ex;
2642 static int p_inited = 0;
2643 static OrcProgram *p = 0;
2644 void (*func) (OrcExecutor *);
2647 orc_once_mutex_lock ();
2650 p = orc_program_new ();
2651 orc_program_set_name (p, "orc_unpack_uyvy_u");
2652 orc_program_set_backup_function (p, _backup_orc_unpack_uyvy_u);
2653 orc_program_add_destination (p, 1, "d1");
2654 orc_program_add_source (p, 4, "s1");
2655 orc_program_add_temporary (p, 2, "t1");
2657 orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
2658 ORC_VAR_D1, ORC_VAR_D1);
2659 orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1,
2660 ORC_VAR_D1, ORC_VAR_D1);
2662 orc_program_compile (p);
2665 orc_once_mutex_unlock ();
2670 ex->arrays[ORC_VAR_D1] = d1;
2671 ex->arrays[ORC_VAR_S1] = (void *) s1;
2673 func = p->code_exec;
2679 /* orc_unpack_uyvy_v */
2682 orc_unpack_uyvy_v (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2686 orc_int8 *ORC_RESTRICT ptr0;
2687 const orc_union32 *ORC_RESTRICT ptr4;
2692 ptr0 = (orc_int8 *) d1;
2693 ptr4 = (orc_union32 *) s1;
2696 for (i = 0; i < n; i++) {
2703 var35.i = _src.x2[1];
2719 _backup_orc_unpack_uyvy_v (OrcExecutor * ORC_RESTRICT ex)
2723 orc_int8 *ORC_RESTRICT ptr0;
2724 const orc_union32 *ORC_RESTRICT ptr4;
2729 ptr0 = (orc_int8 *) ex->arrays[0];
2730 ptr4 = (orc_union32 *) ex->arrays[4];
2733 for (i = 0; i < n; i++) {
2740 var35.i = _src.x2[1];
2755 orc_unpack_uyvy_v (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2758 OrcExecutor _ex, *ex = &_ex;
2759 static int p_inited = 0;
2760 static OrcProgram *p = 0;
2761 void (*func) (OrcExecutor *);
2764 orc_once_mutex_lock ();
2767 p = orc_program_new ();
2768 orc_program_set_name (p, "orc_unpack_uyvy_v");
2769 orc_program_set_backup_function (p, _backup_orc_unpack_uyvy_v);
2770 orc_program_add_destination (p, 1, "d1");
2771 orc_program_add_source (p, 4, "s1");
2772 orc_program_add_temporary (p, 2, "t1");
2774 orc_program_append_2 (p, "select1lw", 0, ORC_VAR_T1, ORC_VAR_S1,
2775 ORC_VAR_D1, ORC_VAR_D1);
2776 orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1,
2777 ORC_VAR_D1, ORC_VAR_D1);
2779 orc_program_compile (p);
2782 orc_once_mutex_unlock ();
2787 ex->arrays[ORC_VAR_D1] = d1;
2788 ex->arrays[ORC_VAR_S1] = (void *) s1;
2790 func = p->code_exec;
2799 orc_pack_uyvy (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2800 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
2803 orc_union32 *ORC_RESTRICT ptr0;
2804 const orc_union16 *ORC_RESTRICT ptr4;
2805 const orc_int8 *ORC_RESTRICT ptr5;
2806 const orc_int8 *ORC_RESTRICT ptr6;
2817 ptr0 = (orc_union32 *) d1;
2818 ptr4 = (orc_union16 *) s1;
2819 ptr5 = (orc_int8 *) s2;
2820 ptr6 = (orc_int8 *) s3;
2823 for (i = 0; i < n; i++) {
2845 _dest.x2[0] = var38;
2846 _dest.x2[1] = var42;
2854 _dest.x2[0] = var39;
2855 _dest.x2[1] = var43;
2861 _dest.x2[0] = var44.i;
2862 _dest.x2[1] = var45.i;
2873 _backup_orc_pack_uyvy (OrcExecutor * ORC_RESTRICT ex)
2877 orc_union32 *ORC_RESTRICT ptr0;
2878 const orc_union16 *ORC_RESTRICT ptr4;
2879 const orc_int8 *ORC_RESTRICT ptr5;
2880 const orc_int8 *ORC_RESTRICT ptr6;
2891 ptr0 = (orc_union32 *) ex->arrays[0];
2892 ptr4 = (orc_union16 *) ex->arrays[4];
2893 ptr5 = (orc_int8 *) ex->arrays[5];
2894 ptr6 = (orc_int8 *) ex->arrays[6];
2897 for (i = 0; i < n; i++) {
2919 _dest.x2[0] = var38;
2920 _dest.x2[1] = var42;
2928 _dest.x2[0] = var39;
2929 _dest.x2[1] = var43;
2935 _dest.x2[0] = var44.i;
2936 _dest.x2[1] = var45.i;
2946 orc_pack_uyvy (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
2947 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
2949 OrcExecutor _ex, *ex = &_ex;
2950 static int p_inited = 0;
2951 static OrcProgram *p = 0;
2952 void (*func) (OrcExecutor *);
2955 orc_once_mutex_lock ();
2958 p = orc_program_new ();
2959 orc_program_set_name (p, "orc_pack_uyvy");
2960 orc_program_set_backup_function (p, _backup_orc_pack_uyvy);
2961 orc_program_add_destination (p, 4, "d1");
2962 orc_program_add_source (p, 2, "s1");
2963 orc_program_add_source (p, 1, "s2");
2964 orc_program_add_source (p, 1, "s3");
2965 orc_program_add_temporary (p, 1, "t1");
2966 orc_program_add_temporary (p, 1, "t2");
2967 orc_program_add_temporary (p, 2, "t3");
2968 orc_program_add_temporary (p, 2, "t4");
2969 orc_program_add_temporary (p, 2, "t5");
2971 orc_program_append_2 (p, "copyw", 0, ORC_VAR_T5, ORC_VAR_S1, ORC_VAR_D1,
2973 orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T1, ORC_VAR_T5,
2974 ORC_VAR_D1, ORC_VAR_D1);
2975 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T2, ORC_VAR_T5,
2976 ORC_VAR_D1, ORC_VAR_D1);
2977 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T3, ORC_VAR_S2, ORC_VAR_T1,
2979 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_S3, ORC_VAR_T2,
2981 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
2984 orc_program_compile (p);
2987 orc_once_mutex_unlock ();
2992 ex->arrays[ORC_VAR_D1] = d1;
2993 ex->arrays[ORC_VAR_S1] = (void *) s1;
2994 ex->arrays[ORC_VAR_S2] = (void *) s2;
2995 ex->arrays[ORC_VAR_S3] = (void *) s3;
2997 func = p->code_exec;
3003 /* orc_matrix2_u8 */
3006 orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3007 const guint8 * ORC_RESTRICT s2, int p1, int p2, int p3, int n)
3010 orc_int8 *ORC_RESTRICT ptr0;
3011 const orc_int8 *ORC_RESTRICT ptr4;
3012 const orc_int8 *ORC_RESTRICT ptr5;
3027 ptr0 = (orc_int8 *) d1;
3028 ptr4 = (orc_int8 *) s1;
3029 ptr5 = (orc_int8 *) s2;
3038 for (i = 0; i < n; i++) {
3042 var40.i = (orc_uint8) var34;
3044 var41.i = (var40.i * var35.i) & 0xffff;
3048 var42.i = (orc_uint8) var36;
3050 var43.i = (var42.i * var37.i) & 0xffff;
3052 var44.i = var41.i + var43.i;
3054 var45.i = var44.i + var38.i;
3056 var46.i = var45.i >> 6;
3058 var39 = ORC_CLAMP_UB (var46.i);
3067 _backup_orc_matrix2_u8 (OrcExecutor * ORC_RESTRICT ex)
3071 orc_int8 *ORC_RESTRICT ptr0;
3072 const orc_int8 *ORC_RESTRICT ptr4;
3073 const orc_int8 *ORC_RESTRICT ptr5;
3088 ptr0 = (orc_int8 *) ex->arrays[0];
3089 ptr4 = (orc_int8 *) ex->arrays[4];
3090 ptr5 = (orc_int8 *) ex->arrays[5];
3093 var35.i = ex->params[24];
3095 var37.i = ex->params[25];
3097 var38.i = ex->params[26];
3099 for (i = 0; i < n; i++) {
3103 var40.i = (orc_uint8) var34;
3105 var41.i = (var40.i * var35.i) & 0xffff;
3109 var42.i = (orc_uint8) var36;
3111 var43.i = (var42.i * var37.i) & 0xffff;
3113 var44.i = var41.i + var43.i;
3115 var45.i = var44.i + var38.i;
3117 var46.i = var45.i >> 6;
3119 var39 = ORC_CLAMP_UB (var46.i);
3127 orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3128 const guint8 * ORC_RESTRICT s2, int p1, int p2, int p3, int n)
3130 OrcExecutor _ex, *ex = &_ex;
3131 static 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, "orc_matrix2_u8");
3141 orc_program_set_backup_function (p, _backup_orc_matrix2_u8);
3142 orc_program_add_destination (p, 1, "d1");
3143 orc_program_add_source (p, 1, "s1");
3144 orc_program_add_source (p, 1, "s2");
3145 orc_program_add_constant (p, 4, 0x00000006, "c1");
3146 orc_program_add_parameter (p, 2, "p1");
3147 orc_program_add_parameter (p, 2, "p2");
3148 orc_program_add_parameter (p, 2, "p3");
3149 orc_program_add_temporary (p, 2, "t1");
3150 orc_program_add_temporary (p, 2, "t2");
3152 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
3154 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
3156 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
3158 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
3160 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
3162 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P3,
3164 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
3166 orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
3167 ORC_VAR_D1, ORC_VAR_D1);
3169 orc_program_compile (p);
3172 orc_once_mutex_unlock ();
3177 ex->arrays[ORC_VAR_D1] = d1;
3178 ex->arrays[ORC_VAR_S1] = (void *) s1;
3179 ex->arrays[ORC_VAR_S2] = (void *) s2;
3180 ex->params[ORC_VAR_P1] = p1;
3181 ex->params[ORC_VAR_P2] = p2;
3182 ex->params[ORC_VAR_P3] = p3;
3184 func = p->code_exec;
3190 /* orc_matrix2_11_u8 */
3193 orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3194 const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
3197 orc_int8 *ORC_RESTRICT ptr0;
3198 const orc_int8 *ORC_RESTRICT ptr4;
3199 const orc_int8 *ORC_RESTRICT ptr5;
3220 ptr0 = (orc_int8 *) d1;
3221 ptr4 = (orc_int8 *) s1;
3222 ptr5 = (orc_int8 *) s2;
3225 var37.i = (int) 0x00000010; /* 16 or 7.90505e-323f */
3229 var40.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
3233 var42.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
3235 for (i = 0; i < n; i++) {
3239 var44.i = (orc_uint8) var36;
3241 var45.i = var44.i - var37.i;
3243 var46.i = (var45.i * var38.i) & 0xffff;
3247 var47.i = (orc_uint8) var39;
3249 var48.i = var47.i - var40.i;
3251 var49.i = (var48.i * var41.i) & 0xffff;
3253 var50.i = var46.i + var49.i;
3255 var51.i = var50.i + var42.i;
3257 var52.i = var51.i >> 8;
3259 var53.i = var52.i + var45.i;
3261 var54.i = var53.i + var48.i;
3263 var43 = ORC_CLAMP_UB (var54.i);
3272 _backup_orc_matrix2_11_u8 (OrcExecutor * ORC_RESTRICT ex)
3276 orc_int8 *ORC_RESTRICT ptr0;
3277 const orc_int8 *ORC_RESTRICT ptr4;
3278 const orc_int8 *ORC_RESTRICT ptr5;
3299 ptr0 = (orc_int8 *) ex->arrays[0];
3300 ptr4 = (orc_int8 *) ex->arrays[4];
3301 ptr5 = (orc_int8 *) ex->arrays[5];
3304 var37.i = (int) 0x00000010; /* 16 or 7.90505e-323f */
3306 var38.i = ex->params[24];
3308 var40.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
3310 var41.i = ex->params[25];
3312 var42.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
3314 for (i = 0; i < n; i++) {
3318 var44.i = (orc_uint8) var36;
3320 var45.i = var44.i - var37.i;
3322 var46.i = (var45.i * var38.i) & 0xffff;
3326 var47.i = (orc_uint8) var39;
3328 var48.i = var47.i - var40.i;
3330 var49.i = (var48.i * var41.i) & 0xffff;
3332 var50.i = var46.i + var49.i;
3334 var51.i = var50.i + var42.i;
3336 var52.i = var51.i >> 8;
3338 var53.i = var52.i + var45.i;
3340 var54.i = var53.i + var48.i;
3342 var43 = ORC_CLAMP_UB (var54.i);
3350 orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3351 const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
3353 OrcExecutor _ex, *ex = &_ex;
3354 static int p_inited = 0;
3355 static OrcProgram *p = 0;
3356 void (*func) (OrcExecutor *);
3359 orc_once_mutex_lock ();
3362 p = orc_program_new ();
3363 orc_program_set_name (p, "orc_matrix2_11_u8");
3364 orc_program_set_backup_function (p, _backup_orc_matrix2_11_u8);
3365 orc_program_add_destination (p, 1, "d1");
3366 orc_program_add_source (p, 1, "s1");
3367 orc_program_add_source (p, 1, "s2");
3368 orc_program_add_constant (p, 4, 0x00000010, "c1");
3369 orc_program_add_constant (p, 4, 0x00000080, "c2");
3370 orc_program_add_constant (p, 4, 0x00000008, "c3");
3371 orc_program_add_parameter (p, 2, "p1");
3372 orc_program_add_parameter (p, 2, "p2");
3373 orc_program_add_temporary (p, 2, "t1");
3374 orc_program_add_temporary (p, 2, "t2");
3375 orc_program_add_temporary (p, 2, "t3");
3376 orc_program_add_temporary (p, 2, "t4");
3378 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
3380 orc_program_append_2 (p, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
3382 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_P1,
3384 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
3386 orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
3388 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_P2,
3390 orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
3392 orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
3394 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C3,
3396 orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T1,
3398 orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
3400 orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3,
3401 ORC_VAR_D1, ORC_VAR_D1);
3403 orc_program_compile (p);
3406 orc_once_mutex_unlock ();
3411 ex->arrays[ORC_VAR_D1] = d1;
3412 ex->arrays[ORC_VAR_S1] = (void *) s1;
3413 ex->arrays[ORC_VAR_S2] = (void *) s2;
3414 ex->params[ORC_VAR_P1] = p1;
3415 ex->params[ORC_VAR_P2] = p2;
3417 func = p->code_exec;
3423 /* orc_matrix2_12_u8 */
3426 orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3427 const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
3430 orc_int8 *ORC_RESTRICT ptr0;
3431 const orc_int8 *ORC_RESTRICT ptr4;
3432 const orc_int8 *ORC_RESTRICT ptr5;
3454 ptr0 = (orc_int8 *) d1;
3455 ptr4 = (orc_int8 *) s1;
3456 ptr5 = (orc_int8 *) s2;
3459 var37.i = (int) 0x00000010; /* 16 or 7.90505e-323f */
3463 var40.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
3467 var42.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
3469 for (i = 0; i < n; i++) {
3473 var44.i = (orc_uint8) var36;
3475 var45.i = var44.i - var37.i;
3477 var46.i = (var45.i * var38.i) & 0xffff;
3481 var47.i = (orc_uint8) var39;
3483 var48.i = var47.i - var40.i;
3485 var49.i = (var48.i * var41.i) & 0xffff;
3487 var50.i = var46.i + var49.i;
3489 var51.i = var50.i + var42.i;
3491 var52.i = var51.i >> 8;
3493 var53.i = var52.i + var45.i;
3495 var54.i = var53.i + var48.i;
3497 var55.i = var54.i + var48.i;
3499 var43 = ORC_CLAMP_UB (var55.i);
3508 _backup_orc_matrix2_12_u8 (OrcExecutor * ORC_RESTRICT ex)
3512 orc_int8 *ORC_RESTRICT ptr0;
3513 const orc_int8 *ORC_RESTRICT ptr4;
3514 const orc_int8 *ORC_RESTRICT ptr5;
3536 ptr0 = (orc_int8 *) ex->arrays[0];
3537 ptr4 = (orc_int8 *) ex->arrays[4];
3538 ptr5 = (orc_int8 *) ex->arrays[5];
3541 var37.i = (int) 0x00000010; /* 16 or 7.90505e-323f */
3543 var38.i = ex->params[24];
3545 var40.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
3547 var41.i = ex->params[25];
3549 var42.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
3551 for (i = 0; i < n; i++) {
3555 var44.i = (orc_uint8) var36;
3557 var45.i = var44.i - var37.i;
3559 var46.i = (var45.i * var38.i) & 0xffff;
3563 var47.i = (orc_uint8) var39;
3565 var48.i = var47.i - var40.i;
3567 var49.i = (var48.i * var41.i) & 0xffff;
3569 var50.i = var46.i + var49.i;
3571 var51.i = var50.i + var42.i;
3573 var52.i = var51.i >> 8;
3575 var53.i = var52.i + var45.i;
3577 var54.i = var53.i + var48.i;
3579 var55.i = var54.i + var48.i;
3581 var43 = ORC_CLAMP_UB (var55.i);
3589 orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3590 const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
3592 OrcExecutor _ex, *ex = &_ex;
3593 static int p_inited = 0;
3594 static OrcProgram *p = 0;
3595 void (*func) (OrcExecutor *);
3598 orc_once_mutex_lock ();
3601 p = orc_program_new ();
3602 orc_program_set_name (p, "orc_matrix2_12_u8");
3603 orc_program_set_backup_function (p, _backup_orc_matrix2_12_u8);
3604 orc_program_add_destination (p, 1, "d1");
3605 orc_program_add_source (p, 1, "s1");
3606 orc_program_add_source (p, 1, "s2");
3607 orc_program_add_constant (p, 4, 0x00000010, "c1");
3608 orc_program_add_constant (p, 4, 0x00000080, "c2");
3609 orc_program_add_constant (p, 4, 0x00000008, "c3");
3610 orc_program_add_parameter (p, 2, "p1");
3611 orc_program_add_parameter (p, 2, "p2");
3612 orc_program_add_temporary (p, 2, "t1");
3613 orc_program_add_temporary (p, 2, "t2");
3614 orc_program_add_temporary (p, 2, "t3");
3615 orc_program_add_temporary (p, 2, "t4");
3617 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
3619 orc_program_append_2 (p, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
3621 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_P1,
3623 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
3625 orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
3627 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_P2,
3629 orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
3631 orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
3633 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C3,
3635 orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T1,
3637 orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
3639 orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
3641 orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3,
3642 ORC_VAR_D1, ORC_VAR_D1);
3644 orc_program_compile (p);
3647 orc_once_mutex_unlock ();
3652 ex->arrays[ORC_VAR_D1] = d1;
3653 ex->arrays[ORC_VAR_S1] = (void *) s1;
3654 ex->arrays[ORC_VAR_S2] = (void *) s2;
3655 ex->params[ORC_VAR_P1] = p1;
3656 ex->params[ORC_VAR_P2] = p2;
3658 func = p->code_exec;
3664 /* orc_matrix3_u8 */
3667 orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3668 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
3669 int p2, int p3, int p4, int n)
3672 orc_int8 *ORC_RESTRICT ptr0;
3673 const orc_int8 *ORC_RESTRICT ptr4;
3674 const orc_int8 *ORC_RESTRICT ptr5;
3675 const orc_int8 *ORC_RESTRICT ptr6;
3695 ptr0 = (orc_int8 *) d1;
3696 ptr4 = (orc_int8 *) s1;
3697 ptr5 = (orc_int8 *) s2;
3698 ptr6 = (orc_int8 *) s3;
3709 for (i = 0; i < n; i++) {
3713 var42.i = (orc_uint8) var34;
3715 var43.i = (var42.i * var35.i) & 0xffff;
3719 var44.i = (orc_uint8) var36;
3721 var45.i = (var44.i * var37.i) & 0xffff;
3723 var46.i = var43.i + var45.i;
3727 var47.i = (orc_uint8) var38;
3729 var48.i = (var47.i * var39.i) & 0xffff;
3731 var49.i = var46.i + var48.i;
3733 var50.i = var49.i + var40.i;
3735 var51.i = var50.i >> 6;
3737 var41 = ORC_CLAMP_UB (var51.i);
3746 _backup_orc_matrix3_u8 (OrcExecutor * ORC_RESTRICT ex)
3750 orc_int8 *ORC_RESTRICT ptr0;
3751 const orc_int8 *ORC_RESTRICT ptr4;
3752 const orc_int8 *ORC_RESTRICT ptr5;
3753 const orc_int8 *ORC_RESTRICT ptr6;
3773 ptr0 = (orc_int8 *) ex->arrays[0];
3774 ptr4 = (orc_int8 *) ex->arrays[4];
3775 ptr5 = (orc_int8 *) ex->arrays[5];
3776 ptr6 = (orc_int8 *) ex->arrays[6];
3779 var35.i = ex->params[24];
3781 var37.i = ex->params[25];
3783 var39.i = ex->params[26];
3785 var40.i = ex->params[27];
3787 for (i = 0; i < n; i++) {
3791 var42.i = (orc_uint8) var34;
3793 var43.i = (var42.i * var35.i) & 0xffff;
3797 var44.i = (orc_uint8) var36;
3799 var45.i = (var44.i * var37.i) & 0xffff;
3801 var46.i = var43.i + var45.i;
3805 var47.i = (orc_uint8) var38;
3807 var48.i = (var47.i * var39.i) & 0xffff;
3809 var49.i = var46.i + var48.i;
3811 var50.i = var49.i + var40.i;
3813 var51.i = var50.i >> 6;
3815 var41 = ORC_CLAMP_UB (var51.i);
3823 orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3824 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
3825 int p2, int p3, int p4, int n)
3827 OrcExecutor _ex, *ex = &_ex;
3828 static int p_inited = 0;
3829 static OrcProgram *p = 0;
3830 void (*func) (OrcExecutor *);
3833 orc_once_mutex_lock ();
3836 p = orc_program_new ();
3837 orc_program_set_name (p, "orc_matrix3_u8");
3838 orc_program_set_backup_function (p, _backup_orc_matrix3_u8);
3839 orc_program_add_destination (p, 1, "d1");
3840 orc_program_add_source (p, 1, "s1");
3841 orc_program_add_source (p, 1, "s2");
3842 orc_program_add_source (p, 1, "s3");
3843 orc_program_add_constant (p, 4, 0x00000006, "c1");
3844 orc_program_add_parameter (p, 2, "p1");
3845 orc_program_add_parameter (p, 2, "p2");
3846 orc_program_add_parameter (p, 2, "p3");
3847 orc_program_add_parameter (p, 2, "p4");
3848 orc_program_add_temporary (p, 2, "t1");
3849 orc_program_add_temporary (p, 2, "t2");
3851 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
3853 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
3855 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
3857 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
3859 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
3861 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1,
3863 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3,
3865 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
3867 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P4,
3869 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
3871 orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
3872 ORC_VAR_D1, ORC_VAR_D1);
3874 orc_program_compile (p);
3877 orc_once_mutex_unlock ();
3882 ex->arrays[ORC_VAR_D1] = d1;
3883 ex->arrays[ORC_VAR_S1] = (void *) s1;
3884 ex->arrays[ORC_VAR_S2] = (void *) s2;
3885 ex->arrays[ORC_VAR_S3] = (void *) s3;
3886 ex->params[ORC_VAR_P1] = p1;
3887 ex->params[ORC_VAR_P2] = p2;
3888 ex->params[ORC_VAR_P3] = p3;
3889 ex->params[ORC_VAR_P4] = p4;
3891 func = p->code_exec;
3897 /* orc_matrix3_100_u8 */
3900 orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
3901 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
3902 int p2, int p3, int n)
3905 orc_int8 *ORC_RESTRICT ptr0;
3906 const orc_int8 *ORC_RESTRICT ptr4;
3907 const orc_int8 *ORC_RESTRICT ptr5;
3908 const orc_int8 *ORC_RESTRICT ptr6;
3935 ptr0 = (orc_int8 *) d1;
3936 ptr4 = (orc_int8 *) s1;
3937 ptr5 = (orc_int8 *) s2;
3938 ptr6 = (orc_int8 *) s3;
3941 var36.i = (int) 0x00000010; /* 16 or 7.90505e-323f */
3945 var39.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
3949 var42.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
3953 var44.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
3955 for (i = 0; i < n; i++) {
3959 var46.i = (orc_uint8) var35;
3961 var47.i = var46.i - var36.i;
3963 var48.i = (var47.i * var37.i) & 0xffff;
3967 var49.i = (orc_uint8) var38;
3969 var50.i = var49.i - var39.i;
3971 var51.i = (var50.i * var40.i) & 0xffff;
3973 var52.i = var48.i + var51.i;
3977 var53.i = (orc_uint8) var41;
3979 var54.i = var53.i - var42.i;
3981 var55.i = (var54.i * var43.i) & 0xffff;
3983 var56.i = var52.i + var55.i;
3985 var57.i = var56.i + var44.i;
3987 var58.i = var57.i >> 8;
3989 var59.i = var58.i + var47.i;
3991 var45 = ORC_CLAMP_UB (var59.i);
4000 _backup_orc_matrix3_100_u8 (OrcExecutor * ORC_RESTRICT ex)
4004 orc_int8 *ORC_RESTRICT ptr0;
4005 const orc_int8 *ORC_RESTRICT ptr4;
4006 const orc_int8 *ORC_RESTRICT ptr5;
4007 const orc_int8 *ORC_RESTRICT ptr6;
4034 ptr0 = (orc_int8 *) ex->arrays[0];
4035 ptr4 = (orc_int8 *) ex->arrays[4];
4036 ptr5 = (orc_int8 *) ex->arrays[5];
4037 ptr6 = (orc_int8 *) ex->arrays[6];
4040 var36.i = (int) 0x00000010; /* 16 or 7.90505e-323f */
4042 var37.i = ex->params[24];
4044 var39.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
4046 var40.i = ex->params[25];
4048 var42.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
4050 var43.i = ex->params[26];
4052 var44.i = (int) 0x00000080; /* 128 or 6.32404e-322f */
4054 for (i = 0; i < n; i++) {
4058 var46.i = (orc_uint8) var35;
4060 var47.i = var46.i - var36.i;
4062 var48.i = (var47.i * var37.i) & 0xffff;
4066 var49.i = (orc_uint8) var38;
4068 var50.i = var49.i - var39.i;
4070 var51.i = (var50.i * var40.i) & 0xffff;
4072 var52.i = var48.i + var51.i;
4076 var53.i = (orc_uint8) var41;
4078 var54.i = var53.i - var42.i;
4080 var55.i = (var54.i * var43.i) & 0xffff;
4082 var56.i = var52.i + var55.i;
4084 var57.i = var56.i + var44.i;
4086 var58.i = var57.i >> 8;
4088 var59.i = var58.i + var47.i;
4090 var45 = ORC_CLAMP_UB (var59.i);
4098 orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4099 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
4100 int p2, int p3, int n)
4102 OrcExecutor _ex, *ex = &_ex;
4103 static int p_inited = 0;
4104 static OrcProgram *p = 0;
4105 void (*func) (OrcExecutor *);
4108 orc_once_mutex_lock ();
4111 p = orc_program_new ();
4112 orc_program_set_name (p, "orc_matrix3_100_u8");
4113 orc_program_set_backup_function (p, _backup_orc_matrix3_100_u8);
4114 orc_program_add_destination (p, 1, "d1");
4115 orc_program_add_source (p, 1, "s1");
4116 orc_program_add_source (p, 1, "s2");
4117 orc_program_add_source (p, 1, "s3");
4118 orc_program_add_constant (p, 4, 0x00000010, "c1");
4119 orc_program_add_constant (p, 4, 0x00000080, "c2");
4120 orc_program_add_constant (p, 4, 0x00000008, "c3");
4121 orc_program_add_parameter (p, 2, "p1");
4122 orc_program_add_parameter (p, 2, "p2");
4123 orc_program_add_parameter (p, 2, "p3");
4124 orc_program_add_temporary (p, 2, "t1");
4125 orc_program_add_temporary (p, 2, "t2");
4126 orc_program_add_temporary (p, 2, "t3");
4128 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
4130 orc_program_append_2 (p, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
4132 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_P1,
4134 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
4136 orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
4138 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
4140 orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
4142 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1,
4144 orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
4146 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3,
4148 orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
4150 orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
4152 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C3,
4154 orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T1,
4156 orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3,
4157 ORC_VAR_D1, ORC_VAR_D1);
4159 orc_program_compile (p);
4162 orc_once_mutex_unlock ();
4167 ex->arrays[ORC_VAR_D1] = d1;
4168 ex->arrays[ORC_VAR_S1] = (void *) s1;
4169 ex->arrays[ORC_VAR_S2] = (void *) s2;
4170 ex->arrays[ORC_VAR_S3] = (void *) s3;
4171 ex->params[ORC_VAR_P1] = p1;
4172 ex->params[ORC_VAR_P2] = p2;
4173 ex->params[ORC_VAR_P3] = p3;
4175 func = p->code_exec;
4181 /* orc_matrix3_100_offset_u8 */
4184 orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1,
4185 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
4186 const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
4190 orc_int8 *ORC_RESTRICT ptr0;
4191 const orc_int8 *ORC_RESTRICT ptr4;
4192 const orc_int8 *ORC_RESTRICT ptr5;
4193 const orc_int8 *ORC_RESTRICT ptr6;
4214 ptr0 = (orc_int8 *) d1;
4215 ptr4 = (orc_int8 *) s1;
4216 ptr5 = (orc_int8 *) s2;
4217 ptr6 = (orc_int8 *) s3;
4228 for (i = 0; i < n; i++) {
4232 var43.i = (orc_uint8) var35;
4234 var44.i = (var43.i * var36.i) & 0xffff;
4238 var45.i = (orc_uint8) var37;
4240 var46.i = (var45.i * var38.i) & 0xffff;
4242 var47.i = var44.i + var46.i;
4246 var48.i = (orc_uint8) var39;
4248 var49.i = (var48.i * var40.i) & 0xffff;
4250 var50.i = var47.i + var49.i;
4252 var51.i = var50.i + var41.i;
4254 var52.i = var51.i >> p5;
4256 var53.i = var52.i + var43.i;
4258 var42 = ORC_CLAMP_UB (var53.i);
4267 _backup_orc_matrix3_100_offset_u8 (OrcExecutor * ORC_RESTRICT ex)
4271 orc_int8 *ORC_RESTRICT ptr0;
4272 const orc_int8 *ORC_RESTRICT ptr4;
4273 const orc_int8 *ORC_RESTRICT ptr5;
4274 const orc_int8 *ORC_RESTRICT ptr6;
4295 ptr0 = (orc_int8 *) ex->arrays[0];
4296 ptr4 = (orc_int8 *) ex->arrays[4];
4297 ptr5 = (orc_int8 *) ex->arrays[5];
4298 ptr6 = (orc_int8 *) ex->arrays[6];
4301 var36.i = ex->params[24];
4303 var38.i = ex->params[25];
4305 var40.i = ex->params[26];
4307 var41.i = ex->params[27];
4309 for (i = 0; i < n; i++) {
4313 var43.i = (orc_uint8) var35;
4315 var44.i = (var43.i * var36.i) & 0xffff;
4319 var45.i = (orc_uint8) var37;
4321 var46.i = (var45.i * var38.i) & 0xffff;
4323 var47.i = var44.i + var46.i;
4327 var48.i = (orc_uint8) var39;
4329 var49.i = (var48.i * var40.i) & 0xffff;
4331 var50.i = var47.i + var49.i;
4333 var51.i = var50.i + var41.i;
4335 var52.i = var51.i >> ex->params[28];
4337 var53.i = var52.i + var43.i;
4339 var42 = ORC_CLAMP_UB (var53.i);
4347 orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1,
4348 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
4349 const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
4352 OrcExecutor _ex, *ex = &_ex;
4353 static int p_inited = 0;
4354 static OrcProgram *p = 0;
4355 void (*func) (OrcExecutor *);
4358 orc_once_mutex_lock ();
4361 p = orc_program_new ();
4362 orc_program_set_name (p, "orc_matrix3_100_offset_u8");
4363 orc_program_set_backup_function (p, _backup_orc_matrix3_100_offset_u8);
4364 orc_program_add_destination (p, 1, "d1");
4365 orc_program_add_source (p, 1, "s1");
4366 orc_program_add_source (p, 1, "s2");
4367 orc_program_add_source (p, 1, "s3");
4368 orc_program_add_parameter (p, 2, "p1");
4369 orc_program_add_parameter (p, 2, "p2");
4370 orc_program_add_parameter (p, 2, "p3");
4371 orc_program_add_parameter (p, 2, "p4");
4372 orc_program_add_parameter (p, 2, "p5");
4373 orc_program_add_temporary (p, 2, "t1");
4374 orc_program_add_temporary (p, 2, "t2");
4375 orc_program_add_temporary (p, 2, "t3");
4377 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S1, ORC_VAR_D1,
4379 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_P1,
4381 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
4383 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
4385 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
4387 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1,
4389 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3,
4391 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
4393 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P4,
4395 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P5,
4397 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T3,
4399 orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
4400 ORC_VAR_D1, ORC_VAR_D1);
4402 orc_program_compile (p);
4405 orc_once_mutex_unlock ();
4410 ex->arrays[ORC_VAR_D1] = d1;
4411 ex->arrays[ORC_VAR_S1] = (void *) s1;
4412 ex->arrays[ORC_VAR_S2] = (void *) s2;
4413 ex->arrays[ORC_VAR_S3] = (void *) s3;
4414 ex->params[ORC_VAR_P1] = p1;
4415 ex->params[ORC_VAR_P2] = p2;
4416 ex->params[ORC_VAR_P3] = p3;
4417 ex->params[ORC_VAR_P4] = p4;
4418 ex->params[ORC_VAR_P5] = p5;
4420 func = p->code_exec;
4426 /* orc_matrix3_000_u8 */
4429 orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4430 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
4431 int p2, int p3, int p4, int p5, int n)
4434 orc_int8 *ORC_RESTRICT ptr0;
4435 const orc_int8 *ORC_RESTRICT ptr4;
4436 const orc_int8 *ORC_RESTRICT ptr5;
4437 const orc_int8 *ORC_RESTRICT ptr6;
4457 ptr0 = (orc_int8 *) d1;
4458 ptr4 = (orc_int8 *) s1;
4459 ptr5 = (orc_int8 *) s2;
4460 ptr6 = (orc_int8 *) s3;
4471 for (i = 0; i < n; i++) {
4475 var42.i = (orc_uint8) var34;
4477 var43.i = (var42.i * var35.i) & 0xffff;
4481 var44.i = (orc_uint8) var36;
4483 var45.i = (var44.i * var37.i) & 0xffff;
4485 var46.i = var43.i + var45.i;
4489 var47.i = (orc_uint8) var38;
4491 var48.i = (var47.i * var39.i) & 0xffff;
4493 var49.i = var46.i + var48.i;
4495 var50.i = var49.i + var40.i;
4497 var51.i = var50.i >> p5;
4508 _backup_orc_matrix3_000_u8 (OrcExecutor * ORC_RESTRICT ex)
4512 orc_int8 *ORC_RESTRICT ptr0;
4513 const orc_int8 *ORC_RESTRICT ptr4;
4514 const orc_int8 *ORC_RESTRICT ptr5;
4515 const orc_int8 *ORC_RESTRICT ptr6;
4535 ptr0 = (orc_int8 *) ex->arrays[0];
4536 ptr4 = (orc_int8 *) ex->arrays[4];
4537 ptr5 = (orc_int8 *) ex->arrays[5];
4538 ptr6 = (orc_int8 *) ex->arrays[6];
4541 var35.i = ex->params[24];
4543 var37.i = ex->params[25];
4545 var39.i = ex->params[26];
4547 var40.i = ex->params[27];
4549 for (i = 0; i < n; i++) {
4553 var42.i = (orc_uint8) var34;
4555 var43.i = (var42.i * var35.i) & 0xffff;
4559 var44.i = (orc_uint8) var36;
4561 var45.i = (var44.i * var37.i) & 0xffff;
4563 var46.i = var43.i + var45.i;
4567 var47.i = (orc_uint8) var38;
4569 var48.i = (var47.i * var39.i) & 0xffff;
4571 var49.i = var46.i + var48.i;
4573 var50.i = var49.i + var40.i;
4575 var51.i = var50.i >> ex->params[28];
4585 orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4586 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
4587 int p2, int p3, int p4, int p5, int n)
4589 OrcExecutor _ex, *ex = &_ex;
4590 static int p_inited = 0;
4591 static OrcProgram *p = 0;
4592 void (*func) (OrcExecutor *);
4595 orc_once_mutex_lock ();
4598 p = orc_program_new ();
4599 orc_program_set_name (p, "orc_matrix3_000_u8");
4600 orc_program_set_backup_function (p, _backup_orc_matrix3_000_u8);
4601 orc_program_add_destination (p, 1, "d1");
4602 orc_program_add_source (p, 1, "s1");
4603 orc_program_add_source (p, 1, "s2");
4604 orc_program_add_source (p, 1, "s3");
4605 orc_program_add_parameter (p, 2, "p1");
4606 orc_program_add_parameter (p, 2, "p2");
4607 orc_program_add_parameter (p, 2, "p3");
4608 orc_program_add_parameter (p, 2, "p4");
4609 orc_program_add_parameter (p, 2, "p5");
4610 orc_program_add_temporary (p, 2, "t1");
4611 orc_program_add_temporary (p, 2, "t2");
4613 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
4615 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
4617 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
4619 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
4621 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
4623 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1,
4625 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3,
4627 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
4629 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P4,
4631 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P5,
4633 orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
4636 orc_program_compile (p);
4639 orc_once_mutex_unlock ();
4644 ex->arrays[ORC_VAR_D1] = d1;
4645 ex->arrays[ORC_VAR_S1] = (void *) s1;
4646 ex->arrays[ORC_VAR_S2] = (void *) s2;
4647 ex->arrays[ORC_VAR_S3] = (void *) s3;
4648 ex->params[ORC_VAR_P1] = p1;
4649 ex->params[ORC_VAR_P2] = p2;
4650 ex->params[ORC_VAR_P3] = p3;
4651 ex->params[ORC_VAR_P4] = p4;
4652 ex->params[ORC_VAR_P5] = p5;
4654 func = p->code_exec;
4663 orc_pack_123x (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4664 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
4668 orc_union32 *ORC_RESTRICT ptr0;
4669 const orc_int8 *ORC_RESTRICT ptr4;
4670 const orc_int8 *ORC_RESTRICT ptr5;
4671 const orc_int8 *ORC_RESTRICT ptr6;
4680 ptr0 = (orc_union32 *) d1;
4681 ptr4 = (orc_int8 *) s1;
4682 ptr5 = (orc_int8 *) s2;
4683 ptr6 = (orc_int8 *) s3;
4688 for (i = 0; i < n; i++) {
4696 _dest.x2[0] = var34;
4697 _dest.x2[1] = var35;
4705 _dest.x2[0] = var36;
4706 _dest.x2[1] = var37;
4712 _dest.x2[0] = var39.i;
4713 _dest.x2[1] = var40.i;
4724 _backup_orc_pack_123x (OrcExecutor * ORC_RESTRICT ex)
4728 orc_union32 *ORC_RESTRICT ptr0;
4729 const orc_int8 *ORC_RESTRICT ptr4;
4730 const orc_int8 *ORC_RESTRICT ptr5;
4731 const orc_int8 *ORC_RESTRICT ptr6;
4740 ptr0 = (orc_union32 *) ex->arrays[0];
4741 ptr4 = (orc_int8 *) ex->arrays[4];
4742 ptr5 = (orc_int8 *) ex->arrays[5];
4743 ptr6 = (orc_int8 *) ex->arrays[6];
4746 var37 = ex->params[24];
4748 for (i = 0; i < n; i++) {
4756 _dest.x2[0] = var34;
4757 _dest.x2[1] = var35;
4765 _dest.x2[0] = var36;
4766 _dest.x2[1] = var37;
4772 _dest.x2[0] = var39.i;
4773 _dest.x2[1] = var40.i;
4783 orc_pack_123x (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4784 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
4787 OrcExecutor _ex, *ex = &_ex;
4788 static int p_inited = 0;
4789 static OrcProgram *p = 0;
4790 void (*func) (OrcExecutor *);
4793 orc_once_mutex_lock ();
4796 p = orc_program_new ();
4797 orc_program_set_name (p, "orc_pack_123x");
4798 orc_program_set_backup_function (p, _backup_orc_pack_123x);
4799 orc_program_add_destination (p, 4, "d1");
4800 orc_program_add_source (p, 1, "s1");
4801 orc_program_add_source (p, 1, "s2");
4802 orc_program_add_source (p, 1, "s3");
4803 orc_program_add_parameter (p, 1, "p1");
4804 orc_program_add_temporary (p, 2, "t1");
4805 orc_program_add_temporary (p, 2, "t2");
4807 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_S2,
4809 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_P1,
4811 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
4814 orc_program_compile (p);
4817 orc_once_mutex_unlock ();
4822 ex->arrays[ORC_VAR_D1] = d1;
4823 ex->arrays[ORC_VAR_S1] = (void *) s1;
4824 ex->arrays[ORC_VAR_S2] = (void *) s2;
4825 ex->arrays[ORC_VAR_S3] = (void *) s3;
4826 ex->params[ORC_VAR_P1] = p1;
4828 func = p->code_exec;
4837 orc_pack_x123 (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4838 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
4842 orc_union32 *ORC_RESTRICT ptr0;
4843 const orc_int8 *ORC_RESTRICT ptr4;
4844 const orc_int8 *ORC_RESTRICT ptr5;
4845 const orc_int8 *ORC_RESTRICT ptr6;
4854 ptr0 = (orc_union32 *) d1;
4855 ptr4 = (orc_int8 *) s1;
4856 ptr5 = (orc_int8 *) s2;
4857 ptr6 = (orc_int8 *) s3;
4862 for (i = 0; i < n; i++) {
4868 _dest.x2[0] = var34;
4869 _dest.x2[1] = var35;
4879 _dest.x2[0] = var36;
4880 _dest.x2[1] = var37;
4886 _dest.x2[0] = var39.i;
4887 _dest.x2[1] = var40.i;
4898 _backup_orc_pack_x123 (OrcExecutor * ORC_RESTRICT ex)
4902 orc_union32 *ORC_RESTRICT ptr0;
4903 const orc_int8 *ORC_RESTRICT ptr4;
4904 const orc_int8 *ORC_RESTRICT ptr5;
4905 const orc_int8 *ORC_RESTRICT ptr6;
4914 ptr0 = (orc_union32 *) ex->arrays[0];
4915 ptr4 = (orc_int8 *) ex->arrays[4];
4916 ptr5 = (orc_int8 *) ex->arrays[5];
4917 ptr6 = (orc_int8 *) ex->arrays[6];
4920 var34 = ex->params[24];
4922 for (i = 0; i < n; i++) {
4928 _dest.x2[0] = var34;
4929 _dest.x2[1] = var35;
4939 _dest.x2[0] = var36;
4940 _dest.x2[1] = var37;
4946 _dest.x2[0] = var39.i;
4947 _dest.x2[1] = var40.i;
4957 orc_pack_x123 (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
4958 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
4961 OrcExecutor _ex, *ex = &_ex;
4962 static int p_inited = 0;
4963 static OrcProgram *p = 0;
4964 void (*func) (OrcExecutor *);
4967 orc_once_mutex_lock ();
4970 p = orc_program_new ();
4971 orc_program_set_name (p, "orc_pack_x123");
4972 orc_program_set_backup_function (p, _backup_orc_pack_x123);
4973 orc_program_add_destination (p, 4, "d1");
4974 orc_program_add_source (p, 1, "s1");
4975 orc_program_add_source (p, 1, "s2");
4976 orc_program_add_source (p, 1, "s3");
4977 orc_program_add_parameter (p, 1, "p1");
4978 orc_program_add_temporary (p, 2, "t1");
4979 orc_program_add_temporary (p, 2, "t2");
4981 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_P1, ORC_VAR_S1,
4983 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S3,
4985 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
4988 orc_program_compile (p);
4991 orc_once_mutex_unlock ();
4996 ex->arrays[ORC_VAR_D1] = d1;
4997 ex->arrays[ORC_VAR_S1] = (void *) s1;
4998 ex->arrays[ORC_VAR_S2] = (void *) s2;
4999 ex->arrays[ORC_VAR_S3] = (void *) s3;
5000 ex->params[ORC_VAR_P1] = p1;
5002 func = p->code_exec;
5008 /* cogorc_combine2_u8 */
5011 cogorc_combine2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
5012 const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
5015 orc_int8 *ORC_RESTRICT ptr0;
5016 const orc_int8 *ORC_RESTRICT ptr4;
5017 const orc_int8 *ORC_RESTRICT ptr5;
5030 ptr0 = (orc_int8 *) d1;
5031 ptr4 = (orc_int8 *) s1;
5032 ptr5 = (orc_int8 *) s2;
5039 for (i = 0; i < n; i++) {
5043 var39.i = (orc_uint8) var34;
5045 var40.i = (var39.i * var35.i) & 0xffff;
5049 var41.i = (orc_uint8) var36;
5051 var42.i = (var41.i * var37.i) & 0xffff;
5053 var43.i = var40.i + var42.i;
5055 var44.i = ((orc_uint16) var43.i) >> 8;
5057 var38 = ORC_CLAMP_UB (var44.i);
5066 _backup_cogorc_combine2_u8 (OrcExecutor * ORC_RESTRICT ex)
5070 orc_int8 *ORC_RESTRICT ptr0;
5071 const orc_int8 *ORC_RESTRICT ptr4;
5072 const orc_int8 *ORC_RESTRICT ptr5;
5085 ptr0 = (orc_int8 *) ex->arrays[0];
5086 ptr4 = (orc_int8 *) ex->arrays[4];
5087 ptr5 = (orc_int8 *) ex->arrays[5];
5090 var35.i = ex->params[24];
5092 var37.i = ex->params[25];
5094 for (i = 0; i < n; i++) {
5098 var39.i = (orc_uint8) var34;
5100 var40.i = (var39.i * var35.i) & 0xffff;
5104 var41.i = (orc_uint8) var36;
5106 var42.i = (var41.i * var37.i) & 0xffff;
5108 var43.i = var40.i + var42.i;
5110 var44.i = ((orc_uint16) var43.i) >> 8;
5112 var38 = ORC_CLAMP_UB (var44.i);
5120 cogorc_combine2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
5121 const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
5123 OrcExecutor _ex, *ex = &_ex;
5124 static int p_inited = 0;
5125 static OrcProgram *p = 0;
5126 void (*func) (OrcExecutor *);
5129 orc_once_mutex_lock ();
5132 p = orc_program_new ();
5133 orc_program_set_name (p, "cogorc_combine2_u8");
5134 orc_program_set_backup_function (p, _backup_cogorc_combine2_u8);
5135 orc_program_add_destination (p, 1, "d1");
5136 orc_program_add_source (p, 1, "s1");
5137 orc_program_add_source (p, 1, "s2");
5138 orc_program_add_constant (p, 4, 0x00000008, "c1");
5139 orc_program_add_parameter (p, 2, "p1");
5140 orc_program_add_parameter (p, 2, "p2");
5141 orc_program_add_temporary (p, 2, "t1");
5142 orc_program_add_temporary (p, 2, "t2");
5144 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
5146 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
5148 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
5150 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
5152 orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
5154 orc_program_append_2 (p, "shruw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
5156 orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
5157 ORC_VAR_D1, ORC_VAR_D1);
5159 orc_program_compile (p);
5162 orc_once_mutex_unlock ();
5167 ex->arrays[ORC_VAR_D1] = d1;
5168 ex->arrays[ORC_VAR_S1] = (void *) s1;
5169 ex->arrays[ORC_VAR_S2] = (void *) s2;
5170 ex->params[ORC_VAR_P1] = p1;
5171 ex->params[ORC_VAR_P2] = p2;
5173 func = p->code_exec;
5179 /* cogorc_convert_I420_UYVY */
5182 cogorc_convert_I420_UYVY (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
5183 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
5184 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
5187 orc_union32 *ORC_RESTRICT ptr0;
5188 orc_union32 *ORC_RESTRICT ptr1;
5189 const orc_union16 *ORC_RESTRICT ptr4;
5190 const orc_union16 *ORC_RESTRICT ptr5;
5191 const orc_int8 *ORC_RESTRICT ptr6;
5192 const orc_int8 *ORC_RESTRICT ptr7;
5201 ptr0 = (orc_union32 *) d1;
5202 ptr1 = (orc_union32 *) d2;
5203 ptr4 = (orc_union16 *) s1;
5204 ptr5 = (orc_union16 *) s2;
5205 ptr6 = (orc_int8 *) s3;
5206 ptr7 = (orc_int8 *) s4;
5209 for (i = 0; i < n; i++) {
5217 _dest.x2[0] = var33;
5218 _dest.x2[1] = var34;
5226 _dest.x2[0] = var39.x2[0];
5227 _dest.x2[1] = var35.x2[0];
5228 var36.x2[0] = _dest.i;
5232 _dest.x2[0] = var39.x2[1];
5233 _dest.x2[1] = var35.x2[1];
5234 var36.x2[1] = _dest.i;
5243 _dest.x2[0] = var39.x2[0];
5244 _dest.x2[1] = var37.x2[0];
5245 var38.x2[0] = _dest.i;
5249 _dest.x2[0] = var39.x2[1];
5250 _dest.x2[1] = var37.x2[1];
5251 var38.x2[1] = _dest.i;
5261 _backup_cogorc_convert_I420_UYVY (OrcExecutor * ORC_RESTRICT ex)
5265 orc_union32 *ORC_RESTRICT ptr0;
5266 orc_union32 *ORC_RESTRICT ptr1;
5267 const orc_union16 *ORC_RESTRICT ptr4;
5268 const orc_union16 *ORC_RESTRICT ptr5;
5269 const orc_int8 *ORC_RESTRICT ptr6;
5270 const orc_int8 *ORC_RESTRICT ptr7;
5279 ptr0 = (orc_union32 *) ex->arrays[0];
5280 ptr1 = (orc_union32 *) ex->arrays[1];
5281 ptr4 = (orc_union16 *) ex->arrays[4];
5282 ptr5 = (orc_union16 *) ex->arrays[5];
5283 ptr6 = (orc_int8 *) ex->arrays[6];
5284 ptr7 = (orc_int8 *) ex->arrays[7];
5287 for (i = 0; i < n; i++) {
5295 _dest.x2[0] = var33;
5296 _dest.x2[1] = var34;
5304 _dest.x2[0] = var39.x2[0];
5305 _dest.x2[1] = var35.x2[0];
5306 var36.x2[0] = _dest.i;
5310 _dest.x2[0] = var39.x2[1];
5311 _dest.x2[1] = var35.x2[1];
5312 var36.x2[1] = _dest.i;
5321 _dest.x2[0] = var39.x2[0];
5322 _dest.x2[1] = var37.x2[0];
5323 var38.x2[0] = _dest.i;
5327 _dest.x2[0] = var39.x2[1];
5328 _dest.x2[1] = var37.x2[1];
5329 var38.x2[1] = _dest.i;
5338 cogorc_convert_I420_UYVY (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
5339 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
5340 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
5342 OrcExecutor _ex, *ex = &_ex;
5343 static int p_inited = 0;
5344 static OrcProgram *p = 0;
5345 void (*func) (OrcExecutor *);
5348 orc_once_mutex_lock ();
5351 p = orc_program_new ();
5352 orc_program_set_name (p, "cogorc_convert_I420_UYVY");
5353 orc_program_set_backup_function (p, _backup_cogorc_convert_I420_UYVY);
5354 orc_program_add_destination (p, 4, "d1");
5355 orc_program_add_destination (p, 4, "d2");
5356 orc_program_add_source (p, 2, "s1");
5357 orc_program_add_source (p, 2, "s2");
5358 orc_program_add_source (p, 1, "s3");
5359 orc_program_add_source (p, 1, "s4");
5360 orc_program_add_temporary (p, 2, "t1");
5362 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S3, ORC_VAR_S4,
5364 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
5366 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D2, ORC_VAR_T1, ORC_VAR_S2,
5369 orc_program_compile (p);
5372 orc_once_mutex_unlock ();
5377 ex->arrays[ORC_VAR_D1] = d1;
5378 ex->arrays[ORC_VAR_D2] = d2;
5379 ex->arrays[ORC_VAR_S1] = (void *) s1;
5380 ex->arrays[ORC_VAR_S2] = (void *) s2;
5381 ex->arrays[ORC_VAR_S3] = (void *) s3;
5382 ex->arrays[ORC_VAR_S4] = (void *) s4;
5384 func = p->code_exec;
5390 /* cogorc_convert_I420_YUY2 */
5393 cogorc_convert_I420_YUY2 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
5394 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
5395 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
5398 orc_union32 *ORC_RESTRICT ptr0;
5399 orc_union32 *ORC_RESTRICT ptr1;
5400 const orc_union16 *ORC_RESTRICT ptr4;
5401 const orc_union16 *ORC_RESTRICT ptr5;
5402 const orc_int8 *ORC_RESTRICT ptr6;
5403 const orc_int8 *ORC_RESTRICT ptr7;
5412 ptr0 = (orc_union32 *) d1;
5413 ptr1 = (orc_union32 *) d2;
5414 ptr4 = (orc_union16 *) s1;
5415 ptr5 = (orc_union16 *) s2;
5416 ptr6 = (orc_int8 *) s3;
5417 ptr7 = (orc_int8 *) s4;
5420 for (i = 0; i < n; i++) {
5428 _dest.x2[0] = var33;
5429 _dest.x2[1] = var34;
5437 _dest.x2[0] = var35.x2[0];
5438 _dest.x2[1] = var39.x2[0];
5439 var36.x2[0] = _dest.i;
5443 _dest.x2[0] = var35.x2[1];
5444 _dest.x2[1] = var39.x2[1];
5445 var36.x2[1] = _dest.i;
5454 _dest.x2[0] = var37.x2[0];
5455 _dest.x2[1] = var39.x2[0];
5456 var38.x2[0] = _dest.i;
5460 _dest.x2[0] = var37.x2[1];
5461 _dest.x2[1] = var39.x2[1];
5462 var38.x2[1] = _dest.i;
5472 _backup_cogorc_convert_I420_YUY2 (OrcExecutor * ORC_RESTRICT ex)
5476 orc_union32 *ORC_RESTRICT ptr0;
5477 orc_union32 *ORC_RESTRICT ptr1;
5478 const orc_union16 *ORC_RESTRICT ptr4;
5479 const orc_union16 *ORC_RESTRICT ptr5;
5480 const orc_int8 *ORC_RESTRICT ptr6;
5481 const orc_int8 *ORC_RESTRICT ptr7;
5490 ptr0 = (orc_union32 *) ex->arrays[0];
5491 ptr1 = (orc_union32 *) ex->arrays[1];
5492 ptr4 = (orc_union16 *) ex->arrays[4];
5493 ptr5 = (orc_union16 *) ex->arrays[5];
5494 ptr6 = (orc_int8 *) ex->arrays[6];
5495 ptr7 = (orc_int8 *) ex->arrays[7];
5498 for (i = 0; i < n; i++) {
5506 _dest.x2[0] = var33;
5507 _dest.x2[1] = var34;
5515 _dest.x2[0] = var35.x2[0];
5516 _dest.x2[1] = var39.x2[0];
5517 var36.x2[0] = _dest.i;
5521 _dest.x2[0] = var35.x2[1];
5522 _dest.x2[1] = var39.x2[1];
5523 var36.x2[1] = _dest.i;
5532 _dest.x2[0] = var37.x2[0];
5533 _dest.x2[1] = var39.x2[0];
5534 var38.x2[0] = _dest.i;
5538 _dest.x2[0] = var37.x2[1];
5539 _dest.x2[1] = var39.x2[1];
5540 var38.x2[1] = _dest.i;
5549 cogorc_convert_I420_YUY2 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
5550 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
5551 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
5553 OrcExecutor _ex, *ex = &_ex;
5554 static int p_inited = 0;
5555 static OrcProgram *p = 0;
5556 void (*func) (OrcExecutor *);
5559 orc_once_mutex_lock ();
5562 p = orc_program_new ();
5563 orc_program_set_name (p, "cogorc_convert_I420_YUY2");
5564 orc_program_set_backup_function (p, _backup_cogorc_convert_I420_YUY2);
5565 orc_program_add_destination (p, 4, "d1");
5566 orc_program_add_destination (p, 4, "d2");
5567 orc_program_add_source (p, 2, "s1");
5568 orc_program_add_source (p, 2, "s2");
5569 orc_program_add_source (p, 1, "s3");
5570 orc_program_add_source (p, 1, "s4");
5571 orc_program_add_temporary (p, 2, "t1");
5573 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S3, ORC_VAR_S4,
5575 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_T1,
5577 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D2, ORC_VAR_S2, ORC_VAR_T1,
5580 orc_program_compile (p);
5583 orc_once_mutex_unlock ();
5588 ex->arrays[ORC_VAR_D1] = d1;
5589 ex->arrays[ORC_VAR_D2] = d2;
5590 ex->arrays[ORC_VAR_S1] = (void *) s1;
5591 ex->arrays[ORC_VAR_S2] = (void *) s2;
5592 ex->arrays[ORC_VAR_S3] = (void *) s3;
5593 ex->arrays[ORC_VAR_S4] = (void *) s4;
5595 func = p->code_exec;
5601 /* cogorc_convert_I420_AYUV */
5604 cogorc_convert_I420_AYUV (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
5605 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
5606 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
5609 orc_union32 *ORC_RESTRICT ptr0;
5610 orc_union32 *ORC_RESTRICT ptr1;
5611 const orc_int8 *ORC_RESTRICT ptr4;
5612 const orc_int8 *ORC_RESTRICT ptr5;
5613 const orc_int8 *ORC_RESTRICT ptr6;
5614 const orc_int8 *ORC_RESTRICT ptr7;
5627 ptr0 = (orc_union32 *) d1;
5628 ptr1 = (orc_union32 *) d2;
5629 ptr4 = (orc_int8 *) s1;
5630 ptr5 = (orc_int8 *) s2;
5631 ptr6 = (orc_int8 *) s3;
5632 ptr7 = (orc_int8 *) s4;
5635 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
5637 var39 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
5639 for (i = 0; i < n; i++) {
5641 var42 = ptr6[i >> 1];
5643 var43 = ptr7[i >> 1];
5647 _dest.x2[0] = var42;
5648 _dest.x2[1] = var43;
5656 _dest.x2[0] = var36;
5657 _dest.x2[1] = var37;
5663 _dest.x2[0] = var45.i;
5664 _dest.x2[1] = var44.i;
5674 _dest.x2[0] = var39;
5675 _dest.x2[1] = var40;
5681 _dest.x2[0] = var46.i;
5682 _dest.x2[1] = var44.i;
5693 _backup_cogorc_convert_I420_AYUV (OrcExecutor * ORC_RESTRICT ex)
5697 orc_union32 *ORC_RESTRICT ptr0;
5698 orc_union32 *ORC_RESTRICT ptr1;
5699 const orc_int8 *ORC_RESTRICT ptr4;
5700 const orc_int8 *ORC_RESTRICT ptr5;
5701 const orc_int8 *ORC_RESTRICT ptr6;
5702 const orc_int8 *ORC_RESTRICT ptr7;
5715 ptr0 = (orc_union32 *) ex->arrays[0];
5716 ptr1 = (orc_union32 *) ex->arrays[1];
5717 ptr4 = (orc_int8 *) ex->arrays[4];
5718 ptr5 = (orc_int8 *) ex->arrays[5];
5719 ptr6 = (orc_int8 *) ex->arrays[6];
5720 ptr7 = (orc_int8 *) ex->arrays[7];
5723 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
5725 var39 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
5727 for (i = 0; i < n; i++) {
5729 var42 = ptr6[i >> 1];
5731 var43 = ptr7[i >> 1];
5735 _dest.x2[0] = var42;
5736 _dest.x2[1] = var43;
5744 _dest.x2[0] = var36;
5745 _dest.x2[1] = var37;
5751 _dest.x2[0] = var45.i;
5752 _dest.x2[1] = var44.i;
5762 _dest.x2[0] = var39;
5763 _dest.x2[1] = var40;
5769 _dest.x2[0] = var46.i;
5770 _dest.x2[1] = var44.i;
5780 cogorc_convert_I420_AYUV (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
5781 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
5782 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
5784 OrcExecutor _ex, *ex = &_ex;
5785 static int p_inited = 0;
5786 static OrcProgram *p = 0;
5787 void (*func) (OrcExecutor *);
5790 orc_once_mutex_lock ();
5793 p = orc_program_new ();
5794 orc_program_set_name (p, "cogorc_convert_I420_AYUV");
5795 orc_program_set_backup_function (p, _backup_cogorc_convert_I420_AYUV);
5796 orc_program_add_destination (p, 4, "d1");
5797 orc_program_add_destination (p, 4, "d2");
5798 orc_program_add_source (p, 1, "s1");
5799 orc_program_add_source (p, 1, "s2");
5800 orc_program_add_source (p, 1, "s3");
5801 orc_program_add_source (p, 1, "s4");
5802 orc_program_add_constant (p, 1, 0x000000ff, "c1");
5803 orc_program_add_temporary (p, 2, "t1");
5804 orc_program_add_temporary (p, 2, "t2");
5805 orc_program_add_temporary (p, 1, "t3");
5806 orc_program_add_temporary (p, 1, "t4");
5808 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T3, ORC_VAR_S3,
5809 ORC_VAR_D1, ORC_VAR_D1);
5810 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S4,
5811 ORC_VAR_D1, ORC_VAR_D1);
5812 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
5814 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
5816 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
5818 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S2,
5820 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D2, ORC_VAR_T2, ORC_VAR_T1,
5823 orc_program_compile (p);
5826 orc_once_mutex_unlock ();
5831 ex->arrays[ORC_VAR_D1] = d1;
5832 ex->arrays[ORC_VAR_D2] = d2;
5833 ex->arrays[ORC_VAR_S1] = (void *) s1;
5834 ex->arrays[ORC_VAR_S2] = (void *) s2;
5835 ex->arrays[ORC_VAR_S3] = (void *) s3;
5836 ex->arrays[ORC_VAR_S4] = (void *) s4;
5838 func = p->code_exec;
5844 /* cogorc_convert_YUY2_I420 */
5847 cogorc_convert_YUY2_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
5848 guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
5849 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
5852 orc_union16 *ORC_RESTRICT ptr0;
5853 orc_union16 *ORC_RESTRICT ptr1;
5854 orc_int8 *ORC_RESTRICT ptr2;
5855 orc_int8 *ORC_RESTRICT ptr3;
5856 const orc_union32 *ORC_RESTRICT ptr4;
5857 const orc_union32 *ORC_RESTRICT ptr5;
5868 ptr0 = (orc_union16 *) d1;
5869 ptr1 = (orc_union16 *) d2;
5870 ptr2 = (orc_int8 *) d3;
5871 ptr3 = (orc_int8 *) d4;
5872 ptr4 = (orc_union32 *) s1;
5873 ptr5 = (orc_union32 *) s2;
5876 for (i = 0; i < n; i++) {
5882 _src.i = var35.x2[0];
5883 var39.x2[0] = _src.x2[1];
5884 var40.x2[0] = _src.x2[0];
5888 _src.i = var35.x2[1];
5889 var39.x2[1] = _src.x2[1];
5890 var40.x2[1] = _src.x2[0];
5899 _src.i = var36.x2[0];
5900 var41.x2[0] = _src.x2[1];
5901 var42.x2[0] = _src.x2[0];
5905 _src.i = var36.x2[1];
5906 var41.x2[1] = _src.x2[1];
5907 var42.x2[1] = _src.x2[0];
5912 var43.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var41.x2[0] + 1) >> 1;
5913 var43.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var41.x2[1] + 1) >> 1;
5931 _backup_cogorc_convert_YUY2_I420 (OrcExecutor * ORC_RESTRICT ex)
5935 orc_union16 *ORC_RESTRICT ptr0;
5936 orc_union16 *ORC_RESTRICT ptr1;
5937 orc_int8 *ORC_RESTRICT ptr2;
5938 orc_int8 *ORC_RESTRICT ptr3;
5939 const orc_union32 *ORC_RESTRICT ptr4;
5940 const orc_union32 *ORC_RESTRICT ptr5;
5951 ptr0 = (orc_union16 *) ex->arrays[0];
5952 ptr1 = (orc_union16 *) ex->arrays[1];
5953 ptr2 = (orc_int8 *) ex->arrays[2];
5954 ptr3 = (orc_int8 *) ex->arrays[3];
5955 ptr4 = (orc_union32 *) ex->arrays[4];
5956 ptr5 = (orc_union32 *) ex->arrays[5];
5959 for (i = 0; i < n; i++) {
5965 _src.i = var35.x2[0];
5966 var39.x2[0] = _src.x2[1];
5967 var40.x2[0] = _src.x2[0];
5971 _src.i = var35.x2[1];
5972 var39.x2[1] = _src.x2[1];
5973 var40.x2[1] = _src.x2[0];
5982 _src.i = var36.x2[0];
5983 var41.x2[0] = _src.x2[1];
5984 var42.x2[0] = _src.x2[0];
5988 _src.i = var36.x2[1];
5989 var41.x2[1] = _src.x2[1];
5990 var42.x2[1] = _src.x2[0];
5995 var43.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var41.x2[0] + 1) >> 1;
5996 var43.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var41.x2[1] + 1) >> 1;
6013 cogorc_convert_YUY2_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
6014 guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
6015 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
6017 OrcExecutor _ex, *ex = &_ex;
6018 static int p_inited = 0;
6019 static OrcProgram *p = 0;
6020 void (*func) (OrcExecutor *);
6023 orc_once_mutex_lock ();
6026 p = orc_program_new ();
6027 orc_program_set_name (p, "cogorc_convert_YUY2_I420");
6028 orc_program_set_backup_function (p, _backup_cogorc_convert_YUY2_I420);
6029 orc_program_add_destination (p, 2, "d1");
6030 orc_program_add_destination (p, 2, "d2");
6031 orc_program_add_destination (p, 1, "d3");
6032 orc_program_add_destination (p, 1, "d4");
6033 orc_program_add_source (p, 4, "s1");
6034 orc_program_add_source (p, 4, "s2");
6035 orc_program_add_temporary (p, 2, "t1");
6036 orc_program_add_temporary (p, 2, "t2");
6037 orc_program_add_temporary (p, 2, "t3");
6039 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_S1,
6041 orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_D1,
6043 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_S2,
6045 orc_program_append_2 (p, "storew", 0, ORC_VAR_D2, ORC_VAR_T3, ORC_VAR_D1,
6047 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
6049 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D4, ORC_VAR_D3, ORC_VAR_T1,
6052 orc_program_compile (p);
6055 orc_once_mutex_unlock ();
6060 ex->arrays[ORC_VAR_D1] = d1;
6061 ex->arrays[ORC_VAR_D2] = d2;
6062 ex->arrays[ORC_VAR_D3] = d3;
6063 ex->arrays[ORC_VAR_D4] = d4;
6064 ex->arrays[ORC_VAR_S1] = (void *) s1;
6065 ex->arrays[ORC_VAR_S2] = (void *) s2;
6067 func = p->code_exec;
6073 /* cogorc_convert_UYVY_YUY2 */
6076 cogorc_convert_UYVY_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
6077 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
6081 orc_union32 *ORC_RESTRICT ptr0;
6082 const orc_union32 *ORC_RESTRICT ptr4;
6086 for (j = 0; j < m; j++) {
6087 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
6088 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
6091 for (i = 0; i < n; i++) {
6095 var33.x2[0] = ORC_SWAP_W (var32.x2[0]);
6096 var33.x2[1] = ORC_SWAP_W (var32.x2[1]);
6106 _backup_cogorc_convert_UYVY_YUY2 (OrcExecutor * ORC_RESTRICT ex)
6111 int m = ex->params[ORC_VAR_A1];
6112 orc_union32 *ORC_RESTRICT ptr0;
6113 const orc_union32 *ORC_RESTRICT ptr4;
6117 for (j = 0; j < m; j++) {
6118 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
6119 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
6122 for (i = 0; i < n; i++) {
6126 var33.x2[0] = ORC_SWAP_W (var32.x2[0]);
6127 var33.x2[1] = ORC_SWAP_W (var32.x2[1]);
6136 cogorc_convert_UYVY_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
6137 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
6139 OrcExecutor _ex, *ex = &_ex;
6140 static int p_inited = 0;
6141 static OrcProgram *p = 0;
6142 void (*func) (OrcExecutor *);
6145 orc_once_mutex_lock ();
6148 p = orc_program_new ();
6149 orc_program_set_2d (p);
6150 orc_program_set_name (p, "cogorc_convert_UYVY_YUY2");
6151 orc_program_set_backup_function (p, _backup_cogorc_convert_UYVY_YUY2);
6152 orc_program_add_destination (p, 4, "d1");
6153 orc_program_add_source (p, 4, "s1");
6155 orc_program_append_2 (p, "swapw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
6158 orc_program_compile (p);
6161 orc_once_mutex_unlock ();
6166 ORC_EXECUTOR_M (ex) = m;
6167 ex->arrays[ORC_VAR_D1] = d1;
6168 ex->params[ORC_VAR_D1] = d1_stride;
6169 ex->arrays[ORC_VAR_S1] = (void *) s1;
6170 ex->params[ORC_VAR_S1] = s1_stride;
6172 func = p->code_exec;
6178 /* cogorc_planar_chroma_420_422 */
6181 cogorc_planar_chroma_420_422 (guint8 * ORC_RESTRICT d1, int d1_stride,
6182 guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1,
6183 int s1_stride, int n, int m)
6187 orc_int8 *ORC_RESTRICT ptr0;
6188 orc_int8 *ORC_RESTRICT ptr1;
6189 const orc_int8 *ORC_RESTRICT ptr4;
6195 for (j = 0; j < m; j++) {
6196 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
6197 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
6198 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
6201 for (i = 0; i < n; i++) {
6221 _backup_cogorc_planar_chroma_420_422 (OrcExecutor * ORC_RESTRICT ex)
6226 int m = ex->params[ORC_VAR_A1];
6227 orc_int8 *ORC_RESTRICT ptr0;
6228 orc_int8 *ORC_RESTRICT ptr1;
6229 const orc_int8 *ORC_RESTRICT ptr4;
6235 for (j = 0; j < m; j++) {
6236 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
6237 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
6238 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
6241 for (i = 0; i < n; i++) {
6260 cogorc_planar_chroma_420_422 (guint8 * ORC_RESTRICT d1, int d1_stride,
6261 guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1,
6262 int s1_stride, int n, int m)
6264 OrcExecutor _ex, *ex = &_ex;
6265 static int p_inited = 0;
6266 static OrcProgram *p = 0;
6267 void (*func) (OrcExecutor *);
6270 orc_once_mutex_lock ();
6273 p = orc_program_new ();
6274 orc_program_set_2d (p);
6275 orc_program_set_name (p, "cogorc_planar_chroma_420_422");
6276 orc_program_set_backup_function (p, _backup_cogorc_planar_chroma_420_422);
6277 orc_program_add_destination (p, 1, "d1");
6278 orc_program_add_destination (p, 1, "d2");
6279 orc_program_add_source (p, 1, "s1");
6281 orc_program_append_2 (p, "copyb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
6283 orc_program_append_2 (p, "copyb", 0, ORC_VAR_D2, ORC_VAR_S1, ORC_VAR_D1,
6286 orc_program_compile (p);
6289 orc_once_mutex_unlock ();
6294 ORC_EXECUTOR_M (ex) = m;
6295 ex->arrays[ORC_VAR_D1] = d1;
6296 ex->params[ORC_VAR_D1] = d1_stride;
6297 ex->arrays[ORC_VAR_D2] = d2;
6298 ex->params[ORC_VAR_D2] = d2_stride;
6299 ex->arrays[ORC_VAR_S1] = (void *) s1;
6300 ex->params[ORC_VAR_S1] = s1_stride;
6302 func = p->code_exec;
6308 /* cogorc_planar_chroma_420_444 */
6311 cogorc_planar_chroma_420_444 (guint8 * ORC_RESTRICT d1, int d1_stride,
6312 guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1,
6313 int s1_stride, int n, int m)
6317 orc_union16 *ORC_RESTRICT ptr0;
6318 orc_union16 *ORC_RESTRICT ptr1;
6319 const orc_int8 *ORC_RESTRICT ptr4;
6323 for (j = 0; j < m; j++) {
6324 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
6325 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
6326 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
6329 for (i = 0; i < n; i++) {
6333 var34.i = ((var33 & 0xff) << 8) | (var33 & 0xff);
6345 _backup_cogorc_planar_chroma_420_444 (OrcExecutor * ORC_RESTRICT ex)
6350 int m = ex->params[ORC_VAR_A1];
6351 orc_union16 *ORC_RESTRICT ptr0;
6352 orc_union16 *ORC_RESTRICT ptr1;
6353 const orc_int8 *ORC_RESTRICT ptr4;
6357 for (j = 0; j < m; j++) {
6358 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
6359 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
6360 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
6363 for (i = 0; i < n; i++) {
6367 var34.i = ((var33 & 0xff) << 8) | (var33 & 0xff);
6378 cogorc_planar_chroma_420_444 (guint8 * ORC_RESTRICT d1, int d1_stride,
6379 guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1,
6380 int s1_stride, int n, int m)
6382 OrcExecutor _ex, *ex = &_ex;
6383 static int p_inited = 0;
6384 static OrcProgram *p = 0;
6385 void (*func) (OrcExecutor *);
6388 orc_once_mutex_lock ();
6391 p = orc_program_new ();
6392 orc_program_set_2d (p);
6393 orc_program_set_name (p, "cogorc_planar_chroma_420_444");
6394 orc_program_set_backup_function (p, _backup_cogorc_planar_chroma_420_444);
6395 orc_program_add_destination (p, 2, "d1");
6396 orc_program_add_destination (p, 2, "d2");
6397 orc_program_add_source (p, 1, "s1");
6398 orc_program_add_temporary (p, 2, "t1");
6400 orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6402 orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
6404 orc_program_append_2 (p, "storew", 0, ORC_VAR_D2, ORC_VAR_T1, ORC_VAR_D1,
6407 orc_program_compile (p);
6410 orc_once_mutex_unlock ();
6415 ORC_EXECUTOR_M (ex) = m;
6416 ex->arrays[ORC_VAR_D1] = d1;
6417 ex->params[ORC_VAR_D1] = d1_stride;
6418 ex->arrays[ORC_VAR_D2] = d2;
6419 ex->params[ORC_VAR_D2] = d2_stride;
6420 ex->arrays[ORC_VAR_S1] = (void *) s1;
6421 ex->params[ORC_VAR_S1] = s1_stride;
6423 func = p->code_exec;
6429 /* cogorc_planar_chroma_422_444 */
6432 cogorc_planar_chroma_422_444 (guint8 * ORC_RESTRICT d1, int d1_stride,
6433 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
6437 orc_union16 *ORC_RESTRICT ptr0;
6438 const orc_int8 *ORC_RESTRICT ptr4;
6442 for (j = 0; j < m; j++) {
6443 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
6444 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
6447 for (i = 0; i < n; i++) {
6451 var34.i = ((var33 & 0xff) << 8) | (var33 & 0xff);
6461 _backup_cogorc_planar_chroma_422_444 (OrcExecutor * ORC_RESTRICT ex)
6466 int m = ex->params[ORC_VAR_A1];
6467 orc_union16 *ORC_RESTRICT ptr0;
6468 const orc_int8 *ORC_RESTRICT ptr4;
6472 for (j = 0; j < m; j++) {
6473 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
6474 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
6477 for (i = 0; i < n; i++) {
6481 var34.i = ((var33 & 0xff) << 8) | (var33 & 0xff);
6490 cogorc_planar_chroma_422_444 (guint8 * ORC_RESTRICT d1, int d1_stride,
6491 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
6493 OrcExecutor _ex, *ex = &_ex;
6494 static int p_inited = 0;
6495 static OrcProgram *p = 0;
6496 void (*func) (OrcExecutor *);
6499 orc_once_mutex_lock ();
6502 p = orc_program_new ();
6503 orc_program_set_2d (p);
6504 orc_program_set_name (p, "cogorc_planar_chroma_422_444");
6505 orc_program_set_backup_function (p, _backup_cogorc_planar_chroma_422_444);
6506 orc_program_add_destination (p, 2, "d1");
6507 orc_program_add_source (p, 1, "s1");
6508 orc_program_add_temporary (p, 2, "t1");
6510 orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
6512 orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
6515 orc_program_compile (p);
6518 orc_once_mutex_unlock ();
6523 ORC_EXECUTOR_M (ex) = m;
6524 ex->arrays[ORC_VAR_D1] = d1;
6525 ex->params[ORC_VAR_D1] = d1_stride;
6526 ex->arrays[ORC_VAR_S1] = (void *) s1;
6527 ex->params[ORC_VAR_S1] = s1_stride;
6529 func = p->code_exec;
6535 /* cogorc_planar_chroma_444_422 */
6538 cogorc_planar_chroma_444_422 (guint8 * ORC_RESTRICT d1, int d1_stride,
6539 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
6543 orc_int8 *ORC_RESTRICT ptr0;
6544 const orc_union16 *ORC_RESTRICT ptr4;
6550 for (j = 0; j < m; j++) {
6551 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
6552 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
6555 for (i = 0; i < n; i++) {
6566 var35 = ((orc_uint8) var36 + (orc_uint8) var37 + 1) >> 1;
6576 _backup_cogorc_planar_chroma_444_422 (OrcExecutor * ORC_RESTRICT ex)
6581 int m = ex->params[ORC_VAR_A1];
6582 orc_int8 *ORC_RESTRICT ptr0;
6583 const orc_union16 *ORC_RESTRICT ptr4;
6589 for (j = 0; j < m; j++) {
6590 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
6591 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
6594 for (i = 0; i < n; i++) {
6605 var35 = ((orc_uint8) var36 + (orc_uint8) var37 + 1) >> 1;
6614 cogorc_planar_chroma_444_422 (guint8 * ORC_RESTRICT d1, int d1_stride,
6615 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
6617 OrcExecutor _ex, *ex = &_ex;
6618 static int p_inited = 0;
6619 static OrcProgram *p = 0;
6620 void (*func) (OrcExecutor *);
6623 orc_once_mutex_lock ();
6626 p = orc_program_new ();
6627 orc_program_set_2d (p);
6628 orc_program_set_name (p, "cogorc_planar_chroma_444_422");
6629 orc_program_set_backup_function (p, _backup_cogorc_planar_chroma_444_422);
6630 orc_program_add_destination (p, 1, "d1");
6631 orc_program_add_source (p, 2, "s1");
6632 orc_program_add_temporary (p, 1, "t1");
6633 orc_program_add_temporary (p, 1, "t2");
6635 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_S1,
6637 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
6640 orc_program_compile (p);
6643 orc_once_mutex_unlock ();
6648 ORC_EXECUTOR_M (ex) = m;
6649 ex->arrays[ORC_VAR_D1] = d1;
6650 ex->params[ORC_VAR_D1] = d1_stride;
6651 ex->arrays[ORC_VAR_S1] = (void *) s1;
6652 ex->params[ORC_VAR_S1] = s1_stride;
6654 func = p->code_exec;
6660 /* cogorc_planar_chroma_444_420 */
6663 cogorc_planar_chroma_444_420 (guint8 * ORC_RESTRICT d1, int d1_stride,
6664 const guint8 * ORC_RESTRICT s1, int s1_stride,
6665 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
6669 orc_int8 *ORC_RESTRICT ptr0;
6670 const orc_union16 *ORC_RESTRICT ptr4;
6671 const orc_union16 *ORC_RESTRICT ptr5;
6679 for (j = 0; j < m; j++) {
6680 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
6681 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
6682 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
6685 for (i = 0; i < n; i++) {
6692 ((orc_uint8) var35.x2[0] + (orc_uint8) var36.x2[0] + 1) >> 1;
6694 ((orc_uint8) var35.x2[1] + (orc_uint8) var36.x2[1] + 1) >> 1;
6703 var37 = ((orc_uint8) var39 + (orc_uint8) var40 + 1) >> 1;
6713 _backup_cogorc_planar_chroma_444_420 (OrcExecutor * ORC_RESTRICT ex)
6718 int m = ex->params[ORC_VAR_A1];
6719 orc_int8 *ORC_RESTRICT ptr0;
6720 const orc_union16 *ORC_RESTRICT ptr4;
6721 const orc_union16 *ORC_RESTRICT ptr5;
6729 for (j = 0; j < m; j++) {
6730 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
6731 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
6732 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
6735 for (i = 0; i < n; i++) {
6742 ((orc_uint8) var35.x2[0] + (orc_uint8) var36.x2[0] + 1) >> 1;
6744 ((orc_uint8) var35.x2[1] + (orc_uint8) var36.x2[1] + 1) >> 1;
6753 var37 = ((orc_uint8) var39 + (orc_uint8) var40 + 1) >> 1;
6762 cogorc_planar_chroma_444_420 (guint8 * ORC_RESTRICT d1, int d1_stride,
6763 const guint8 * ORC_RESTRICT s1, int s1_stride,
6764 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
6766 OrcExecutor _ex, *ex = &_ex;
6767 static int p_inited = 0;
6768 static OrcProgram *p = 0;
6769 void (*func) (OrcExecutor *);
6772 orc_once_mutex_lock ();
6775 p = orc_program_new ();
6776 orc_program_set_2d (p);
6777 orc_program_set_name (p, "cogorc_planar_chroma_444_420");
6778 orc_program_set_backup_function (p, _backup_cogorc_planar_chroma_444_420);
6779 orc_program_add_destination (p, 1, "d1");
6780 orc_program_add_source (p, 2, "s1");
6781 orc_program_add_source (p, 2, "s2");
6782 orc_program_add_temporary (p, 2, "t1");
6783 orc_program_add_temporary (p, 1, "t2");
6784 orc_program_add_temporary (p, 1, "t3");
6786 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_S2,
6788 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T1,
6790 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
6793 orc_program_compile (p);
6796 orc_once_mutex_unlock ();
6801 ORC_EXECUTOR_M (ex) = m;
6802 ex->arrays[ORC_VAR_D1] = d1;
6803 ex->params[ORC_VAR_D1] = d1_stride;
6804 ex->arrays[ORC_VAR_S1] = (void *) s1;
6805 ex->params[ORC_VAR_S1] = s1_stride;
6806 ex->arrays[ORC_VAR_S2] = (void *) s2;
6807 ex->params[ORC_VAR_S2] = s2_stride;
6809 func = p->code_exec;
6815 /* cogorc_planar_chroma_422_420 */
6818 cogorc_planar_chroma_422_420 (guint8 * ORC_RESTRICT d1, int d1_stride,
6819 const guint8 * ORC_RESTRICT s1, int s1_stride,
6820 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
6824 orc_int8 *ORC_RESTRICT ptr0;
6825 const orc_int8 *ORC_RESTRICT ptr4;
6826 const orc_int8 *ORC_RESTRICT ptr5;
6831 for (j = 0; j < m; j++) {
6832 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
6833 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
6834 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
6837 for (i = 0; i < n; i++) {
6843 var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
6853 _backup_cogorc_planar_chroma_422_420 (OrcExecutor * ORC_RESTRICT ex)
6858 int m = ex->params[ORC_VAR_A1];
6859 orc_int8 *ORC_RESTRICT ptr0;
6860 const orc_int8 *ORC_RESTRICT ptr4;
6861 const orc_int8 *ORC_RESTRICT ptr5;
6866 for (j = 0; j < m; j++) {
6867 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
6868 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
6869 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
6872 for (i = 0; i < n; i++) {
6878 var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
6887 cogorc_planar_chroma_422_420 (guint8 * ORC_RESTRICT d1, int d1_stride,
6888 const guint8 * ORC_RESTRICT s1, int s1_stride,
6889 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
6891 OrcExecutor _ex, *ex = &_ex;
6892 static int p_inited = 0;
6893 static OrcProgram *p = 0;
6894 void (*func) (OrcExecutor *);
6897 orc_once_mutex_lock ();
6900 p = orc_program_new ();
6901 orc_program_set_2d (p);
6902 orc_program_set_name (p, "cogorc_planar_chroma_422_420");
6903 orc_program_set_backup_function (p, _backup_cogorc_planar_chroma_422_420);
6904 orc_program_add_destination (p, 1, "d1");
6905 orc_program_add_source (p, 1, "s1");
6906 orc_program_add_source (p, 1, "s2");
6908 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2,
6911 orc_program_compile (p);
6914 orc_once_mutex_unlock ();
6919 ORC_EXECUTOR_M (ex) = m;
6920 ex->arrays[ORC_VAR_D1] = d1;
6921 ex->params[ORC_VAR_D1] = d1_stride;
6922 ex->arrays[ORC_VAR_S1] = (void *) s1;
6923 ex->params[ORC_VAR_S1] = s1_stride;
6924 ex->arrays[ORC_VAR_S2] = (void *) s2;
6925 ex->params[ORC_VAR_S2] = s2_stride;
6927 func = p->code_exec;
6933 /* cogorc_convert_YUY2_AYUV */
6936 cogorc_convert_YUY2_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
6937 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
6941 orc_union64 *ORC_RESTRICT ptr0;
6942 const orc_union32 *ORC_RESTRICT ptr4;
6951 for (j = 0; j < m; j++) {
6952 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
6953 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
6956 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
6957 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
6959 for (i = 0; i < n; i++) {
6965 _src.i = var36.x2[0];
6966 var39.x2[0] = _src.x2[1];
6967 var40.x2[0] = _src.x2[0];
6971 _src.i = var36.x2[1];
6972 var39.x2[1] = _src.x2[1];
6973 var40.x2[1] = _src.x2[0];
6978 _dest.x2[0] = var37.x2[0];
6979 _dest.x2[1] = var40.x2[0];
6980 var41.x2[0] = _dest.i;
6984 _dest.x2[0] = var37.x2[1];
6985 _dest.x2[1] = var40.x2[1];
6986 var41.x2[1] = _dest.i;
6991 _dest.x2[0] = var39.i;
6992 _dest.x2[1] = var39.i;
6998 _dest.x2[0] = var41.x2[0];
6999 _dest.x2[1] = var42.x2[0];
7000 var38.x2[0] = _dest.i;
7004 _dest.x2[0] = var41.x2[1];
7005 _dest.x2[1] = var42.x2[1];
7006 var38.x2[1] = _dest.i;
7017 _backup_cogorc_convert_YUY2_AYUV (OrcExecutor * ORC_RESTRICT ex)
7022 int m = ex->params[ORC_VAR_A1];
7023 orc_union64 *ORC_RESTRICT ptr0;
7024 const orc_union32 *ORC_RESTRICT ptr4;
7033 for (j = 0; j < m; j++) {
7034 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
7035 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
7038 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
7039 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
7041 for (i = 0; i < n; i++) {
7047 _src.i = var36.x2[0];
7048 var39.x2[0] = _src.x2[1];
7049 var40.x2[0] = _src.x2[0];
7053 _src.i = var36.x2[1];
7054 var39.x2[1] = _src.x2[1];
7055 var40.x2[1] = _src.x2[0];
7060 _dest.x2[0] = var37.x2[0];
7061 _dest.x2[1] = var40.x2[0];
7062 var41.x2[0] = _dest.i;
7066 _dest.x2[0] = var37.x2[1];
7067 _dest.x2[1] = var40.x2[1];
7068 var41.x2[1] = _dest.i;
7073 _dest.x2[0] = var39.i;
7074 _dest.x2[1] = var39.i;
7080 _dest.x2[0] = var41.x2[0];
7081 _dest.x2[1] = var42.x2[0];
7082 var38.x2[0] = _dest.i;
7086 _dest.x2[0] = var41.x2[1];
7087 _dest.x2[1] = var42.x2[1];
7088 var38.x2[1] = _dest.i;
7098 cogorc_convert_YUY2_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
7099 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7101 OrcExecutor _ex, *ex = &_ex;
7102 static int p_inited = 0;
7103 static OrcProgram *p = 0;
7104 void (*func) (OrcExecutor *);
7107 orc_once_mutex_lock ();
7110 p = orc_program_new ();
7111 orc_program_set_2d (p);
7112 orc_program_set_name (p, "cogorc_convert_YUY2_AYUV");
7113 orc_program_set_backup_function (p, _backup_cogorc_convert_YUY2_AYUV);
7114 orc_program_add_destination (p, 8, "d1");
7115 orc_program_add_source (p, 4, "s1");
7116 orc_program_add_constant (p, 2, 0x000000ff, "c1");
7117 orc_program_add_temporary (p, 2, "t1");
7118 orc_program_add_temporary (p, 2, "t2");
7119 orc_program_add_temporary (p, 4, "t3");
7120 orc_program_add_temporary (p, 4, "t4");
7122 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
7124 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
7126 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
7128 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
7131 orc_program_compile (p);
7134 orc_once_mutex_unlock ();
7139 ORC_EXECUTOR_M (ex) = m;
7140 ex->arrays[ORC_VAR_D1] = d1;
7141 ex->params[ORC_VAR_D1] = d1_stride;
7142 ex->arrays[ORC_VAR_S1] = (void *) s1;
7143 ex->params[ORC_VAR_S1] = s1_stride;
7145 func = p->code_exec;
7151 /* cogorc_convert_UYVY_AYUV */
7154 cogorc_convert_UYVY_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
7155 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7159 orc_union64 *ORC_RESTRICT ptr0;
7160 const orc_union32 *ORC_RESTRICT ptr4;
7169 for (j = 0; j < m; j++) {
7170 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
7171 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
7174 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
7175 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
7177 for (i = 0; i < n; i++) {
7183 _src.i = var36.x2[0];
7184 var39.x2[0] = _src.x2[1];
7185 var40.x2[0] = _src.x2[0];
7189 _src.i = var36.x2[1];
7190 var39.x2[1] = _src.x2[1];
7191 var40.x2[1] = _src.x2[0];
7196 _dest.x2[0] = var37.x2[0];
7197 _dest.x2[1] = var39.x2[0];
7198 var41.x2[0] = _dest.i;
7202 _dest.x2[0] = var37.x2[1];
7203 _dest.x2[1] = var39.x2[1];
7204 var41.x2[1] = _dest.i;
7209 _dest.x2[0] = var40.i;
7210 _dest.x2[1] = var40.i;
7216 _dest.x2[0] = var41.x2[0];
7217 _dest.x2[1] = var42.x2[0];
7218 var38.x2[0] = _dest.i;
7222 _dest.x2[0] = var41.x2[1];
7223 _dest.x2[1] = var42.x2[1];
7224 var38.x2[1] = _dest.i;
7235 _backup_cogorc_convert_UYVY_AYUV (OrcExecutor * ORC_RESTRICT ex)
7240 int m = ex->params[ORC_VAR_A1];
7241 orc_union64 *ORC_RESTRICT ptr0;
7242 const orc_union32 *ORC_RESTRICT ptr4;
7251 for (j = 0; j < m; j++) {
7252 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
7253 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
7256 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
7257 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
7259 for (i = 0; i < n; i++) {
7265 _src.i = var36.x2[0];
7266 var39.x2[0] = _src.x2[1];
7267 var40.x2[0] = _src.x2[0];
7271 _src.i = var36.x2[1];
7272 var39.x2[1] = _src.x2[1];
7273 var40.x2[1] = _src.x2[0];
7278 _dest.x2[0] = var37.x2[0];
7279 _dest.x2[1] = var39.x2[0];
7280 var41.x2[0] = _dest.i;
7284 _dest.x2[0] = var37.x2[1];
7285 _dest.x2[1] = var39.x2[1];
7286 var41.x2[1] = _dest.i;
7291 _dest.x2[0] = var40.i;
7292 _dest.x2[1] = var40.i;
7298 _dest.x2[0] = var41.x2[0];
7299 _dest.x2[1] = var42.x2[0];
7300 var38.x2[0] = _dest.i;
7304 _dest.x2[0] = var41.x2[1];
7305 _dest.x2[1] = var42.x2[1];
7306 var38.x2[1] = _dest.i;
7316 cogorc_convert_UYVY_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
7317 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7319 OrcExecutor _ex, *ex = &_ex;
7320 static int p_inited = 0;
7321 static OrcProgram *p = 0;
7322 void (*func) (OrcExecutor *);
7325 orc_once_mutex_lock ();
7328 p = orc_program_new ();
7329 orc_program_set_2d (p);
7330 orc_program_set_name (p, "cogorc_convert_UYVY_AYUV");
7331 orc_program_set_backup_function (p, _backup_cogorc_convert_UYVY_AYUV);
7332 orc_program_add_destination (p, 8, "d1");
7333 orc_program_add_source (p, 4, "s1");
7334 orc_program_add_constant (p, 2, 0x000000ff, "c1");
7335 orc_program_add_temporary (p, 2, "t1");
7336 orc_program_add_temporary (p, 2, "t2");
7337 orc_program_add_temporary (p, 4, "t3");
7338 orc_program_add_temporary (p, 4, "t4");
7340 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_S1,
7342 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
7344 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
7346 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
7349 orc_program_compile (p);
7352 orc_once_mutex_unlock ();
7357 ORC_EXECUTOR_M (ex) = m;
7358 ex->arrays[ORC_VAR_D1] = d1;
7359 ex->params[ORC_VAR_D1] = d1_stride;
7360 ex->arrays[ORC_VAR_S1] = (void *) s1;
7361 ex->params[ORC_VAR_S1] = s1_stride;
7363 func = p->code_exec;
7369 /* cogorc_convert_YUY2_Y42B */
7372 cogorc_convert_YUY2_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
7373 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
7374 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7378 orc_union16 *ORC_RESTRICT ptr0;
7379 orc_int8 *ORC_RESTRICT ptr1;
7380 orc_int8 *ORC_RESTRICT ptr2;
7381 const orc_union32 *ORC_RESTRICT ptr4;
7388 for (j = 0; j < m; j++) {
7389 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
7390 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
7391 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
7392 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
7395 for (i = 0; i < n; i++) {
7401 _src.i = var33.x2[0];
7402 var37.x2[0] = _src.x2[1];
7403 var34.x2[0] = _src.x2[0];
7407 _src.i = var33.x2[1];
7408 var37.x2[1] = _src.x2[1];
7409 var34.x2[1] = _src.x2[0];
7431 _backup_cogorc_convert_YUY2_Y42B (OrcExecutor * ORC_RESTRICT ex)
7436 int m = ex->params[ORC_VAR_A1];
7437 orc_union16 *ORC_RESTRICT ptr0;
7438 orc_int8 *ORC_RESTRICT ptr1;
7439 orc_int8 *ORC_RESTRICT ptr2;
7440 const orc_union32 *ORC_RESTRICT ptr4;
7447 for (j = 0; j < m; j++) {
7448 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
7449 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
7450 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
7451 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
7454 for (i = 0; i < n; i++) {
7460 _src.i = var33.x2[0];
7461 var37.x2[0] = _src.x2[1];
7462 var34.x2[0] = _src.x2[0];
7466 _src.i = var33.x2[1];
7467 var37.x2[1] = _src.x2[1];
7468 var34.x2[1] = _src.x2[0];
7489 cogorc_convert_YUY2_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
7490 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
7491 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7493 OrcExecutor _ex, *ex = &_ex;
7494 static int p_inited = 0;
7495 static OrcProgram *p = 0;
7496 void (*func) (OrcExecutor *);
7499 orc_once_mutex_lock ();
7502 p = orc_program_new ();
7503 orc_program_set_2d (p);
7504 orc_program_set_name (p, "cogorc_convert_YUY2_Y42B");
7505 orc_program_set_backup_function (p, _backup_cogorc_convert_YUY2_Y42B);
7506 orc_program_add_destination (p, 2, "d1");
7507 orc_program_add_destination (p, 1, "d2");
7508 orc_program_add_destination (p, 1, "d3");
7509 orc_program_add_source (p, 4, "s1");
7510 orc_program_add_temporary (p, 2, "t1");
7512 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_S1,
7514 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T1,
7517 orc_program_compile (p);
7520 orc_once_mutex_unlock ();
7525 ORC_EXECUTOR_M (ex) = m;
7526 ex->arrays[ORC_VAR_D1] = d1;
7527 ex->params[ORC_VAR_D1] = d1_stride;
7528 ex->arrays[ORC_VAR_D2] = d2;
7529 ex->params[ORC_VAR_D2] = d2_stride;
7530 ex->arrays[ORC_VAR_D3] = d3;
7531 ex->params[ORC_VAR_D3] = d3_stride;
7532 ex->arrays[ORC_VAR_S1] = (void *) s1;
7533 ex->params[ORC_VAR_S1] = s1_stride;
7535 func = p->code_exec;
7541 /* cogorc_convert_UYVY_Y42B */
7544 cogorc_convert_UYVY_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
7545 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
7546 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7550 orc_union16 *ORC_RESTRICT ptr0;
7551 orc_int8 *ORC_RESTRICT ptr1;
7552 orc_int8 *ORC_RESTRICT ptr2;
7553 const orc_union32 *ORC_RESTRICT ptr4;
7560 for (j = 0; j < m; j++) {
7561 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
7562 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
7563 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
7564 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
7567 for (i = 0; i < n; i++) {
7573 _src.i = var33.x2[0];
7574 var34.x2[0] = _src.x2[1];
7575 var37.x2[0] = _src.x2[0];
7579 _src.i = var33.x2[1];
7580 var34.x2[1] = _src.x2[1];
7581 var37.x2[1] = _src.x2[0];
7603 _backup_cogorc_convert_UYVY_Y42B (OrcExecutor * ORC_RESTRICT ex)
7608 int m = ex->params[ORC_VAR_A1];
7609 orc_union16 *ORC_RESTRICT ptr0;
7610 orc_int8 *ORC_RESTRICT ptr1;
7611 orc_int8 *ORC_RESTRICT ptr2;
7612 const orc_union32 *ORC_RESTRICT ptr4;
7619 for (j = 0; j < m; j++) {
7620 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
7621 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
7622 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
7623 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
7626 for (i = 0; i < n; i++) {
7632 _src.i = var33.x2[0];
7633 var34.x2[0] = _src.x2[1];
7634 var37.x2[0] = _src.x2[0];
7638 _src.i = var33.x2[1];
7639 var34.x2[1] = _src.x2[1];
7640 var37.x2[1] = _src.x2[0];
7661 cogorc_convert_UYVY_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
7662 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
7663 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7665 OrcExecutor _ex, *ex = &_ex;
7666 static int p_inited = 0;
7667 static OrcProgram *p = 0;
7668 void (*func) (OrcExecutor *);
7671 orc_once_mutex_lock ();
7674 p = orc_program_new ();
7675 orc_program_set_2d (p);
7676 orc_program_set_name (p, "cogorc_convert_UYVY_Y42B");
7677 orc_program_set_backup_function (p, _backup_cogorc_convert_UYVY_Y42B);
7678 orc_program_add_destination (p, 2, "d1");
7679 orc_program_add_destination (p, 1, "d2");
7680 orc_program_add_destination (p, 1, "d3");
7681 orc_program_add_source (p, 4, "s1");
7682 orc_program_add_temporary (p, 2, "t1");
7684 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
7686 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T1,
7689 orc_program_compile (p);
7692 orc_once_mutex_unlock ();
7697 ORC_EXECUTOR_M (ex) = m;
7698 ex->arrays[ORC_VAR_D1] = d1;
7699 ex->params[ORC_VAR_D1] = d1_stride;
7700 ex->arrays[ORC_VAR_D2] = d2;
7701 ex->params[ORC_VAR_D2] = d2_stride;
7702 ex->arrays[ORC_VAR_D3] = d3;
7703 ex->params[ORC_VAR_D3] = d3_stride;
7704 ex->arrays[ORC_VAR_S1] = (void *) s1;
7705 ex->params[ORC_VAR_S1] = s1_stride;
7707 func = p->code_exec;
7713 /* cogorc_convert_YUY2_Y444 */
7716 cogorc_convert_YUY2_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
7717 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
7718 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7722 orc_union16 *ORC_RESTRICT ptr0;
7723 orc_union16 *ORC_RESTRICT ptr1;
7724 orc_union16 *ORC_RESTRICT ptr2;
7725 const orc_union32 *ORC_RESTRICT ptr4;
7734 for (j = 0; j < m; j++) {
7735 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
7736 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
7737 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
7738 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
7741 for (i = 0; i < n; i++) {
7747 _src.i = var35.x2[0];
7748 var39.x2[0] = _src.x2[1];
7749 var36.x2[0] = _src.x2[0];
7753 _src.i = var35.x2[1];
7754 var39.x2[1] = _src.x2[1];
7755 var36.x2[1] = _src.x2[0];
7767 var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
7771 var38.i = ((var40 & 0xff) << 8) | (var40 & 0xff);
7781 _backup_cogorc_convert_YUY2_Y444 (OrcExecutor * ORC_RESTRICT ex)
7786 int m = ex->params[ORC_VAR_A1];
7787 orc_union16 *ORC_RESTRICT ptr0;
7788 orc_union16 *ORC_RESTRICT ptr1;
7789 orc_union16 *ORC_RESTRICT ptr2;
7790 const orc_union32 *ORC_RESTRICT ptr4;
7799 for (j = 0; j < m; j++) {
7800 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
7801 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
7802 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
7803 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
7806 for (i = 0; i < n; i++) {
7812 _src.i = var35.x2[0];
7813 var39.x2[0] = _src.x2[1];
7814 var36.x2[0] = _src.x2[0];
7818 _src.i = var35.x2[1];
7819 var39.x2[1] = _src.x2[1];
7820 var36.x2[1] = _src.x2[0];
7832 var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
7836 var38.i = ((var40 & 0xff) << 8) | (var40 & 0xff);
7845 cogorc_convert_YUY2_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
7846 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
7847 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7849 OrcExecutor _ex, *ex = &_ex;
7850 static int p_inited = 0;
7851 static OrcProgram *p = 0;
7852 void (*func) (OrcExecutor *);
7855 orc_once_mutex_lock ();
7858 p = orc_program_new ();
7859 orc_program_set_2d (p);
7860 orc_program_set_name (p, "cogorc_convert_YUY2_Y444");
7861 orc_program_set_backup_function (p, _backup_cogorc_convert_YUY2_Y444);
7862 orc_program_add_destination (p, 2, "d1");
7863 orc_program_add_destination (p, 2, "d2");
7864 orc_program_add_destination (p, 2, "d3");
7865 orc_program_add_source (p, 4, "s1");
7866 orc_program_add_temporary (p, 2, "t1");
7867 orc_program_add_temporary (p, 1, "t2");
7868 orc_program_add_temporary (p, 1, "t3");
7870 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_S1,
7872 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_T1,
7874 orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D2, ORC_VAR_T2, ORC_VAR_D1,
7876 orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D3, ORC_VAR_T3, ORC_VAR_D1,
7879 orc_program_compile (p);
7882 orc_once_mutex_unlock ();
7887 ORC_EXECUTOR_M (ex) = m;
7888 ex->arrays[ORC_VAR_D1] = d1;
7889 ex->params[ORC_VAR_D1] = d1_stride;
7890 ex->arrays[ORC_VAR_D2] = d2;
7891 ex->params[ORC_VAR_D2] = d2_stride;
7892 ex->arrays[ORC_VAR_D3] = d3;
7893 ex->params[ORC_VAR_D3] = d3_stride;
7894 ex->arrays[ORC_VAR_S1] = (void *) s1;
7895 ex->params[ORC_VAR_S1] = s1_stride;
7897 func = p->code_exec;
7903 /* cogorc_convert_UYVY_Y444 */
7906 cogorc_convert_UYVY_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
7907 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
7908 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
7912 orc_union16 *ORC_RESTRICT ptr0;
7913 orc_union16 *ORC_RESTRICT ptr1;
7914 orc_union16 *ORC_RESTRICT ptr2;
7915 const orc_union32 *ORC_RESTRICT ptr4;
7924 for (j = 0; j < m; j++) {
7925 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
7926 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
7927 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
7928 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
7931 for (i = 0; i < n; i++) {
7937 _src.i = var35.x2[0];
7938 var36.x2[0] = _src.x2[1];
7939 var39.x2[0] = _src.x2[0];
7943 _src.i = var35.x2[1];
7944 var36.x2[1] = _src.x2[1];
7945 var39.x2[1] = _src.x2[0];
7957 var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
7961 var38.i = ((var40 & 0xff) << 8) | (var40 & 0xff);
7971 _backup_cogorc_convert_UYVY_Y444 (OrcExecutor * ORC_RESTRICT ex)
7976 int m = ex->params[ORC_VAR_A1];
7977 orc_union16 *ORC_RESTRICT ptr0;
7978 orc_union16 *ORC_RESTRICT ptr1;
7979 orc_union16 *ORC_RESTRICT ptr2;
7980 const orc_union32 *ORC_RESTRICT ptr4;
7989 for (j = 0; j < m; j++) {
7990 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
7991 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
7992 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
7993 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
7996 for (i = 0; i < n; i++) {
8002 _src.i = var35.x2[0];
8003 var36.x2[0] = _src.x2[1];
8004 var39.x2[0] = _src.x2[0];
8008 _src.i = var35.x2[1];
8009 var36.x2[1] = _src.x2[1];
8010 var39.x2[1] = _src.x2[0];
8022 var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
8026 var38.i = ((var40 & 0xff) << 8) | (var40 & 0xff);
8035 cogorc_convert_UYVY_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
8036 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
8037 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
8039 OrcExecutor _ex, *ex = &_ex;
8040 static int p_inited = 0;
8041 static OrcProgram *p = 0;
8042 void (*func) (OrcExecutor *);
8045 orc_once_mutex_lock ();
8048 p = orc_program_new ();
8049 orc_program_set_2d (p);
8050 orc_program_set_name (p, "cogorc_convert_UYVY_Y444");
8051 orc_program_set_backup_function (p, _backup_cogorc_convert_UYVY_Y444);
8052 orc_program_add_destination (p, 2, "d1");
8053 orc_program_add_destination (p, 2, "d2");
8054 orc_program_add_destination (p, 2, "d3");
8055 orc_program_add_source (p, 4, "s1");
8056 orc_program_add_temporary (p, 2, "t1");
8057 orc_program_add_temporary (p, 1, "t2");
8058 orc_program_add_temporary (p, 1, "t3");
8060 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
8062 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_T1,
8064 orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D2, ORC_VAR_T2, ORC_VAR_D1,
8066 orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D3, ORC_VAR_T3, ORC_VAR_D1,
8069 orc_program_compile (p);
8072 orc_once_mutex_unlock ();
8077 ORC_EXECUTOR_M (ex) = m;
8078 ex->arrays[ORC_VAR_D1] = d1;
8079 ex->params[ORC_VAR_D1] = d1_stride;
8080 ex->arrays[ORC_VAR_D2] = d2;
8081 ex->params[ORC_VAR_D2] = d2_stride;
8082 ex->arrays[ORC_VAR_D3] = d3;
8083 ex->params[ORC_VAR_D3] = d3_stride;
8084 ex->arrays[ORC_VAR_S1] = (void *) s1;
8085 ex->params[ORC_VAR_S1] = s1_stride;
8087 func = p->code_exec;
8093 /* cogorc_convert_UYVY_I420 */
8096 cogorc_convert_UYVY_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
8097 guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
8098 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
8101 orc_union16 *ORC_RESTRICT ptr0;
8102 orc_union16 *ORC_RESTRICT ptr1;
8103 orc_int8 *ORC_RESTRICT ptr2;
8104 orc_int8 *ORC_RESTRICT ptr3;
8105 const orc_union32 *ORC_RESTRICT ptr4;
8106 const orc_union32 *ORC_RESTRICT ptr5;
8117 ptr0 = (orc_union16 *) d1;
8118 ptr1 = (orc_union16 *) d2;
8119 ptr2 = (orc_int8 *) d3;
8120 ptr3 = (orc_int8 *) d4;
8121 ptr4 = (orc_union32 *) s1;
8122 ptr5 = (orc_union32 *) s2;
8125 for (i = 0; i < n; i++) {
8131 _src.i = var35.x2[0];
8132 var39.x2[0] = _src.x2[1];
8133 var40.x2[0] = _src.x2[0];
8137 _src.i = var35.x2[1];
8138 var39.x2[1] = _src.x2[1];
8139 var40.x2[1] = _src.x2[0];
8148 _src.i = var36.x2[0];
8149 var41.x2[0] = _src.x2[1];
8150 var42.x2[0] = _src.x2[0];
8154 _src.i = var36.x2[1];
8155 var41.x2[1] = _src.x2[1];
8156 var42.x2[1] = _src.x2[0];
8161 var43.x2[0] = ((orc_uint8) var40.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
8162 var43.x2[1] = ((orc_uint8) var40.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
8180 _backup_cogorc_convert_UYVY_I420 (OrcExecutor * ORC_RESTRICT ex)
8184 orc_union16 *ORC_RESTRICT ptr0;
8185 orc_union16 *ORC_RESTRICT ptr1;
8186 orc_int8 *ORC_RESTRICT ptr2;
8187 orc_int8 *ORC_RESTRICT ptr3;
8188 const orc_union32 *ORC_RESTRICT ptr4;
8189 const orc_union32 *ORC_RESTRICT ptr5;
8200 ptr0 = (orc_union16 *) ex->arrays[0];
8201 ptr1 = (orc_union16 *) ex->arrays[1];
8202 ptr2 = (orc_int8 *) ex->arrays[2];
8203 ptr3 = (orc_int8 *) ex->arrays[3];
8204 ptr4 = (orc_union32 *) ex->arrays[4];
8205 ptr5 = (orc_union32 *) ex->arrays[5];
8208 for (i = 0; i < n; i++) {
8214 _src.i = var35.x2[0];
8215 var39.x2[0] = _src.x2[1];
8216 var40.x2[0] = _src.x2[0];
8220 _src.i = var35.x2[1];
8221 var39.x2[1] = _src.x2[1];
8222 var40.x2[1] = _src.x2[0];
8231 _src.i = var36.x2[0];
8232 var41.x2[0] = _src.x2[1];
8233 var42.x2[0] = _src.x2[0];
8237 _src.i = var36.x2[1];
8238 var41.x2[1] = _src.x2[1];
8239 var42.x2[1] = _src.x2[0];
8244 var43.x2[0] = ((orc_uint8) var40.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
8245 var43.x2[1] = ((orc_uint8) var40.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
8262 cogorc_convert_UYVY_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
8263 guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
8264 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
8266 OrcExecutor _ex, *ex = &_ex;
8267 static int p_inited = 0;
8268 static OrcProgram *p = 0;
8269 void (*func) (OrcExecutor *);
8272 orc_once_mutex_lock ();
8275 p = orc_program_new ();
8276 orc_program_set_name (p, "cogorc_convert_UYVY_I420");
8277 orc_program_set_backup_function (p, _backup_cogorc_convert_UYVY_I420);
8278 orc_program_add_destination (p, 2, "d1");
8279 orc_program_add_destination (p, 2, "d2");
8280 orc_program_add_destination (p, 1, "d3");
8281 orc_program_add_destination (p, 1, "d4");
8282 orc_program_add_source (p, 4, "s1");
8283 orc_program_add_source (p, 4, "s2");
8284 orc_program_add_temporary (p, 2, "t1");
8285 orc_program_add_temporary (p, 2, "t2");
8286 orc_program_add_temporary (p, 2, "t3");
8288 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_S1,
8290 orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_D1,
8292 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_S2,
8294 orc_program_append_2 (p, "storew", 0, ORC_VAR_D2, ORC_VAR_T3, ORC_VAR_D1,
8296 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
8298 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D4, ORC_VAR_D3, ORC_VAR_T1,
8301 orc_program_compile (p);
8304 orc_once_mutex_unlock ();
8309 ex->arrays[ORC_VAR_D1] = d1;
8310 ex->arrays[ORC_VAR_D2] = d2;
8311 ex->arrays[ORC_VAR_D3] = d3;
8312 ex->arrays[ORC_VAR_D4] = d4;
8313 ex->arrays[ORC_VAR_S1] = (void *) s1;
8314 ex->arrays[ORC_VAR_S2] = (void *) s2;
8316 func = p->code_exec;
8322 /* cogorc_convert_AYUV_I420 */
8325 cogorc_convert_AYUV_I420 (guint8 * ORC_RESTRICT d1, int d1_stride,
8326 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
8327 int d3_stride, guint8 * ORC_RESTRICT d4, int d4_stride,
8328 const guint8 * ORC_RESTRICT s1, int s1_stride,
8329 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
8333 orc_union16 *ORC_RESTRICT ptr0;
8334 orc_union16 *ORC_RESTRICT ptr1;
8335 orc_int8 *ORC_RESTRICT ptr2;
8336 orc_int8 *ORC_RESTRICT ptr3;
8337 const orc_union64 *ORC_RESTRICT ptr4;
8338 const orc_union64 *ORC_RESTRICT ptr5;
8357 for (j = 0; j < m; j++) {
8358 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
8359 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
8360 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
8361 ptr3 = ORC_PTR_OFFSET (d4, d4_stride * j);
8362 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
8363 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
8366 for (i = 0; i < n; i++) {
8372 _src.i = var40.x2[0];
8373 var46.x2[0] = _src.x2[1];
8374 var47.x2[0] = _src.x2[0];
8378 _src.i = var40.x2[1];
8379 var46.x2[1] = _src.x2[1];
8380 var47.x2[1] = _src.x2[0];
8385 _src.i = var47.x2[0];
8386 var41.x2[0] = _src.x2[1];
8390 _src.i = var47.x2[1];
8391 var41.x2[1] = _src.x2[1];
8400 _src.i = var42.x2[0];
8401 var48.x2[0] = _src.x2[1];
8402 var49.x2[0] = _src.x2[0];
8406 _src.i = var42.x2[1];
8407 var48.x2[1] = _src.x2[1];
8408 var49.x2[1] = _src.x2[0];
8413 _src.i = var49.x2[0];
8414 var43.x2[0] = _src.x2[1];
8418 _src.i = var49.x2[1];
8419 var43.x2[1] = _src.x2[1];
8425 ((orc_uint8) var46.x4[0] + (orc_uint8) var48.x4[0] + 1) >> 1;
8427 ((orc_uint8) var46.x4[1] + (orc_uint8) var48.x4[1] + 1) >> 1;
8429 ((orc_uint8) var46.x4[2] + (orc_uint8) var48.x4[2] + 1) >> 1;
8431 ((orc_uint8) var46.x4[3] + (orc_uint8) var48.x4[3] + 1) >> 1;
8435 _src.i = var50.x2[0];
8436 var51.x2[0] = _src.x2[1];
8437 var52.x2[0] = _src.x2[0];
8441 _src.i = var50.x2[1];
8442 var51.x2[1] = _src.x2[1];
8443 var52.x2[1] = _src.x2[0];
8453 var44 = ((orc_uint8) var53 + (orc_uint8) var54 + 1) >> 1;
8464 var45 = ((orc_uint8) var55 + (orc_uint8) var56 + 1) >> 1;
8474 _backup_cogorc_convert_AYUV_I420 (OrcExecutor * ORC_RESTRICT ex)
8479 int m = ex->params[ORC_VAR_A1];
8480 orc_union16 *ORC_RESTRICT ptr0;
8481 orc_union16 *ORC_RESTRICT ptr1;
8482 orc_int8 *ORC_RESTRICT ptr2;
8483 orc_int8 *ORC_RESTRICT ptr3;
8484 const orc_union64 *ORC_RESTRICT ptr4;
8485 const orc_union64 *ORC_RESTRICT ptr5;
8504 for (j = 0; j < m; j++) {
8505 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
8506 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
8507 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
8508 ptr3 = ORC_PTR_OFFSET (ex->arrays[3], ex->params[3] * j);
8509 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
8510 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
8513 for (i = 0; i < n; i++) {
8519 _src.i = var40.x2[0];
8520 var46.x2[0] = _src.x2[1];
8521 var47.x2[0] = _src.x2[0];
8525 _src.i = var40.x2[1];
8526 var46.x2[1] = _src.x2[1];
8527 var47.x2[1] = _src.x2[0];
8532 _src.i = var47.x2[0];
8533 var41.x2[0] = _src.x2[1];
8537 _src.i = var47.x2[1];
8538 var41.x2[1] = _src.x2[1];
8547 _src.i = var42.x2[0];
8548 var48.x2[0] = _src.x2[1];
8549 var49.x2[0] = _src.x2[0];
8553 _src.i = var42.x2[1];
8554 var48.x2[1] = _src.x2[1];
8555 var49.x2[1] = _src.x2[0];
8560 _src.i = var49.x2[0];
8561 var43.x2[0] = _src.x2[1];
8565 _src.i = var49.x2[1];
8566 var43.x2[1] = _src.x2[1];
8572 ((orc_uint8) var46.x4[0] + (orc_uint8) var48.x4[0] + 1) >> 1;
8574 ((orc_uint8) var46.x4[1] + (orc_uint8) var48.x4[1] + 1) >> 1;
8576 ((orc_uint8) var46.x4[2] + (orc_uint8) var48.x4[2] + 1) >> 1;
8578 ((orc_uint8) var46.x4[3] + (orc_uint8) var48.x4[3] + 1) >> 1;
8582 _src.i = var50.x2[0];
8583 var51.x2[0] = _src.x2[1];
8584 var52.x2[0] = _src.x2[0];
8588 _src.i = var50.x2[1];
8589 var51.x2[1] = _src.x2[1];
8590 var52.x2[1] = _src.x2[0];
8600 var44 = ((orc_uint8) var53 + (orc_uint8) var54 + 1) >> 1;
8611 var45 = ((orc_uint8) var55 + (orc_uint8) var56 + 1) >> 1;
8620 cogorc_convert_AYUV_I420 (guint8 * ORC_RESTRICT d1, int d1_stride,
8621 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
8622 int d3_stride, guint8 * ORC_RESTRICT d4, int d4_stride,
8623 const guint8 * ORC_RESTRICT s1, int s1_stride,
8624 const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
8626 OrcExecutor _ex, *ex = &_ex;
8627 static int p_inited = 0;
8628 static OrcProgram *p = 0;
8629 void (*func) (OrcExecutor *);
8632 orc_once_mutex_lock ();
8635 p = orc_program_new ();
8636 orc_program_set_2d (p);
8637 orc_program_set_name (p, "cogorc_convert_AYUV_I420");
8638 orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_I420);
8639 orc_program_add_destination (p, 2, "d1");
8640 orc_program_add_destination (p, 2, "d2");
8641 orc_program_add_destination (p, 1, "d3");
8642 orc_program_add_destination (p, 1, "d4");
8643 orc_program_add_source (p, 8, "s1");
8644 orc_program_add_source (p, 8, "s2");
8645 orc_program_add_temporary (p, 4, "t1");
8646 orc_program_add_temporary (p, 4, "t2");
8647 orc_program_add_temporary (p, 4, "t3");
8648 orc_program_add_temporary (p, 4, "t4");
8649 orc_program_add_temporary (p, 2, "t5");
8650 orc_program_add_temporary (p, 2, "t6");
8651 orc_program_add_temporary (p, 1, "t7");
8652 orc_program_add_temporary (p, 1, "t8");
8654 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
8656 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
8657 ORC_VAR_D1, ORC_VAR_D1);
8658 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_S2,
8660 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D2, ORC_VAR_T1,
8661 ORC_VAR_D1, ORC_VAR_D1);
8662 orc_program_append_2 (p, "avgub", 2, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T3,
8664 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T4,
8666 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T7, ORC_VAR_T8, ORC_VAR_T5,
8668 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D3, ORC_VAR_T7, ORC_VAR_T8,
8670 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T7, ORC_VAR_T8, ORC_VAR_T6,
8672 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D4, ORC_VAR_T7, ORC_VAR_T8,
8675 orc_program_compile (p);
8678 orc_once_mutex_unlock ();
8683 ORC_EXECUTOR_M (ex) = m;
8684 ex->arrays[ORC_VAR_D1] = d1;
8685 ex->params[ORC_VAR_D1] = d1_stride;
8686 ex->arrays[ORC_VAR_D2] = d2;
8687 ex->params[ORC_VAR_D2] = d2_stride;
8688 ex->arrays[ORC_VAR_D3] = d3;
8689 ex->params[ORC_VAR_D3] = d3_stride;
8690 ex->arrays[ORC_VAR_D4] = d4;
8691 ex->params[ORC_VAR_D4] = d4_stride;
8692 ex->arrays[ORC_VAR_S1] = (void *) s1;
8693 ex->params[ORC_VAR_S1] = s1_stride;
8694 ex->arrays[ORC_VAR_S2] = (void *) s2;
8695 ex->params[ORC_VAR_S2] = s2_stride;
8697 func = p->code_exec;
8703 /* cogorc_convert_AYUV_YUY2 */
8706 cogorc_convert_AYUV_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
8707 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
8711 orc_union32 *ORC_RESTRICT ptr0;
8712 const orc_union64 *ORC_RESTRICT ptr4;
8722 for (j = 0; j < m; j++) {
8723 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
8724 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
8727 for (i = 0; i < n; i++) {
8733 _src.i = var37.x2[0];
8734 var39.x2[0] = _src.x2[1];
8735 var40.x2[0] = _src.x2[0];
8739 _src.i = var37.x2[1];
8740 var39.x2[1] = _src.x2[1];
8741 var40.x2[1] = _src.x2[0];
8747 var41.i = _src.x2[1];
8748 var42.i = _src.x2[0];
8752 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
8754 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
8758 _src.i = var40.x2[0];
8759 var44.x2[0] = _src.x2[1];
8763 _src.i = var40.x2[1];
8764 var44.x2[1] = _src.x2[1];
8769 _dest.x2[0] = var44.x2[0];
8770 _dest.x2[1] = var43.x2[0];
8771 var38.x2[0] = _dest.i;
8775 _dest.x2[0] = var44.x2[1];
8776 _dest.x2[1] = var43.x2[1];
8777 var38.x2[1] = _dest.i;
8788 _backup_cogorc_convert_AYUV_YUY2 (OrcExecutor * ORC_RESTRICT ex)
8793 int m = ex->params[ORC_VAR_A1];
8794 orc_union32 *ORC_RESTRICT ptr0;
8795 const orc_union64 *ORC_RESTRICT ptr4;
8805 for (j = 0; j < m; j++) {
8806 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
8807 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
8810 for (i = 0; i < n; i++) {
8816 _src.i = var37.x2[0];
8817 var39.x2[0] = _src.x2[1];
8818 var40.x2[0] = _src.x2[0];
8822 _src.i = var37.x2[1];
8823 var39.x2[1] = _src.x2[1];
8824 var40.x2[1] = _src.x2[0];
8830 var41.i = _src.x2[1];
8831 var42.i = _src.x2[0];
8835 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
8837 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
8841 _src.i = var40.x2[0];
8842 var44.x2[0] = _src.x2[1];
8846 _src.i = var40.x2[1];
8847 var44.x2[1] = _src.x2[1];
8852 _dest.x2[0] = var44.x2[0];
8853 _dest.x2[1] = var43.x2[0];
8854 var38.x2[0] = _dest.i;
8858 _dest.x2[0] = var44.x2[1];
8859 _dest.x2[1] = var43.x2[1];
8860 var38.x2[1] = _dest.i;
8870 cogorc_convert_AYUV_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
8871 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
8873 OrcExecutor _ex, *ex = &_ex;
8874 static int p_inited = 0;
8875 static OrcProgram *p = 0;
8876 void (*func) (OrcExecutor *);
8879 orc_once_mutex_lock ();
8882 p = orc_program_new ();
8883 orc_program_set_2d (p);
8884 orc_program_set_name (p, "cogorc_convert_AYUV_YUY2");
8885 orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_YUY2);
8886 orc_program_add_destination (p, 4, "d1");
8887 orc_program_add_source (p, 8, "s1");
8888 orc_program_add_temporary (p, 2, "t1");
8889 orc_program_add_temporary (p, 2, "t2");
8890 orc_program_add_temporary (p, 2, "t3");
8891 orc_program_add_temporary (p, 4, "t4");
8892 orc_program_add_temporary (p, 4, "t5");
8894 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
8896 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
8898 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
8900 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
8901 ORC_VAR_D1, ORC_VAR_D1);
8902 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
8905 orc_program_compile (p);
8908 orc_once_mutex_unlock ();
8913 ORC_EXECUTOR_M (ex) = m;
8914 ex->arrays[ORC_VAR_D1] = d1;
8915 ex->params[ORC_VAR_D1] = d1_stride;
8916 ex->arrays[ORC_VAR_S1] = (void *) s1;
8917 ex->params[ORC_VAR_S1] = s1_stride;
8919 func = p->code_exec;
8925 /* cogorc_convert_AYUV_UYVY */
8928 cogorc_convert_AYUV_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
8929 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
8933 orc_union32 *ORC_RESTRICT ptr0;
8934 const orc_union64 *ORC_RESTRICT ptr4;
8944 for (j = 0; j < m; j++) {
8945 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
8946 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
8949 for (i = 0; i < n; i++) {
8955 _src.i = var37.x2[0];
8956 var39.x2[0] = _src.x2[1];
8957 var40.x2[0] = _src.x2[0];
8961 _src.i = var37.x2[1];
8962 var39.x2[1] = _src.x2[1];
8963 var40.x2[1] = _src.x2[0];
8969 var41.i = _src.x2[1];
8970 var42.i = _src.x2[0];
8974 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
8976 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
8980 _src.i = var40.x2[0];
8981 var44.x2[0] = _src.x2[1];
8985 _src.i = var40.x2[1];
8986 var44.x2[1] = _src.x2[1];
8991 _dest.x2[0] = var43.x2[0];
8992 _dest.x2[1] = var44.x2[0];
8993 var38.x2[0] = _dest.i;
8997 _dest.x2[0] = var43.x2[1];
8998 _dest.x2[1] = var44.x2[1];
8999 var38.x2[1] = _dest.i;
9010 _backup_cogorc_convert_AYUV_UYVY (OrcExecutor * ORC_RESTRICT ex)
9015 int m = ex->params[ORC_VAR_A1];
9016 orc_union32 *ORC_RESTRICT ptr0;
9017 const orc_union64 *ORC_RESTRICT ptr4;
9027 for (j = 0; j < m; j++) {
9028 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
9029 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
9032 for (i = 0; i < n; i++) {
9038 _src.i = var37.x2[0];
9039 var39.x2[0] = _src.x2[1];
9040 var40.x2[0] = _src.x2[0];
9044 _src.i = var37.x2[1];
9045 var39.x2[1] = _src.x2[1];
9046 var40.x2[1] = _src.x2[0];
9052 var41.i = _src.x2[1];
9053 var42.i = _src.x2[0];
9057 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
9059 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
9063 _src.i = var40.x2[0];
9064 var44.x2[0] = _src.x2[1];
9068 _src.i = var40.x2[1];
9069 var44.x2[1] = _src.x2[1];
9074 _dest.x2[0] = var43.x2[0];
9075 _dest.x2[1] = var44.x2[0];
9076 var38.x2[0] = _dest.i;
9080 _dest.x2[0] = var43.x2[1];
9081 _dest.x2[1] = var44.x2[1];
9082 var38.x2[1] = _dest.i;
9092 cogorc_convert_AYUV_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
9093 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
9095 OrcExecutor _ex, *ex = &_ex;
9096 static int p_inited = 0;
9097 static OrcProgram *p = 0;
9098 void (*func) (OrcExecutor *);
9101 orc_once_mutex_lock ();
9104 p = orc_program_new ();
9105 orc_program_set_2d (p);
9106 orc_program_set_name (p, "cogorc_convert_AYUV_UYVY");
9107 orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_UYVY);
9108 orc_program_add_destination (p, 4, "d1");
9109 orc_program_add_source (p, 8, "s1");
9110 orc_program_add_temporary (p, 2, "t1");
9111 orc_program_add_temporary (p, 2, "t2");
9112 orc_program_add_temporary (p, 2, "t3");
9113 orc_program_add_temporary (p, 4, "t4");
9114 orc_program_add_temporary (p, 4, "t5");
9116 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
9118 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
9120 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
9122 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
9123 ORC_VAR_D1, ORC_VAR_D1);
9124 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
9127 orc_program_compile (p);
9130 orc_once_mutex_unlock ();
9135 ORC_EXECUTOR_M (ex) = m;
9136 ex->arrays[ORC_VAR_D1] = d1;
9137 ex->params[ORC_VAR_D1] = d1_stride;
9138 ex->arrays[ORC_VAR_S1] = (void *) s1;
9139 ex->params[ORC_VAR_S1] = s1_stride;
9141 func = p->code_exec;
9147 /* cogorc_convert_AYUV_Y42B */
9150 cogorc_convert_AYUV_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
9151 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
9152 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
9156 orc_union16 *ORC_RESTRICT ptr0;
9157 orc_int8 *ORC_RESTRICT ptr1;
9158 orc_int8 *ORC_RESTRICT ptr2;
9159 const orc_union64 *ORC_RESTRICT ptr4;
9170 for (j = 0; j < m; j++) {
9171 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
9172 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
9173 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
9174 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
9177 for (i = 0; i < n; i++) {
9183 _src.i = var36.x2[0];
9184 var40.x2[0] = _src.x2[1];
9185 var41.x2[0] = _src.x2[0];
9189 _src.i = var36.x2[1];
9190 var40.x2[1] = _src.x2[1];
9191 var41.x2[1] = _src.x2[0];
9197 var42.i = _src.x2[1];
9198 var43.i = _src.x2[0];
9202 ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
9204 ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
9219 _src.i = var41.x2[0];
9220 var39.x2[0] = _src.x2[1];
9224 _src.i = var41.x2[1];
9225 var39.x2[1] = _src.x2[1];
9236 _backup_cogorc_convert_AYUV_Y42B (OrcExecutor * ORC_RESTRICT ex)
9241 int m = ex->params[ORC_VAR_A1];
9242 orc_union16 *ORC_RESTRICT ptr0;
9243 orc_int8 *ORC_RESTRICT ptr1;
9244 orc_int8 *ORC_RESTRICT ptr2;
9245 const orc_union64 *ORC_RESTRICT ptr4;
9256 for (j = 0; j < m; j++) {
9257 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
9258 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
9259 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
9260 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
9263 for (i = 0; i < n; i++) {
9269 _src.i = var36.x2[0];
9270 var40.x2[0] = _src.x2[1];
9271 var41.x2[0] = _src.x2[0];
9275 _src.i = var36.x2[1];
9276 var40.x2[1] = _src.x2[1];
9277 var41.x2[1] = _src.x2[0];
9283 var42.i = _src.x2[1];
9284 var43.i = _src.x2[0];
9288 ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
9290 ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
9305 _src.i = var41.x2[0];
9306 var39.x2[0] = _src.x2[1];
9310 _src.i = var41.x2[1];
9311 var39.x2[1] = _src.x2[1];
9321 cogorc_convert_AYUV_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
9322 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
9323 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
9325 OrcExecutor _ex, *ex = &_ex;
9326 static int p_inited = 0;
9327 static OrcProgram *p = 0;
9328 void (*func) (OrcExecutor *);
9331 orc_once_mutex_lock ();
9334 p = orc_program_new ();
9335 orc_program_set_2d (p);
9336 orc_program_set_name (p, "cogorc_convert_AYUV_Y42B");
9337 orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_Y42B);
9338 orc_program_add_destination (p, 2, "d1");
9339 orc_program_add_destination (p, 1, "d2");
9340 orc_program_add_destination (p, 1, "d3");
9341 orc_program_add_source (p, 8, "s1");
9342 orc_program_add_temporary (p, 4, "t1");
9343 orc_program_add_temporary (p, 4, "t2");
9344 orc_program_add_temporary (p, 2, "t3");
9345 orc_program_add_temporary (p, 2, "t4");
9347 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
9349 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
9351 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
9353 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T3,
9355 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
9356 ORC_VAR_D1, ORC_VAR_D1);
9358 orc_program_compile (p);
9361 orc_once_mutex_unlock ();
9366 ORC_EXECUTOR_M (ex) = m;
9367 ex->arrays[ORC_VAR_D1] = d1;
9368 ex->params[ORC_VAR_D1] = d1_stride;
9369 ex->arrays[ORC_VAR_D2] = d2;
9370 ex->params[ORC_VAR_D2] = d2_stride;
9371 ex->arrays[ORC_VAR_D3] = d3;
9372 ex->params[ORC_VAR_D3] = d3_stride;
9373 ex->arrays[ORC_VAR_S1] = (void *) s1;
9374 ex->params[ORC_VAR_S1] = s1_stride;
9376 func = p->code_exec;
9382 /* cogorc_convert_AYUV_Y444 */
9385 cogorc_convert_AYUV_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
9386 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
9387 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
9391 orc_int8 *ORC_RESTRICT ptr0;
9392 orc_int8 *ORC_RESTRICT ptr1;
9393 orc_int8 *ORC_RESTRICT ptr2;
9394 const orc_union32 *ORC_RESTRICT ptr4;
9402 for (j = 0; j < m; j++) {
9403 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
9404 ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
9405 ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
9406 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
9409 for (i = 0; i < n; i++) {
9416 var38.i = _src.x2[1];
9417 var39.i = _src.x2[0];
9445 _backup_cogorc_convert_AYUV_Y444 (OrcExecutor * ORC_RESTRICT ex)
9450 int m = ex->params[ORC_VAR_A1];
9451 orc_int8 *ORC_RESTRICT ptr0;
9452 orc_int8 *ORC_RESTRICT ptr1;
9453 orc_int8 *ORC_RESTRICT ptr2;
9454 const orc_union32 *ORC_RESTRICT ptr4;
9462 for (j = 0; j < m; j++) {
9463 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
9464 ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
9465 ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
9466 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
9469 for (i = 0; i < n; i++) {
9476 var38.i = _src.x2[1];
9477 var39.i = _src.x2[0];
9504 cogorc_convert_AYUV_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
9505 guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
9506 int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
9508 OrcExecutor _ex, *ex = &_ex;
9509 static int p_inited = 0;
9510 static OrcProgram *p = 0;
9511 void (*func) (OrcExecutor *);
9514 orc_once_mutex_lock ();
9517 p = orc_program_new ();
9518 orc_program_set_2d (p);
9519 orc_program_set_name (p, "cogorc_convert_AYUV_Y444");
9520 orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_Y444);
9521 orc_program_add_destination (p, 1, "d1");
9522 orc_program_add_destination (p, 1, "d2");
9523 orc_program_add_destination (p, 1, "d3");
9524 orc_program_add_source (p, 4, "s1");
9525 orc_program_add_temporary (p, 2, "t1");
9526 orc_program_add_temporary (p, 2, "t2");
9528 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
9530 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T2,
9532 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
9533 ORC_VAR_D1, ORC_VAR_D1);
9535 orc_program_compile (p);
9538 orc_once_mutex_unlock ();
9543 ORC_EXECUTOR_M (ex) = m;
9544 ex->arrays[ORC_VAR_D1] = d1;
9545 ex->params[ORC_VAR_D1] = d1_stride;
9546 ex->arrays[ORC_VAR_D2] = d2;
9547 ex->params[ORC_VAR_D2] = d2_stride;
9548 ex->arrays[ORC_VAR_D3] = d3;
9549 ex->params[ORC_VAR_D3] = d3_stride;
9550 ex->arrays[ORC_VAR_S1] = (void *) s1;
9551 ex->params[ORC_VAR_S1] = s1_stride;
9553 func = p->code_exec;
9559 /* cogorc_convert_Y42B_YUY2 */
9562 cogorc_convert_Y42B_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
9563 const guint8 * ORC_RESTRICT s1, int s1_stride,
9564 const guint8 * ORC_RESTRICT s2, int s2_stride,
9565 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
9569 orc_union32 *ORC_RESTRICT ptr0;
9570 const orc_union16 *ORC_RESTRICT ptr4;
9571 const orc_int8 *ORC_RESTRICT ptr5;
9572 const orc_int8 *ORC_RESTRICT ptr6;
9579 for (j = 0; j < m; j++) {
9580 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
9581 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
9582 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
9583 ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
9586 for (i = 0; i < n; i++) {
9594 _dest.x2[0] = var33;
9595 _dest.x2[1] = var34;
9603 _dest.x2[0] = var35.x2[0];
9604 _dest.x2[1] = var37.x2[0];
9605 var36.x2[0] = _dest.i;
9609 _dest.x2[0] = var35.x2[1];
9610 _dest.x2[1] = var37.x2[1];
9611 var36.x2[1] = _dest.i;
9622 _backup_cogorc_convert_Y42B_YUY2 (OrcExecutor * ORC_RESTRICT ex)
9627 int m = ex->params[ORC_VAR_A1];
9628 orc_union32 *ORC_RESTRICT ptr0;
9629 const orc_union16 *ORC_RESTRICT ptr4;
9630 const orc_int8 *ORC_RESTRICT ptr5;
9631 const orc_int8 *ORC_RESTRICT ptr6;
9638 for (j = 0; j < m; j++) {
9639 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
9640 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
9641 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
9642 ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
9645 for (i = 0; i < n; i++) {
9653 _dest.x2[0] = var33;
9654 _dest.x2[1] = var34;
9662 _dest.x2[0] = var35.x2[0];
9663 _dest.x2[1] = var37.x2[0];
9664 var36.x2[0] = _dest.i;
9668 _dest.x2[0] = var35.x2[1];
9669 _dest.x2[1] = var37.x2[1];
9670 var36.x2[1] = _dest.i;
9680 cogorc_convert_Y42B_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
9681 const guint8 * ORC_RESTRICT s1, int s1_stride,
9682 const guint8 * ORC_RESTRICT s2, int s2_stride,
9683 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
9685 OrcExecutor _ex, *ex = &_ex;
9686 static int p_inited = 0;
9687 static OrcProgram *p = 0;
9688 void (*func) (OrcExecutor *);
9691 orc_once_mutex_lock ();
9694 p = orc_program_new ();
9695 orc_program_set_2d (p);
9696 orc_program_set_name (p, "cogorc_convert_Y42B_YUY2");
9697 orc_program_set_backup_function (p, _backup_cogorc_convert_Y42B_YUY2);
9698 orc_program_add_destination (p, 4, "d1");
9699 orc_program_add_source (p, 2, "s1");
9700 orc_program_add_source (p, 1, "s2");
9701 orc_program_add_source (p, 1, "s3");
9702 orc_program_add_temporary (p, 2, "t1");
9704 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
9706 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_T1,
9709 orc_program_compile (p);
9712 orc_once_mutex_unlock ();
9717 ORC_EXECUTOR_M (ex) = m;
9718 ex->arrays[ORC_VAR_D1] = d1;
9719 ex->params[ORC_VAR_D1] = d1_stride;
9720 ex->arrays[ORC_VAR_S1] = (void *) s1;
9721 ex->params[ORC_VAR_S1] = s1_stride;
9722 ex->arrays[ORC_VAR_S2] = (void *) s2;
9723 ex->params[ORC_VAR_S2] = s2_stride;
9724 ex->arrays[ORC_VAR_S3] = (void *) s3;
9725 ex->params[ORC_VAR_S3] = s3_stride;
9727 func = p->code_exec;
9733 /* cogorc_convert_Y42B_UYVY */
9736 cogorc_convert_Y42B_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
9737 const guint8 * ORC_RESTRICT s1, int s1_stride,
9738 const guint8 * ORC_RESTRICT s2, int s2_stride,
9739 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
9743 orc_union32 *ORC_RESTRICT ptr0;
9744 const orc_union16 *ORC_RESTRICT ptr4;
9745 const orc_int8 *ORC_RESTRICT ptr5;
9746 const orc_int8 *ORC_RESTRICT ptr6;
9753 for (j = 0; j < m; j++) {
9754 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
9755 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
9756 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
9757 ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
9760 for (i = 0; i < n; i++) {
9768 _dest.x2[0] = var33;
9769 _dest.x2[1] = var34;
9777 _dest.x2[0] = var37.x2[0];
9778 _dest.x2[1] = var35.x2[0];
9779 var36.x2[0] = _dest.i;
9783 _dest.x2[0] = var37.x2[1];
9784 _dest.x2[1] = var35.x2[1];
9785 var36.x2[1] = _dest.i;
9796 _backup_cogorc_convert_Y42B_UYVY (OrcExecutor * ORC_RESTRICT ex)
9801 int m = ex->params[ORC_VAR_A1];
9802 orc_union32 *ORC_RESTRICT ptr0;
9803 const orc_union16 *ORC_RESTRICT ptr4;
9804 const orc_int8 *ORC_RESTRICT ptr5;
9805 const orc_int8 *ORC_RESTRICT ptr6;
9812 for (j = 0; j < m; j++) {
9813 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
9814 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
9815 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
9816 ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
9819 for (i = 0; i < n; i++) {
9827 _dest.x2[0] = var33;
9828 _dest.x2[1] = var34;
9836 _dest.x2[0] = var37.x2[0];
9837 _dest.x2[1] = var35.x2[0];
9838 var36.x2[0] = _dest.i;
9842 _dest.x2[0] = var37.x2[1];
9843 _dest.x2[1] = var35.x2[1];
9844 var36.x2[1] = _dest.i;
9854 cogorc_convert_Y42B_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
9855 const guint8 * ORC_RESTRICT s1, int s1_stride,
9856 const guint8 * ORC_RESTRICT s2, int s2_stride,
9857 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
9859 OrcExecutor _ex, *ex = &_ex;
9860 static int p_inited = 0;
9861 static OrcProgram *p = 0;
9862 void (*func) (OrcExecutor *);
9865 orc_once_mutex_lock ();
9868 p = orc_program_new ();
9869 orc_program_set_2d (p);
9870 orc_program_set_name (p, "cogorc_convert_Y42B_UYVY");
9871 orc_program_set_backup_function (p, _backup_cogorc_convert_Y42B_UYVY);
9872 orc_program_add_destination (p, 4, "d1");
9873 orc_program_add_source (p, 2, "s1");
9874 orc_program_add_source (p, 1, "s2");
9875 orc_program_add_source (p, 1, "s3");
9876 orc_program_add_temporary (p, 2, "t1");
9878 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
9880 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
9883 orc_program_compile (p);
9886 orc_once_mutex_unlock ();
9891 ORC_EXECUTOR_M (ex) = m;
9892 ex->arrays[ORC_VAR_D1] = d1;
9893 ex->params[ORC_VAR_D1] = d1_stride;
9894 ex->arrays[ORC_VAR_S1] = (void *) s1;
9895 ex->params[ORC_VAR_S1] = s1_stride;
9896 ex->arrays[ORC_VAR_S2] = (void *) s2;
9897 ex->params[ORC_VAR_S2] = s2_stride;
9898 ex->arrays[ORC_VAR_S3] = (void *) s3;
9899 ex->params[ORC_VAR_S3] = s3_stride;
9901 func = p->code_exec;
9907 /* cogorc_convert_Y42B_AYUV */
9910 cogorc_convert_Y42B_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
9911 const guint8 * ORC_RESTRICT s1, int s1_stride,
9912 const guint8 * ORC_RESTRICT s2, int s2_stride,
9913 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
9917 orc_union64 *ORC_RESTRICT ptr0;
9918 const orc_union16 *ORC_RESTRICT ptr4;
9919 const orc_int8 *ORC_RESTRICT ptr5;
9920 const orc_int8 *ORC_RESTRICT ptr6;
9930 for (j = 0; j < m; j++) {
9931 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
9932 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
9933 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
9934 ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
9937 var38.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
9938 var38.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
9940 for (i = 0; i < n; i++) {
9948 _dest.x2[0] = var36;
9949 _dest.x2[1] = var37;
9957 _dest.x2[0] = var38.x2[0];
9958 _dest.x2[1] = var39.x2[0];
9959 var42.x2[0] = _dest.i;
9963 _dest.x2[0] = var38.x2[1];
9964 _dest.x2[1] = var39.x2[1];
9965 var42.x2[1] = _dest.i;
9970 _dest.x2[0] = var41.i;
9971 _dest.x2[1] = var41.i;
9977 _dest.x2[0] = var42.x2[0];
9978 _dest.x2[1] = var43.x2[0];
9979 var40.x2[0] = _dest.i;
9983 _dest.x2[0] = var42.x2[1];
9984 _dest.x2[1] = var43.x2[1];
9985 var40.x2[1] = _dest.i;
9996 _backup_cogorc_convert_Y42B_AYUV (OrcExecutor * ORC_RESTRICT ex)
10001 int m = ex->params[ORC_VAR_A1];
10002 orc_union64 *ORC_RESTRICT ptr0;
10003 const orc_union16 *ORC_RESTRICT ptr4;
10004 const orc_int8 *ORC_RESTRICT ptr5;
10005 const orc_int8 *ORC_RESTRICT ptr6;
10015 for (j = 0; j < m; j++) {
10016 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
10017 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
10018 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
10019 ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
10022 var38.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10023 var38.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10025 for (i = 0; i < n; i++) {
10033 _dest.x2[0] = var36;
10034 _dest.x2[1] = var37;
10042 _dest.x2[0] = var38.x2[0];
10043 _dest.x2[1] = var39.x2[0];
10044 var42.x2[0] = _dest.i;
10048 _dest.x2[0] = var38.x2[1];
10049 _dest.x2[1] = var39.x2[1];
10050 var42.x2[1] = _dest.i;
10055 _dest.x2[0] = var41.i;
10056 _dest.x2[1] = var41.i;
10062 _dest.x2[0] = var42.x2[0];
10063 _dest.x2[1] = var43.x2[0];
10064 var40.x2[0] = _dest.i;
10068 _dest.x2[0] = var42.x2[1];
10069 _dest.x2[1] = var43.x2[1];
10070 var40.x2[1] = _dest.i;
10080 cogorc_convert_Y42B_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
10081 const guint8 * ORC_RESTRICT s1, int s1_stride,
10082 const guint8 * ORC_RESTRICT s2, int s2_stride,
10083 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
10085 OrcExecutor _ex, *ex = &_ex;
10086 static int p_inited = 0;
10087 static OrcProgram *p = 0;
10088 void (*func) (OrcExecutor *);
10091 orc_once_mutex_lock ();
10094 p = orc_program_new ();
10095 orc_program_set_2d (p);
10096 orc_program_set_name (p, "cogorc_convert_Y42B_AYUV");
10097 orc_program_set_backup_function (p, _backup_cogorc_convert_Y42B_AYUV);
10098 orc_program_add_destination (p, 8, "d1");
10099 orc_program_add_source (p, 2, "s1");
10100 orc_program_add_source (p, 1, "s2");
10101 orc_program_add_source (p, 1, "s3");
10102 orc_program_add_constant (p, 1, 0x000000ff, "c1");
10103 orc_program_add_temporary (p, 2, "t1");
10104 orc_program_add_temporary (p, 2, "t2");
10105 orc_program_add_temporary (p, 4, "t3");
10106 orc_program_add_temporary (p, 4, "t4");
10108 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
10110 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T4, ORC_VAR_C1, ORC_VAR_S1,
10112 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
10114 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T4, ORC_VAR_T3,
10117 orc_program_compile (p);
10120 orc_once_mutex_unlock ();
10125 ORC_EXECUTOR_M (ex) = m;
10126 ex->arrays[ORC_VAR_D1] = d1;
10127 ex->params[ORC_VAR_D1] = d1_stride;
10128 ex->arrays[ORC_VAR_S1] = (void *) s1;
10129 ex->params[ORC_VAR_S1] = s1_stride;
10130 ex->arrays[ORC_VAR_S2] = (void *) s2;
10131 ex->params[ORC_VAR_S2] = s2_stride;
10132 ex->arrays[ORC_VAR_S3] = (void *) s3;
10133 ex->params[ORC_VAR_S3] = s3_stride;
10135 func = p->code_exec;
10141 /* cogorc_convert_Y444_YUY2 */
10144 cogorc_convert_Y444_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
10145 const guint8 * ORC_RESTRICT s1, int s1_stride,
10146 const guint8 * ORC_RESTRICT s2, int s2_stride,
10147 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
10151 orc_union32 *ORC_RESTRICT ptr0;
10152 const orc_union16 *ORC_RESTRICT ptr4;
10153 const orc_union16 *ORC_RESTRICT ptr5;
10154 const orc_union16 *ORC_RESTRICT ptr6;
10164 for (j = 0; j < m; j++) {
10165 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
10166 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
10167 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
10168 ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
10171 for (i = 0; i < n; i++) {
10179 _dest.x2[0] = var36.x2[0];
10180 _dest.x2[1] = var37.x2[0];
10181 var40.x2[0] = _dest.i;
10185 _dest.x2[0] = var36.x2[1];
10186 _dest.x2[1] = var37.x2[1];
10187 var40.x2[1] = _dest.i;
10193 var41.i = _src.x2[1];
10194 var42.i = _src.x2[0];
10198 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
10200 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
10206 _dest.x2[0] = var38.x2[0];
10207 _dest.x2[1] = var43.x2[0];
10208 var39.x2[0] = _dest.i;
10212 _dest.x2[0] = var38.x2[1];
10213 _dest.x2[1] = var43.x2[1];
10214 var39.x2[1] = _dest.i;
10225 _backup_cogorc_convert_Y444_YUY2 (OrcExecutor * ORC_RESTRICT ex)
10230 int m = ex->params[ORC_VAR_A1];
10231 orc_union32 *ORC_RESTRICT ptr0;
10232 const orc_union16 *ORC_RESTRICT ptr4;
10233 const orc_union16 *ORC_RESTRICT ptr5;
10234 const orc_union16 *ORC_RESTRICT ptr6;
10244 for (j = 0; j < m; j++) {
10245 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
10246 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
10247 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
10248 ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
10251 for (i = 0; i < n; i++) {
10259 _dest.x2[0] = var36.x2[0];
10260 _dest.x2[1] = var37.x2[0];
10261 var40.x2[0] = _dest.i;
10265 _dest.x2[0] = var36.x2[1];
10266 _dest.x2[1] = var37.x2[1];
10267 var40.x2[1] = _dest.i;
10273 var41.i = _src.x2[1];
10274 var42.i = _src.x2[0];
10278 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
10280 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
10286 _dest.x2[0] = var38.x2[0];
10287 _dest.x2[1] = var43.x2[0];
10288 var39.x2[0] = _dest.i;
10292 _dest.x2[0] = var38.x2[1];
10293 _dest.x2[1] = var43.x2[1];
10294 var39.x2[1] = _dest.i;
10304 cogorc_convert_Y444_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
10305 const guint8 * ORC_RESTRICT s1, int s1_stride,
10306 const guint8 * ORC_RESTRICT s2, int s2_stride,
10307 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
10309 OrcExecutor _ex, *ex = &_ex;
10310 static int p_inited = 0;
10311 static OrcProgram *p = 0;
10312 void (*func) (OrcExecutor *);
10315 orc_once_mutex_lock ();
10318 p = orc_program_new ();
10319 orc_program_set_2d (p);
10320 orc_program_set_name (p, "cogorc_convert_Y444_YUY2");
10321 orc_program_set_backup_function (p, _backup_cogorc_convert_Y444_YUY2);
10322 orc_program_add_destination (p, 4, "d1");
10323 orc_program_add_source (p, 2, "s1");
10324 orc_program_add_source (p, 2, "s2");
10325 orc_program_add_source (p, 2, "s3");
10326 orc_program_add_temporary (p, 2, "t1");
10327 orc_program_add_temporary (p, 4, "t2");
10328 orc_program_add_temporary (p, 2, "t3");
10329 orc_program_add_temporary (p, 2, "t4");
10331 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S3,
10333 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
10335 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
10337 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_T1,
10340 orc_program_compile (p);
10343 orc_once_mutex_unlock ();
10348 ORC_EXECUTOR_M (ex) = m;
10349 ex->arrays[ORC_VAR_D1] = d1;
10350 ex->params[ORC_VAR_D1] = d1_stride;
10351 ex->arrays[ORC_VAR_S1] = (void *) s1;
10352 ex->params[ORC_VAR_S1] = s1_stride;
10353 ex->arrays[ORC_VAR_S2] = (void *) s2;
10354 ex->params[ORC_VAR_S2] = s2_stride;
10355 ex->arrays[ORC_VAR_S3] = (void *) s3;
10356 ex->params[ORC_VAR_S3] = s3_stride;
10358 func = p->code_exec;
10364 /* cogorc_convert_Y444_UYVY */
10367 cogorc_convert_Y444_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
10368 const guint8 * ORC_RESTRICT s1, int s1_stride,
10369 const guint8 * ORC_RESTRICT s2, int s2_stride,
10370 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
10374 orc_union32 *ORC_RESTRICT ptr0;
10375 const orc_union16 *ORC_RESTRICT ptr4;
10376 const orc_union16 *ORC_RESTRICT ptr5;
10377 const orc_union16 *ORC_RESTRICT ptr6;
10387 for (j = 0; j < m; j++) {
10388 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
10389 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
10390 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
10391 ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
10394 for (i = 0; i < n; i++) {
10402 _dest.x2[0] = var36.x2[0];
10403 _dest.x2[1] = var37.x2[0];
10404 var40.x2[0] = _dest.i;
10408 _dest.x2[0] = var36.x2[1];
10409 _dest.x2[1] = var37.x2[1];
10410 var40.x2[1] = _dest.i;
10416 var41.i = _src.x2[1];
10417 var42.i = _src.x2[0];
10421 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
10423 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
10429 _dest.x2[0] = var43.x2[0];
10430 _dest.x2[1] = var38.x2[0];
10431 var39.x2[0] = _dest.i;
10435 _dest.x2[0] = var43.x2[1];
10436 _dest.x2[1] = var38.x2[1];
10437 var39.x2[1] = _dest.i;
10448 _backup_cogorc_convert_Y444_UYVY (OrcExecutor * ORC_RESTRICT ex)
10453 int m = ex->params[ORC_VAR_A1];
10454 orc_union32 *ORC_RESTRICT ptr0;
10455 const orc_union16 *ORC_RESTRICT ptr4;
10456 const orc_union16 *ORC_RESTRICT ptr5;
10457 const orc_union16 *ORC_RESTRICT ptr6;
10467 for (j = 0; j < m; j++) {
10468 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
10469 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
10470 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
10471 ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
10474 for (i = 0; i < n; i++) {
10482 _dest.x2[0] = var36.x2[0];
10483 _dest.x2[1] = var37.x2[0];
10484 var40.x2[0] = _dest.i;
10488 _dest.x2[0] = var36.x2[1];
10489 _dest.x2[1] = var37.x2[1];
10490 var40.x2[1] = _dest.i;
10496 var41.i = _src.x2[1];
10497 var42.i = _src.x2[0];
10501 ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
10503 ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
10509 _dest.x2[0] = var43.x2[0];
10510 _dest.x2[1] = var38.x2[0];
10511 var39.x2[0] = _dest.i;
10515 _dest.x2[0] = var43.x2[1];
10516 _dest.x2[1] = var38.x2[1];
10517 var39.x2[1] = _dest.i;
10527 cogorc_convert_Y444_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
10528 const guint8 * ORC_RESTRICT s1, int s1_stride,
10529 const guint8 * ORC_RESTRICT s2, int s2_stride,
10530 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
10532 OrcExecutor _ex, *ex = &_ex;
10533 static int p_inited = 0;
10534 static OrcProgram *p = 0;
10535 void (*func) (OrcExecutor *);
10538 orc_once_mutex_lock ();
10541 p = orc_program_new ();
10542 orc_program_set_2d (p);
10543 orc_program_set_name (p, "cogorc_convert_Y444_UYVY");
10544 orc_program_set_backup_function (p, _backup_cogorc_convert_Y444_UYVY);
10545 orc_program_add_destination (p, 4, "d1");
10546 orc_program_add_source (p, 2, "s1");
10547 orc_program_add_source (p, 2, "s2");
10548 orc_program_add_source (p, 2, "s3");
10549 orc_program_add_temporary (p, 2, "t1");
10550 orc_program_add_temporary (p, 4, "t2");
10551 orc_program_add_temporary (p, 2, "t3");
10552 orc_program_add_temporary (p, 2, "t4");
10554 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S3,
10556 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
10558 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
10560 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
10563 orc_program_compile (p);
10566 orc_once_mutex_unlock ();
10571 ORC_EXECUTOR_M (ex) = m;
10572 ex->arrays[ORC_VAR_D1] = d1;
10573 ex->params[ORC_VAR_D1] = d1_stride;
10574 ex->arrays[ORC_VAR_S1] = (void *) s1;
10575 ex->params[ORC_VAR_S1] = s1_stride;
10576 ex->arrays[ORC_VAR_S2] = (void *) s2;
10577 ex->params[ORC_VAR_S2] = s2_stride;
10578 ex->arrays[ORC_VAR_S3] = (void *) s3;
10579 ex->params[ORC_VAR_S3] = s3_stride;
10581 func = p->code_exec;
10587 /* cogorc_convert_Y444_AYUV */
10590 cogorc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
10591 const guint8 * ORC_RESTRICT s1, int s1_stride,
10592 const guint8 * ORC_RESTRICT s2, int s2_stride,
10593 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
10597 orc_union32 *ORC_RESTRICT ptr0;
10598 const orc_int8 *ORC_RESTRICT ptr4;
10599 const orc_int8 *ORC_RESTRICT ptr5;
10600 const orc_int8 *ORC_RESTRICT ptr6;
10609 for (j = 0; j < m; j++) {
10610 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
10611 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
10612 ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
10613 ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
10616 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10618 for (i = 0; i < n; i++) {
10626 _dest.x2[0] = var34;
10627 _dest.x2[1] = var35;
10635 _dest.x2[0] = var36;
10636 _dest.x2[1] = var37;
10642 _dest.x2[0] = var40.i;
10643 _dest.x2[1] = var39.i;
10655 _backup_cogorc_convert_Y444_AYUV (OrcExecutor * ORC_RESTRICT ex)
10660 int m = ex->params[ORC_VAR_A1];
10661 orc_union32 *ORC_RESTRICT ptr0;
10662 const orc_int8 *ORC_RESTRICT ptr4;
10663 const orc_int8 *ORC_RESTRICT ptr5;
10664 const orc_int8 *ORC_RESTRICT ptr6;
10673 for (j = 0; j < m; j++) {
10674 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
10675 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
10676 ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
10677 ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
10680 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
10682 for (i = 0; i < n; i++) {
10690 _dest.x2[0] = var34;
10691 _dest.x2[1] = var35;
10699 _dest.x2[0] = var36;
10700 _dest.x2[1] = var37;
10706 _dest.x2[0] = var40.i;
10707 _dest.x2[1] = var39.i;
10718 cogorc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
10719 const guint8 * ORC_RESTRICT s1, int s1_stride,
10720 const guint8 * ORC_RESTRICT s2, int s2_stride,
10721 const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
10723 OrcExecutor _ex, *ex = &_ex;
10724 static int p_inited = 0;
10725 static OrcProgram *p = 0;
10726 void (*func) (OrcExecutor *);
10729 orc_once_mutex_lock ();
10732 p = orc_program_new ();
10733 orc_program_set_2d (p);
10734 orc_program_set_name (p, "cogorc_convert_Y444_AYUV");
10735 orc_program_set_backup_function (p, _backup_cogorc_convert_Y444_AYUV);
10736 orc_program_add_destination (p, 4, "d1");
10737 orc_program_add_source (p, 1, "s1");
10738 orc_program_add_source (p, 1, "s2");
10739 orc_program_add_source (p, 1, "s3");
10740 orc_program_add_constant (p, 1, 0x000000ff, "c1");
10741 orc_program_add_temporary (p, 2, "t1");
10742 orc_program_add_temporary (p, 2, "t2");
10744 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
10746 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
10748 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
10751 orc_program_compile (p);
10754 orc_once_mutex_unlock ();
10759 ORC_EXECUTOR_M (ex) = m;
10760 ex->arrays[ORC_VAR_D1] = d1;
10761 ex->params[ORC_VAR_D1] = d1_stride;
10762 ex->arrays[ORC_VAR_S1] = (void *) s1;
10763 ex->params[ORC_VAR_S1] = s1_stride;
10764 ex->arrays[ORC_VAR_S2] = (void *) s2;
10765 ex->params[ORC_VAR_S2] = s2_stride;
10766 ex->arrays[ORC_VAR_S3] = (void *) s3;
10767 ex->params[ORC_VAR_S3] = s3_stride;
10769 func = p->code_exec;
10775 /* cogorc_convert_AYUV_ARGB */
10778 cogorc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1, int d1_stride,
10779 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
10783 orc_union32 *ORC_RESTRICT ptr0;
10784 const orc_union32 *ORC_RESTRICT ptr4;
10831 for (j = 0; j < m; j++) {
10832 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
10833 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
10836 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
10837 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
10838 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
10839 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
10841 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
10843 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
10845 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
10847 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
10849 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
10851 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
10852 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
10853 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
10854 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
10856 for (i = 0; i < n; i++) {
10860 var57.x4[0] = var48.x4[0] - var49.x4[0];
10861 var57.x4[1] = var48.x4[1] - var49.x4[1];
10862 var57.x4[2] = var48.x4[2] - var49.x4[2];
10863 var57.x4[3] = var48.x4[3] - var49.x4[3];
10868 var58.i = _src.x2[1];
10869 var59.i = _src.x2[0];
10875 var60 = _src.x2[1];
10876 var61 = _src.x2[0];
10882 var62 = _src.x2[1];
10883 var63 = _src.x2[0];
10892 var67.i = (var64.i * var50.i) & 0xffff;
10894 var68.i = var67.i >> 8;
10896 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
10898 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
10900 var71.i = (var66.i * var51.i) & 0xffff;
10902 var72.i = var71.i >> 8;
10904 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
10906 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
10908 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
10910 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
10912 var77.i = (var65.i * var52.i) & 0xffff;
10914 var78.i = var77.i >> 8;
10916 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
10918 var80.i = (var65.i * var53.i) & 0xffff;
10920 var81.i = var80.i >> 8;
10922 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
10924 var83.i = (var66.i * var54.i) & 0xffff;
10926 var84.i = var83.i >> 8;
10928 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
10930 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
10931 /* 34: convssswb */
10932 var87 = ORC_CLAMP_SB (var74.i);
10933 /* 35: convssswb */
10934 var88 = ORC_CLAMP_SB (var86.i);
10935 /* 36: convssswb */
10936 var89 = ORC_CLAMP_SB (var79.i);
10940 _dest.x2[0] = var61;
10941 _dest.x2[1] = var87;
10947 _dest.x2[0] = var88;
10948 _dest.x2[1] = var89;
10954 _dest.x2[0] = var90.i;
10955 _dest.x2[1] = var91.i;
10959 var56.x4[0] = var92.x4[0] + var55.x4[0];
10960 var56.x4[1] = var92.x4[1] + var55.x4[1];
10961 var56.x4[2] = var92.x4[2] + var55.x4[2];
10962 var56.x4[3] = var92.x4[3] + var55.x4[3];
10972 _backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ORC_RESTRICT ex)
10977 int m = ex->params[ORC_VAR_A1];
10978 orc_union32 *ORC_RESTRICT ptr0;
10979 const orc_union32 *ORC_RESTRICT ptr4;
11026 for (j = 0; j < m; j++) {
11027 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
11028 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
11031 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11032 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11033 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11034 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11036 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
11038 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
11040 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
11042 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
11044 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
11046 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11047 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11048 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11049 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11051 for (i = 0; i < n; i++) {
11055 var57.x4[0] = var48.x4[0] - var49.x4[0];
11056 var57.x4[1] = var48.x4[1] - var49.x4[1];
11057 var57.x4[2] = var48.x4[2] - var49.x4[2];
11058 var57.x4[3] = var48.x4[3] - var49.x4[3];
11063 var58.i = _src.x2[1];
11064 var59.i = _src.x2[0];
11070 var60 = _src.x2[1];
11071 var61 = _src.x2[0];
11077 var62 = _src.x2[1];
11078 var63 = _src.x2[0];
11087 var67.i = (var64.i * var50.i) & 0xffff;
11089 var68.i = var67.i >> 8;
11091 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
11093 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
11095 var71.i = (var66.i * var51.i) & 0xffff;
11097 var72.i = var71.i >> 8;
11099 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
11101 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
11103 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
11105 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
11107 var77.i = (var65.i * var52.i) & 0xffff;
11109 var78.i = var77.i >> 8;
11111 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
11113 var80.i = (var65.i * var53.i) & 0xffff;
11115 var81.i = var80.i >> 8;
11117 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
11119 var83.i = (var66.i * var54.i) & 0xffff;
11121 var84.i = var83.i >> 8;
11123 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
11125 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
11126 /* 34: convssswb */
11127 var87 = ORC_CLAMP_SB (var74.i);
11128 /* 35: convssswb */
11129 var88 = ORC_CLAMP_SB (var86.i);
11130 /* 36: convssswb */
11131 var89 = ORC_CLAMP_SB (var79.i);
11135 _dest.x2[0] = var61;
11136 _dest.x2[1] = var87;
11142 _dest.x2[0] = var88;
11143 _dest.x2[1] = var89;
11149 _dest.x2[0] = var90.i;
11150 _dest.x2[1] = var91.i;
11154 var56.x4[0] = var92.x4[0] + var55.x4[0];
11155 var56.x4[1] = var92.x4[1] + var55.x4[1];
11156 var56.x4[2] = var92.x4[2] + var55.x4[2];
11157 var56.x4[3] = var92.x4[3] + var55.x4[3];
11166 cogorc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1, int d1_stride,
11167 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
11169 OrcExecutor _ex, *ex = &_ex;
11170 static int p_inited = 0;
11171 static OrcProgram *p = 0;
11172 void (*func) (OrcExecutor *);
11175 orc_once_mutex_lock ();
11178 p = orc_program_new ();
11179 orc_program_set_2d (p);
11180 orc_program_set_name (p, "cogorc_convert_AYUV_ARGB");
11181 orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_ARGB);
11182 orc_program_add_destination (p, 4, "d1");
11183 orc_program_add_source (p, 4, "s1");
11184 orc_program_add_constant (p, 1, 0x00000008, "c1");
11185 orc_program_add_constant (p, 4, 0x00000080, "c2");
11186 orc_program_add_constant (p, 4, 0x0000002a, "c3");
11187 orc_program_add_constant (p, 4, 0x00000067, "c4");
11188 orc_program_add_constant (p, 4, 0x00000004, "c5");
11189 orc_program_add_constant (p, 4, 0x00000064, "c6");
11190 orc_program_add_constant (p, 4, 0x00000068, "c7");
11191 orc_program_add_temporary (p, 2, "t1");
11192 orc_program_add_temporary (p, 2, "t2");
11193 orc_program_add_temporary (p, 1, "t3");
11194 orc_program_add_temporary (p, 1, "t4");
11195 orc_program_add_temporary (p, 1, "t5");
11196 orc_program_add_temporary (p, 1, "t6");
11197 orc_program_add_temporary (p, 2, "t7");
11198 orc_program_add_temporary (p, 2, "t8");
11199 orc_program_add_temporary (p, 2, "t9");
11200 orc_program_add_temporary (p, 2, "t10");
11201 orc_program_add_temporary (p, 2, "t11");
11202 orc_program_add_temporary (p, 2, "t12");
11203 orc_program_add_temporary (p, 1, "t13");
11204 orc_program_add_temporary (p, 1, "t14");
11205 orc_program_add_temporary (p, 1, "t15");
11206 orc_program_add_temporary (p, 4, "t16");
11208 orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
11210 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
11212 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
11214 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
11216 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
11218 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
11220 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
11222 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
11224 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
11226 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
11228 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
11230 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
11232 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
11234 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
11235 ORC_VAR_T1, ORC_VAR_D1);
11236 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
11237 ORC_VAR_T9, ORC_VAR_D1);
11238 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
11240 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
11241 ORC_VAR_T8, ORC_VAR_D1);
11242 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
11244 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
11246 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
11247 ORC_VAR_T1, ORC_VAR_D1);
11248 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
11250 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
11252 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
11254 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
11256 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
11258 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
11259 ORC_VAR_T1, ORC_VAR_D1);
11260 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
11261 ORC_VAR_T1, ORC_VAR_D1);
11262 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
11263 ORC_VAR_D1, ORC_VAR_D1);
11264 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
11265 ORC_VAR_D1, ORC_VAR_D1);
11266 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
11267 ORC_VAR_D1, ORC_VAR_D1);
11268 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3,
11269 ORC_VAR_T13, ORC_VAR_D1);
11270 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T14,
11271 ORC_VAR_T15, ORC_VAR_D1);
11272 orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
11274 orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
11277 orc_program_compile (p);
11280 orc_once_mutex_unlock ();
11285 ORC_EXECUTOR_M (ex) = m;
11286 ex->arrays[ORC_VAR_D1] = d1;
11287 ex->params[ORC_VAR_D1] = d1_stride;
11288 ex->arrays[ORC_VAR_S1] = (void *) s1;
11289 ex->params[ORC_VAR_S1] = s1_stride;
11291 func = p->code_exec;
11297 /* cogorc_convert_AYUV_BGRA */
11300 cogorc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1, int d1_stride,
11301 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
11305 orc_union32 *ORC_RESTRICT ptr0;
11306 const orc_union32 *ORC_RESTRICT ptr4;
11353 for (j = 0; j < m; j++) {
11354 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
11355 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
11358 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11359 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11360 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11361 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11363 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
11365 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
11367 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
11369 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
11371 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
11373 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11374 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11375 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11376 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11378 for (i = 0; i < n; i++) {
11382 var57.x4[0] = var48.x4[0] - var49.x4[0];
11383 var57.x4[1] = var48.x4[1] - var49.x4[1];
11384 var57.x4[2] = var48.x4[2] - var49.x4[2];
11385 var57.x4[3] = var48.x4[3] - var49.x4[3];
11390 var58.i = _src.x2[1];
11391 var59.i = _src.x2[0];
11397 var60 = _src.x2[1];
11398 var61 = _src.x2[0];
11404 var62 = _src.x2[1];
11405 var63 = _src.x2[0];
11414 var67.i = (var64.i * var50.i) & 0xffff;
11416 var68.i = var67.i >> 8;
11418 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
11420 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
11422 var71.i = (var66.i * var51.i) & 0xffff;
11424 var72.i = var71.i >> 8;
11426 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
11428 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
11430 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
11432 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
11434 var77.i = (var65.i * var52.i) & 0xffff;
11436 var78.i = var77.i >> 8;
11438 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
11440 var80.i = (var65.i * var53.i) & 0xffff;
11442 var81.i = var80.i >> 8;
11444 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
11446 var83.i = (var66.i * var54.i) & 0xffff;
11448 var84.i = var83.i >> 8;
11450 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
11452 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
11453 /* 34: convssswb */
11454 var87 = ORC_CLAMP_SB (var74.i);
11455 /* 35: convssswb */
11456 var88 = ORC_CLAMP_SB (var86.i);
11457 /* 36: convssswb */
11458 var89 = ORC_CLAMP_SB (var79.i);
11462 _dest.x2[0] = var89;
11463 _dest.x2[1] = var88;
11469 _dest.x2[0] = var87;
11470 _dest.x2[1] = var61;
11476 _dest.x2[0] = var90.i;
11477 _dest.x2[1] = var91.i;
11481 var56.x4[0] = var92.x4[0] + var55.x4[0];
11482 var56.x4[1] = var92.x4[1] + var55.x4[1];
11483 var56.x4[2] = var92.x4[2] + var55.x4[2];
11484 var56.x4[3] = var92.x4[3] + var55.x4[3];
11494 _backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ORC_RESTRICT ex)
11499 int m = ex->params[ORC_VAR_A1];
11500 orc_union32 *ORC_RESTRICT ptr0;
11501 const orc_union32 *ORC_RESTRICT ptr4;
11548 for (j = 0; j < m; j++) {
11549 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
11550 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
11553 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11554 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11555 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11556 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11558 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
11560 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
11562 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
11564 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
11566 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
11568 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11569 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11570 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11571 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11573 for (i = 0; i < n; i++) {
11577 var57.x4[0] = var48.x4[0] - var49.x4[0];
11578 var57.x4[1] = var48.x4[1] - var49.x4[1];
11579 var57.x4[2] = var48.x4[2] - var49.x4[2];
11580 var57.x4[3] = var48.x4[3] - var49.x4[3];
11585 var58.i = _src.x2[1];
11586 var59.i = _src.x2[0];
11592 var60 = _src.x2[1];
11593 var61 = _src.x2[0];
11599 var62 = _src.x2[1];
11600 var63 = _src.x2[0];
11609 var67.i = (var64.i * var50.i) & 0xffff;
11611 var68.i = var67.i >> 8;
11613 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
11615 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
11617 var71.i = (var66.i * var51.i) & 0xffff;
11619 var72.i = var71.i >> 8;
11621 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
11623 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
11625 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
11627 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
11629 var77.i = (var65.i * var52.i) & 0xffff;
11631 var78.i = var77.i >> 8;
11633 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
11635 var80.i = (var65.i * var53.i) & 0xffff;
11637 var81.i = var80.i >> 8;
11639 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
11641 var83.i = (var66.i * var54.i) & 0xffff;
11643 var84.i = var83.i >> 8;
11645 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
11647 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
11648 /* 34: convssswb */
11649 var87 = ORC_CLAMP_SB (var74.i);
11650 /* 35: convssswb */
11651 var88 = ORC_CLAMP_SB (var86.i);
11652 /* 36: convssswb */
11653 var89 = ORC_CLAMP_SB (var79.i);
11657 _dest.x2[0] = var89;
11658 _dest.x2[1] = var88;
11664 _dest.x2[0] = var87;
11665 _dest.x2[1] = var61;
11671 _dest.x2[0] = var90.i;
11672 _dest.x2[1] = var91.i;
11676 var56.x4[0] = var92.x4[0] + var55.x4[0];
11677 var56.x4[1] = var92.x4[1] + var55.x4[1];
11678 var56.x4[2] = var92.x4[2] + var55.x4[2];
11679 var56.x4[3] = var92.x4[3] + var55.x4[3];
11688 cogorc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1, int d1_stride,
11689 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
11691 OrcExecutor _ex, *ex = &_ex;
11692 static int p_inited = 0;
11693 static OrcProgram *p = 0;
11694 void (*func) (OrcExecutor *);
11697 orc_once_mutex_lock ();
11700 p = orc_program_new ();
11701 orc_program_set_2d (p);
11702 orc_program_set_name (p, "cogorc_convert_AYUV_BGRA");
11703 orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_BGRA);
11704 orc_program_add_destination (p, 4, "d1");
11705 orc_program_add_source (p, 4, "s1");
11706 orc_program_add_constant (p, 1, 0x00000008, "c1");
11707 orc_program_add_constant (p, 4, 0x00000080, "c2");
11708 orc_program_add_constant (p, 4, 0x0000002a, "c3");
11709 orc_program_add_constant (p, 4, 0x00000067, "c4");
11710 orc_program_add_constant (p, 4, 0x00000004, "c5");
11711 orc_program_add_constant (p, 4, 0x00000064, "c6");
11712 orc_program_add_constant (p, 4, 0x00000068, "c7");
11713 orc_program_add_temporary (p, 2, "t1");
11714 orc_program_add_temporary (p, 2, "t2");
11715 orc_program_add_temporary (p, 1, "t3");
11716 orc_program_add_temporary (p, 1, "t4");
11717 orc_program_add_temporary (p, 1, "t5");
11718 orc_program_add_temporary (p, 1, "t6");
11719 orc_program_add_temporary (p, 2, "t7");
11720 orc_program_add_temporary (p, 2, "t8");
11721 orc_program_add_temporary (p, 2, "t9");
11722 orc_program_add_temporary (p, 2, "t10");
11723 orc_program_add_temporary (p, 2, "t11");
11724 orc_program_add_temporary (p, 2, "t12");
11725 orc_program_add_temporary (p, 1, "t13");
11726 orc_program_add_temporary (p, 1, "t14");
11727 orc_program_add_temporary (p, 1, "t15");
11728 orc_program_add_temporary (p, 4, "t16");
11730 orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
11732 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
11734 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
11736 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
11738 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
11740 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
11742 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
11744 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
11746 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
11748 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
11750 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
11752 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
11754 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
11756 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
11757 ORC_VAR_T1, ORC_VAR_D1);
11758 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
11759 ORC_VAR_T9, ORC_VAR_D1);
11760 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
11762 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
11763 ORC_VAR_T8, ORC_VAR_D1);
11764 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
11766 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
11768 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
11769 ORC_VAR_T1, ORC_VAR_D1);
11770 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
11772 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
11774 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
11776 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
11778 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
11780 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
11781 ORC_VAR_T1, ORC_VAR_D1);
11782 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
11783 ORC_VAR_T1, ORC_VAR_D1);
11784 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
11785 ORC_VAR_D1, ORC_VAR_D1);
11786 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
11787 ORC_VAR_D1, ORC_VAR_D1);
11788 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
11789 ORC_VAR_D1, ORC_VAR_D1);
11790 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T15,
11791 ORC_VAR_T14, ORC_VAR_D1);
11792 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T13,
11793 ORC_VAR_T3, ORC_VAR_D1);
11794 orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
11796 orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
11799 orc_program_compile (p);
11802 orc_once_mutex_unlock ();
11807 ORC_EXECUTOR_M (ex) = m;
11808 ex->arrays[ORC_VAR_D1] = d1;
11809 ex->params[ORC_VAR_D1] = d1_stride;
11810 ex->arrays[ORC_VAR_S1] = (void *) s1;
11811 ex->params[ORC_VAR_S1] = s1_stride;
11813 func = p->code_exec;
11819 /* cogorc_convert_AYUV_ABGR */
11822 cogorc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1, int d1_stride,
11823 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
11827 orc_union32 *ORC_RESTRICT ptr0;
11828 const orc_union32 *ORC_RESTRICT ptr4;
11875 for (j = 0; j < m; j++) {
11876 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
11877 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
11880 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11881 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11882 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11883 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11885 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
11887 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
11889 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
11891 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
11893 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
11895 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11896 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11897 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11898 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
11900 for (i = 0; i < n; i++) {
11904 var57.x4[0] = var48.x4[0] - var49.x4[0];
11905 var57.x4[1] = var48.x4[1] - var49.x4[1];
11906 var57.x4[2] = var48.x4[2] - var49.x4[2];
11907 var57.x4[3] = var48.x4[3] - var49.x4[3];
11912 var58.i = _src.x2[1];
11913 var59.i = _src.x2[0];
11919 var60 = _src.x2[1];
11920 var61 = _src.x2[0];
11926 var62 = _src.x2[1];
11927 var63 = _src.x2[0];
11936 var67.i = (var64.i * var50.i) & 0xffff;
11938 var68.i = var67.i >> 8;
11940 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
11942 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
11944 var71.i = (var66.i * var51.i) & 0xffff;
11946 var72.i = var71.i >> 8;
11948 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
11950 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
11952 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
11954 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
11956 var77.i = (var65.i * var52.i) & 0xffff;
11958 var78.i = var77.i >> 8;
11960 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
11962 var80.i = (var65.i * var53.i) & 0xffff;
11964 var81.i = var80.i >> 8;
11966 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
11968 var83.i = (var66.i * var54.i) & 0xffff;
11970 var84.i = var83.i >> 8;
11972 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
11974 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
11975 /* 34: convssswb */
11976 var87 = ORC_CLAMP_SB (var74.i);
11977 /* 35: convssswb */
11978 var88 = ORC_CLAMP_SB (var86.i);
11979 /* 36: convssswb */
11980 var89 = ORC_CLAMP_SB (var79.i);
11984 _dest.x2[0] = var61;
11985 _dest.x2[1] = var89;
11991 _dest.x2[0] = var88;
11992 _dest.x2[1] = var87;
11998 _dest.x2[0] = var90.i;
11999 _dest.x2[1] = var91.i;
12003 var56.x4[0] = var92.x4[0] + var55.x4[0];
12004 var56.x4[1] = var92.x4[1] + var55.x4[1];
12005 var56.x4[2] = var92.x4[2] + var55.x4[2];
12006 var56.x4[3] = var92.x4[3] + var55.x4[3];
12016 _backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ORC_RESTRICT ex)
12021 int m = ex->params[ORC_VAR_A1];
12022 orc_union32 *ORC_RESTRICT ptr0;
12023 const orc_union32 *ORC_RESTRICT ptr4;
12070 for (j = 0; j < m; j++) {
12071 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
12072 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
12075 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12076 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12077 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12078 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12080 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
12082 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
12084 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
12086 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
12088 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
12090 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12091 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12092 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12093 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12095 for (i = 0; i < n; i++) {
12099 var57.x4[0] = var48.x4[0] - var49.x4[0];
12100 var57.x4[1] = var48.x4[1] - var49.x4[1];
12101 var57.x4[2] = var48.x4[2] - var49.x4[2];
12102 var57.x4[3] = var48.x4[3] - var49.x4[3];
12107 var58.i = _src.x2[1];
12108 var59.i = _src.x2[0];
12114 var60 = _src.x2[1];
12115 var61 = _src.x2[0];
12121 var62 = _src.x2[1];
12122 var63 = _src.x2[0];
12131 var67.i = (var64.i * var50.i) & 0xffff;
12133 var68.i = var67.i >> 8;
12135 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
12137 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
12139 var71.i = (var66.i * var51.i) & 0xffff;
12141 var72.i = var71.i >> 8;
12143 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
12145 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
12147 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
12149 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
12151 var77.i = (var65.i * var52.i) & 0xffff;
12153 var78.i = var77.i >> 8;
12155 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
12157 var80.i = (var65.i * var53.i) & 0xffff;
12159 var81.i = var80.i >> 8;
12161 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
12163 var83.i = (var66.i * var54.i) & 0xffff;
12165 var84.i = var83.i >> 8;
12167 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
12169 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
12170 /* 34: convssswb */
12171 var87 = ORC_CLAMP_SB (var74.i);
12172 /* 35: convssswb */
12173 var88 = ORC_CLAMP_SB (var86.i);
12174 /* 36: convssswb */
12175 var89 = ORC_CLAMP_SB (var79.i);
12179 _dest.x2[0] = var61;
12180 _dest.x2[1] = var89;
12186 _dest.x2[0] = var88;
12187 _dest.x2[1] = var87;
12193 _dest.x2[0] = var90.i;
12194 _dest.x2[1] = var91.i;
12198 var56.x4[0] = var92.x4[0] + var55.x4[0];
12199 var56.x4[1] = var92.x4[1] + var55.x4[1];
12200 var56.x4[2] = var92.x4[2] + var55.x4[2];
12201 var56.x4[3] = var92.x4[3] + var55.x4[3];
12210 cogorc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1, int d1_stride,
12211 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
12213 OrcExecutor _ex, *ex = &_ex;
12214 static int p_inited = 0;
12215 static OrcProgram *p = 0;
12216 void (*func) (OrcExecutor *);
12219 orc_once_mutex_lock ();
12222 p = orc_program_new ();
12223 orc_program_set_2d (p);
12224 orc_program_set_name (p, "cogorc_convert_AYUV_ABGR");
12225 orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_ABGR);
12226 orc_program_add_destination (p, 4, "d1");
12227 orc_program_add_source (p, 4, "s1");
12228 orc_program_add_constant (p, 1, 0x00000008, "c1");
12229 orc_program_add_constant (p, 4, 0x00000080, "c2");
12230 orc_program_add_constant (p, 4, 0x0000002a, "c3");
12231 orc_program_add_constant (p, 4, 0x00000067, "c4");
12232 orc_program_add_constant (p, 4, 0x00000004, "c5");
12233 orc_program_add_constant (p, 4, 0x00000064, "c6");
12234 orc_program_add_constant (p, 4, 0x00000068, "c7");
12235 orc_program_add_temporary (p, 2, "t1");
12236 orc_program_add_temporary (p, 2, "t2");
12237 orc_program_add_temporary (p, 1, "t3");
12238 orc_program_add_temporary (p, 1, "t4");
12239 orc_program_add_temporary (p, 1, "t5");
12240 orc_program_add_temporary (p, 1, "t6");
12241 orc_program_add_temporary (p, 2, "t7");
12242 orc_program_add_temporary (p, 2, "t8");
12243 orc_program_add_temporary (p, 2, "t9");
12244 orc_program_add_temporary (p, 2, "t10");
12245 orc_program_add_temporary (p, 2, "t11");
12246 orc_program_add_temporary (p, 2, "t12");
12247 orc_program_add_temporary (p, 1, "t13");
12248 orc_program_add_temporary (p, 1, "t14");
12249 orc_program_add_temporary (p, 1, "t15");
12250 orc_program_add_temporary (p, 4, "t16");
12252 orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
12254 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
12256 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
12258 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
12260 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
12262 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
12264 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
12266 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
12268 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
12270 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
12272 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
12274 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
12276 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
12278 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
12279 ORC_VAR_T1, ORC_VAR_D1);
12280 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
12281 ORC_VAR_T9, ORC_VAR_D1);
12282 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
12284 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
12285 ORC_VAR_T8, ORC_VAR_D1);
12286 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
12288 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
12290 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
12291 ORC_VAR_T1, ORC_VAR_D1);
12292 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
12294 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
12296 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
12298 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
12300 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
12302 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
12303 ORC_VAR_T1, ORC_VAR_D1);
12304 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
12305 ORC_VAR_T1, ORC_VAR_D1);
12306 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
12307 ORC_VAR_D1, ORC_VAR_D1);
12308 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
12309 ORC_VAR_D1, ORC_VAR_D1);
12310 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
12311 ORC_VAR_D1, ORC_VAR_D1);
12312 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3,
12313 ORC_VAR_T15, ORC_VAR_D1);
12314 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T14,
12315 ORC_VAR_T13, ORC_VAR_D1);
12316 orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
12318 orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
12321 orc_program_compile (p);
12324 orc_once_mutex_unlock ();
12329 ORC_EXECUTOR_M (ex) = m;
12330 ex->arrays[ORC_VAR_D1] = d1;
12331 ex->params[ORC_VAR_D1] = d1_stride;
12332 ex->arrays[ORC_VAR_S1] = (void *) s1;
12333 ex->params[ORC_VAR_S1] = s1_stride;
12335 func = p->code_exec;
12341 /* cogorc_convert_AYUV_RGBA */
12344 cogorc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1, int d1_stride,
12345 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
12349 orc_union32 *ORC_RESTRICT ptr0;
12350 const orc_union32 *ORC_RESTRICT ptr4;
12397 for (j = 0; j < m; j++) {
12398 ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
12399 ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
12402 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12403 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12404 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12405 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12407 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
12409 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
12411 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
12413 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
12415 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
12417 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12418 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12419 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12420 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12422 for (i = 0; i < n; i++) {
12426 var57.x4[0] = var48.x4[0] - var49.x4[0];
12427 var57.x4[1] = var48.x4[1] - var49.x4[1];
12428 var57.x4[2] = var48.x4[2] - var49.x4[2];
12429 var57.x4[3] = var48.x4[3] - var49.x4[3];
12434 var58.i = _src.x2[1];
12435 var59.i = _src.x2[0];
12441 var60 = _src.x2[1];
12442 var61 = _src.x2[0];
12448 var62 = _src.x2[1];
12449 var63 = _src.x2[0];
12458 var67.i = (var64.i * var50.i) & 0xffff;
12460 var68.i = var67.i >> 8;
12462 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
12464 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
12466 var71.i = (var66.i * var51.i) & 0xffff;
12468 var72.i = var71.i >> 8;
12470 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
12472 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
12474 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
12476 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
12478 var77.i = (var65.i * var52.i) & 0xffff;
12480 var78.i = var77.i >> 8;
12482 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
12484 var80.i = (var65.i * var53.i) & 0xffff;
12486 var81.i = var80.i >> 8;
12488 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
12490 var83.i = (var66.i * var54.i) & 0xffff;
12492 var84.i = var83.i >> 8;
12494 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
12496 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
12497 /* 34: convssswb */
12498 var87 = ORC_CLAMP_SB (var74.i);
12499 /* 35: convssswb */
12500 var88 = ORC_CLAMP_SB (var86.i);
12501 /* 36: convssswb */
12502 var89 = ORC_CLAMP_SB (var79.i);
12506 _dest.x2[0] = var87;
12507 _dest.x2[1] = var88;
12513 _dest.x2[0] = var89;
12514 _dest.x2[1] = var61;
12520 _dest.x2[0] = var90.i;
12521 _dest.x2[1] = var91.i;
12525 var56.x4[0] = var92.x4[0] + var55.x4[0];
12526 var56.x4[1] = var92.x4[1] + var55.x4[1];
12527 var56.x4[2] = var92.x4[2] + var55.x4[2];
12528 var56.x4[3] = var92.x4[3] + var55.x4[3];
12538 _backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ORC_RESTRICT ex)
12543 int m = ex->params[ORC_VAR_A1];
12544 orc_union32 *ORC_RESTRICT ptr0;
12545 const orc_union32 *ORC_RESTRICT ptr4;
12592 for (j = 0; j < m; j++) {
12593 ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
12594 ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
12597 var49.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12598 var49.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12599 var49.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12600 var49.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12602 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
12604 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
12606 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
12608 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
12610 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
12612 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12613 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12614 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12615 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12617 for (i = 0; i < n; i++) {
12621 var57.x4[0] = var48.x4[0] - var49.x4[0];
12622 var57.x4[1] = var48.x4[1] - var49.x4[1];
12623 var57.x4[2] = var48.x4[2] - var49.x4[2];
12624 var57.x4[3] = var48.x4[3] - var49.x4[3];
12629 var58.i = _src.x2[1];
12630 var59.i = _src.x2[0];
12636 var60 = _src.x2[1];
12637 var61 = _src.x2[0];
12643 var62 = _src.x2[1];
12644 var63 = _src.x2[0];
12653 var67.i = (var64.i * var50.i) & 0xffff;
12655 var68.i = var67.i >> 8;
12657 var69.i = ORC_CLAMP_SW (var64.i + var68.i);
12659 var70.i = ORC_CLAMP_SW (var69.i + var66.i);
12661 var71.i = (var66.i * var51.i) & 0xffff;
12663 var72.i = var71.i >> 8;
12665 var73.i = ORC_CLAMP_SW (var70.i - var72.i);
12667 var74.i = ORC_CLAMP_SW (var73.i + var66.i);
12669 var75.i = ORC_CLAMP_SW (var69.i + var65.i);
12671 var76.i = ORC_CLAMP_SW (var75.i + var65.i);
12673 var77.i = (var65.i * var52.i) & 0xffff;
12675 var78.i = var77.i >> 8;
12677 var79.i = ORC_CLAMP_SW (var76.i + var78.i);
12679 var80.i = (var65.i * var53.i) & 0xffff;
12681 var81.i = var80.i >> 8;
12683 var82.i = ORC_CLAMP_SW (var69.i - var81.i);
12685 var83.i = (var66.i * var54.i) & 0xffff;
12687 var84.i = var83.i >> 8;
12689 var85.i = ORC_CLAMP_SW (var82.i - var84.i);
12691 var86.i = ORC_CLAMP_SW (var85.i - var84.i);
12692 /* 34: convssswb */
12693 var87 = ORC_CLAMP_SB (var74.i);
12694 /* 35: convssswb */
12695 var88 = ORC_CLAMP_SB (var86.i);
12696 /* 36: convssswb */
12697 var89 = ORC_CLAMP_SB (var79.i);
12701 _dest.x2[0] = var87;
12702 _dest.x2[1] = var88;
12708 _dest.x2[0] = var89;
12709 _dest.x2[1] = var61;
12715 _dest.x2[0] = var90.i;
12716 _dest.x2[1] = var91.i;
12720 var56.x4[0] = var92.x4[0] + var55.x4[0];
12721 var56.x4[1] = var92.x4[1] + var55.x4[1];
12722 var56.x4[2] = var92.x4[2] + var55.x4[2];
12723 var56.x4[3] = var92.x4[3] + var55.x4[3];
12732 cogorc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1, int d1_stride,
12733 const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
12735 OrcExecutor _ex, *ex = &_ex;
12736 static int p_inited = 0;
12737 static OrcProgram *p = 0;
12738 void (*func) (OrcExecutor *);
12741 orc_once_mutex_lock ();
12744 p = orc_program_new ();
12745 orc_program_set_2d (p);
12746 orc_program_set_name (p, "cogorc_convert_AYUV_RGBA");
12747 orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_RGBA);
12748 orc_program_add_destination (p, 4, "d1");
12749 orc_program_add_source (p, 4, "s1");
12750 orc_program_add_constant (p, 1, 0x00000008, "c1");
12751 orc_program_add_constant (p, 4, 0x00000080, "c2");
12752 orc_program_add_constant (p, 4, 0x0000002a, "c3");
12753 orc_program_add_constant (p, 4, 0x00000067, "c4");
12754 orc_program_add_constant (p, 4, 0x00000004, "c5");
12755 orc_program_add_constant (p, 4, 0x00000064, "c6");
12756 orc_program_add_constant (p, 4, 0x00000068, "c7");
12757 orc_program_add_temporary (p, 2, "t1");
12758 orc_program_add_temporary (p, 2, "t2");
12759 orc_program_add_temporary (p, 1, "t3");
12760 orc_program_add_temporary (p, 1, "t4");
12761 orc_program_add_temporary (p, 1, "t5");
12762 orc_program_add_temporary (p, 1, "t6");
12763 orc_program_add_temporary (p, 2, "t7");
12764 orc_program_add_temporary (p, 2, "t8");
12765 orc_program_add_temporary (p, 2, "t9");
12766 orc_program_add_temporary (p, 2, "t10");
12767 orc_program_add_temporary (p, 2, "t11");
12768 orc_program_add_temporary (p, 2, "t12");
12769 orc_program_add_temporary (p, 1, "t13");
12770 orc_program_add_temporary (p, 1, "t14");
12771 orc_program_add_temporary (p, 1, "t15");
12772 orc_program_add_temporary (p, 4, "t16");
12774 orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
12776 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
12778 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
12780 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
12782 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
12784 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
12786 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
12788 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
12790 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
12792 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
12794 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
12796 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
12798 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
12800 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
12801 ORC_VAR_T1, ORC_VAR_D1);
12802 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
12803 ORC_VAR_T9, ORC_VAR_D1);
12804 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
12806 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
12807 ORC_VAR_T8, ORC_VAR_D1);
12808 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
12810 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
12812 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
12813 ORC_VAR_T1, ORC_VAR_D1);
12814 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
12816 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
12818 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
12820 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
12822 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
12824 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
12825 ORC_VAR_T1, ORC_VAR_D1);
12826 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
12827 ORC_VAR_T1, ORC_VAR_D1);
12828 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
12829 ORC_VAR_D1, ORC_VAR_D1);
12830 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
12831 ORC_VAR_D1, ORC_VAR_D1);
12832 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
12833 ORC_VAR_D1, ORC_VAR_D1);
12834 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T13,
12835 ORC_VAR_T14, ORC_VAR_D1);
12836 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T15,
12837 ORC_VAR_T3, ORC_VAR_D1);
12838 orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
12840 orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
12843 orc_program_compile (p);
12846 orc_once_mutex_unlock ();
12851 ORC_EXECUTOR_M (ex) = m;
12852 ex->arrays[ORC_VAR_D1] = d1;
12853 ex->params[ORC_VAR_D1] = d1_stride;
12854 ex->arrays[ORC_VAR_S1] = (void *) s1;
12855 ex->params[ORC_VAR_S1] = s1_stride;
12857 func = p->code_exec;
12863 /* cogorc_convert_I420_BGRA */
12866 cogorc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
12867 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
12868 const guint8 * ORC_RESTRICT s3, int n)
12871 orc_union32 *ORC_RESTRICT ptr0;
12872 const orc_int8 *ORC_RESTRICT ptr4;
12873 const orc_int8 *ORC_RESTRICT ptr5;
12874 const orc_int8 *ORC_RESTRICT ptr6;
12922 ptr0 = (orc_union32 *) d1;
12923 ptr4 = (orc_int8 *) s1;
12924 ptr5 = (orc_int8 *) s2;
12925 ptr6 = (orc_int8 *) s3;
12928 var46 = (int) 0x00000080; /* 128 or 6.32404e-322f */
12930 var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */
12932 var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */
12934 var49.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
12936 var50.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
12938 var51.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
12940 var52.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
12942 var53.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
12944 var54 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
12946 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12947 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12948 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12949 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
12951 for (i = 0; i < n; i++) {
12955 var57 = var45 - var46;
12960 (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
12961 1) >> 1 : ptr5[i >> 1];
12963 var60 = var59 - var47;
12968 (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
12969 1) >> 1 : ptr6[i >> 1];
12971 var63 = var62 - var48;
12975 var65.i = (var58.i * var49.i) & 0xffff;
12977 var66.i = var65.i >> 8;
12979 var67.i = ORC_CLAMP_SW (var58.i + var66.i);
12981 var68.i = ORC_CLAMP_SW (var67.i + var64.i);
12983 var69.i = (var64.i * var50.i) & 0xffff;
12985 var70.i = var69.i >> 8;
12987 var71.i = ORC_CLAMP_SW (var68.i - var70.i);
12989 var72.i = ORC_CLAMP_SW (var71.i + var64.i);
12991 var73.i = ORC_CLAMP_SW (var67.i + var61.i);
12993 var74.i = ORC_CLAMP_SW (var73.i + var61.i);
12995 var75.i = (var61.i * var51.i) & 0xffff;
12997 var76.i = var75.i >> 8;
12999 var77.i = ORC_CLAMP_SW (var74.i + var76.i);
13001 var78.i = (var61.i * var52.i) & 0xffff;
13003 var79.i = var78.i >> 8;
13005 var80.i = ORC_CLAMP_SW (var67.i - var79.i);
13007 var81.i = (var64.i * var53.i) & 0xffff;
13009 var82.i = var81.i >> 8;
13011 var83.i = ORC_CLAMP_SW (var80.i - var82.i);
13013 var84.i = ORC_CLAMP_SW (var83.i - var82.i);
13014 /* 37: convssswb */
13015 var85 = ORC_CLAMP_SB (var72.i);
13016 /* 38: convssswb */
13017 var86 = ORC_CLAMP_SB (var84.i);
13018 /* 39: convssswb */
13019 var87 = ORC_CLAMP_SB (var77.i);
13023 _dest.x2[0] = var87;
13024 _dest.x2[1] = var86;
13030 _dest.x2[0] = var85;
13031 _dest.x2[1] = var54;
13037 _dest.x2[0] = var88.i;
13038 _dest.x2[1] = var89.i;
13042 var56.x4[0] = var90.x4[0] + var55.x4[0];
13043 var56.x4[1] = var90.x4[1] + var55.x4[1];
13044 var56.x4[2] = var90.x4[2] + var55.x4[2];
13045 var56.x4[3] = var90.x4[3] + var55.x4[3];
13054 _backup_cogorc_convert_I420_BGRA (OrcExecutor * ORC_RESTRICT ex)
13058 orc_union32 *ORC_RESTRICT ptr0;
13059 const orc_int8 *ORC_RESTRICT ptr4;
13060 const orc_int8 *ORC_RESTRICT ptr5;
13061 const orc_int8 *ORC_RESTRICT ptr6;
13109 ptr0 = (orc_union32 *) ex->arrays[0];
13110 ptr4 = (orc_int8 *) ex->arrays[4];
13111 ptr5 = (orc_int8 *) ex->arrays[5];
13112 ptr6 = (orc_int8 *) ex->arrays[6];
13115 var46 = (int) 0x00000080; /* 128 or 6.32404e-322f */
13117 var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */
13119 var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */
13121 var49.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
13123 var50.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
13125 var51.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
13127 var52.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
13129 var53.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
13131 var54 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
13133 var55.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
13134 var55.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
13135 var55.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
13136 var55.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
13138 for (i = 0; i < n; i++) {
13142 var57 = var45 - var46;
13147 (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
13148 1) >> 1 : ptr5[i >> 1];
13150 var60 = var59 - var47;
13155 (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
13156 1) >> 1 : ptr6[i >> 1];
13158 var63 = var62 - var48;
13162 var65.i = (var58.i * var49.i) & 0xffff;
13164 var66.i = var65.i >> 8;
13166 var67.i = ORC_CLAMP_SW (var58.i + var66.i);
13168 var68.i = ORC_CLAMP_SW (var67.i + var64.i);
13170 var69.i = (var64.i * var50.i) & 0xffff;
13172 var70.i = var69.i >> 8;
13174 var71.i = ORC_CLAMP_SW (var68.i - var70.i);
13176 var72.i = ORC_CLAMP_SW (var71.i + var64.i);
13178 var73.i = ORC_CLAMP_SW (var67.i + var61.i);
13180 var74.i = ORC_CLAMP_SW (var73.i + var61.i);
13182 var75.i = (var61.i * var51.i) & 0xffff;
13184 var76.i = var75.i >> 8;
13186 var77.i = ORC_CLAMP_SW (var74.i + var76.i);
13188 var78.i = (var61.i * var52.i) & 0xffff;
13190 var79.i = var78.i >> 8;
13192 var80.i = ORC_CLAMP_SW (var67.i - var79.i);
13194 var81.i = (var64.i * var53.i) & 0xffff;
13196 var82.i = var81.i >> 8;
13198 var83.i = ORC_CLAMP_SW (var80.i - var82.i);
13200 var84.i = ORC_CLAMP_SW (var83.i - var82.i);
13201 /* 37: convssswb */
13202 var85 = ORC_CLAMP_SB (var72.i);
13203 /* 38: convssswb */
13204 var86 = ORC_CLAMP_SB (var84.i);
13205 /* 39: convssswb */
13206 var87 = ORC_CLAMP_SB (var77.i);
13210 _dest.x2[0] = var87;
13211 _dest.x2[1] = var86;
13217 _dest.x2[0] = var85;
13218 _dest.x2[1] = var54;
13224 _dest.x2[0] = var88.i;
13225 _dest.x2[1] = var89.i;
13229 var56.x4[0] = var90.x4[0] + var55.x4[0];
13230 var56.x4[1] = var90.x4[1] + var55.x4[1];
13231 var56.x4[2] = var90.x4[2] + var55.x4[2];
13232 var56.x4[3] = var90.x4[3] + var55.x4[3];
13240 cogorc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
13241 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
13242 const guint8 * ORC_RESTRICT s3, int n)
13244 OrcExecutor _ex, *ex = &_ex;
13245 static int p_inited = 0;
13246 static OrcProgram *p = 0;
13247 void (*func) (OrcExecutor *);
13250 orc_once_mutex_lock ();
13253 p = orc_program_new ();
13254 orc_program_set_name (p, "cogorc_convert_I420_BGRA");
13255 orc_program_set_backup_function (p, _backup_cogorc_convert_I420_BGRA);
13256 orc_program_add_destination (p, 4, "d1");
13257 orc_program_add_source (p, 1, "s1");
13258 orc_program_add_source (p, 1, "s2");
13259 orc_program_add_source (p, 1, "s3");
13260 orc_program_add_constant (p, 1, 0x00000008, "c1");
13261 orc_program_add_constant (p, 1, 0x00000080, "c2");
13262 orc_program_add_constant (p, 4, 0x0000002a, "c3");
13263 orc_program_add_constant (p, 4, 0x00000067, "c4");
13264 orc_program_add_constant (p, 4, 0x00000004, "c5");
13265 orc_program_add_constant (p, 4, 0x00000064, "c6");
13266 orc_program_add_constant (p, 4, 0x00000068, "c7");
13267 orc_program_add_constant (p, 4, 0x000000ff, "c8");
13268 orc_program_add_temporary (p, 2, "t1");
13269 orc_program_add_temporary (p, 2, "t2");
13270 orc_program_add_temporary (p, 1, "t3");
13271 orc_program_add_temporary (p, 2, "t4");
13272 orc_program_add_temporary (p, 2, "t5");
13273 orc_program_add_temporary (p, 2, "t6");
13274 orc_program_add_temporary (p, 2, "t7");
13275 orc_program_add_temporary (p, 2, "t8");
13276 orc_program_add_temporary (p, 2, "t9");
13277 orc_program_add_temporary (p, 1, "t10");
13278 orc_program_add_temporary (p, 1, "t11");
13279 orc_program_add_temporary (p, 1, "t12");
13280 orc_program_add_temporary (p, 4, "t13");
13282 orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_S1, ORC_VAR_C2,
13284 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_D1,
13286 orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S2,
13287 ORC_VAR_D1, ORC_VAR_D1);
13288 orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
13290 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_D1,
13292 orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S3,
13293 ORC_VAR_D1, ORC_VAR_D1);
13294 orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
13296 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
13298 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_C3,
13300 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
13302 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T1,
13304 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_T6,
13306 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C4,
13308 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
13310 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
13312 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T6,
13314 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T4, ORC_VAR_T5,
13316 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T5,
13318 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_C5,
13320 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
13322 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T1,
13324 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_C6,
13326 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
13328 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T8, ORC_VAR_T4, ORC_VAR_T1,
13330 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C7,
13332 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
13334 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T1,
13336 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T1,
13338 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T10, ORC_VAR_T7,
13339 ORC_VAR_D1, ORC_VAR_D1);
13340 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T11, ORC_VAR_T8,
13341 ORC_VAR_D1, ORC_VAR_D1);
13342 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T12, ORC_VAR_T9,
13343 ORC_VAR_D1, ORC_VAR_D1);
13344 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T12,
13345 ORC_VAR_T11, ORC_VAR_D1);
13346 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T10,
13347 ORC_VAR_C8, ORC_VAR_D1);
13348 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T13, ORC_VAR_T1,
13349 ORC_VAR_T2, ORC_VAR_D1);
13350 orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T13, ORC_VAR_C2,
13353 orc_program_compile (p);
13356 orc_once_mutex_unlock ();
13361 ex->arrays[ORC_VAR_D1] = d1;
13362 ex->arrays[ORC_VAR_S1] = (void *) s1;
13363 ex->arrays[ORC_VAR_S2] = (void *) s2;
13364 ex->arrays[ORC_VAR_S3] = (void *) s3;
13366 func = p->code_exec;
13372 /* cogorc_convert_I420_BGRA_avg */
13375 cogorc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1,
13376 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
13377 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4,
13378 const guint8 * ORC_RESTRICT s5, int n)
13381 orc_union32 *ORC_RESTRICT ptr0;
13382 const orc_int8 *ORC_RESTRICT ptr4;
13383 const orc_int8 *ORC_RESTRICT ptr5;
13384 const orc_int8 *ORC_RESTRICT ptr6;
13385 const orc_int8 *ORC_RESTRICT ptr7;
13386 const orc_int8 *ORC_RESTRICT ptr8;
13438 ptr0 = (orc_union32 *) d1;
13439 ptr4 = (orc_int8 *) s1;
13440 ptr5 = (orc_int8 *) s2;
13441 ptr6 = (orc_int8 *) s3;
13442 ptr7 = (orc_int8 *) s4;
13443 ptr8 = (orc_int8 *) s5;
13446 var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */
13448 var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */
13450 var49 = (int) 0x00000080; /* 128 or 6.32404e-322f */
13452 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
13454 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
13456 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
13458 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
13460 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
13462 var55 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
13464 var56.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
13465 var56.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
13466 var56.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
13467 var56.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
13469 for (i = 0; i < n; i++) {
13473 var58 = var46 - var47;
13478 (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
13479 1) >> 1 : ptr5[i >> 1];
13482 (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
13483 1) >> 1 : ptr6[i >> 1];
13485 var62 = ((orc_uint8) var60 + (orc_uint8) var61 + 1) >> 1;
13487 var63 = var62 - var48;
13492 (i & 1) ? ((orc_uint8) ptr7[i >> 1] + (orc_uint8) ptr7[(i >> 1) + 1] +
13493 1) >> 1 : ptr7[i >> 1];
13496 (i & 1) ? ((orc_uint8) ptr8[i >> 1] + (orc_uint8) ptr8[(i >> 1) + 1] +
13497 1) >> 1 : ptr8[i >> 1];
13499 var67 = ((orc_uint8) var65 + (orc_uint8) var66 + 1) >> 1;
13501 var68 = var67 - var49;
13505 var70.i = (var59.i * var50.i) & 0xffff;
13507 var71.i = var70.i >> 8;
13509 var72.i = ORC_CLAMP_SW (var59.i + var71.i);
13511 var73.i = ORC_CLAMP_SW (var72.i + var69.i);
13513 var74.i = (var69.i * var51.i) & 0xffff;
13515 var75.i = var74.i >> 8;
13517 var76.i = ORC_CLAMP_SW (var73.i - var75.i);
13519 var77.i = ORC_CLAMP_SW (var76.i + var69.i);
13521 var78.i = ORC_CLAMP_SW (var72.i + var64.i);
13523 var79.i = ORC_CLAMP_SW (var78.i + var64.i);
13525 var80.i = (var64.i * var52.i) & 0xffff;
13527 var81.i = var80.i >> 8;
13529 var82.i = ORC_CLAMP_SW (var79.i + var81.i);
13531 var83.i = (var64.i * var53.i) & 0xffff;
13533 var84.i = var83.i >> 8;
13535 var85.i = ORC_CLAMP_SW (var72.i - var84.i);
13537 var86.i = (var69.i * var54.i) & 0xffff;
13539 var87.i = var86.i >> 8;
13541 var88.i = ORC_CLAMP_SW (var85.i - var87.i);
13543 var89.i = ORC_CLAMP_SW (var88.i - var87.i);
13544 /* 41: convssswb */
13545 var90 = ORC_CLAMP_SB (var77.i);
13546 /* 42: convssswb */
13547 var91 = ORC_CLAMP_SB (var89.i);
13548 /* 43: convssswb */
13549 var92 = ORC_CLAMP_SB (var82.i);
13553 _dest.x2[0] = var92;
13554 _dest.x2[1] = var91;
13560 _dest.x2[0] = var90;
13561 _dest.x2[1] = var55;
13567 _dest.x2[0] = var93.i;
13568 _dest.x2[1] = var94.i;
13572 var57.x4[0] = var95.x4[0] + var56.x4[0];
13573 var57.x4[1] = var95.x4[1] + var56.x4[1];
13574 var57.x4[2] = var95.x4[2] + var56.x4[2];
13575 var57.x4[3] = var95.x4[3] + var56.x4[3];
13584 _backup_cogorc_convert_I420_BGRA_avg (OrcExecutor * ORC_RESTRICT ex)
13588 orc_union32 *ORC_RESTRICT ptr0;
13589 const orc_int8 *ORC_RESTRICT ptr4;
13590 const orc_int8 *ORC_RESTRICT ptr5;
13591 const orc_int8 *ORC_RESTRICT ptr6;
13592 const orc_int8 *ORC_RESTRICT ptr7;
13593 const orc_int8 *ORC_RESTRICT ptr8;
13645 ptr0 = (orc_union32 *) ex->arrays[0];
13646 ptr4 = (orc_int8 *) ex->arrays[4];
13647 ptr5 = (orc_int8 *) ex->arrays[5];
13648 ptr6 = (orc_int8 *) ex->arrays[6];
13649 ptr7 = (orc_int8 *) ex->arrays[7];
13650 ptr8 = (orc_int8 *) ex->arrays[8];
13653 var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */
13655 var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */
13657 var49 = (int) 0x00000080; /* 128 or 6.32404e-322f */
13659 var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
13661 var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
13663 var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
13665 var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
13667 var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
13669 var55 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
13671 var56.x4[0] = (int) 0x00000080; /* 128 or 6.32404e-322f */
13672 var56.x4[1] = (int) 0x00000080; /* 128 or 6.32404e-322f */
13673 var56.x4[2] = (int) 0x00000080; /* 128 or 6.32404e-322f */
13674 var56.x4[3] = (int) 0x00000080; /* 128 or 6.32404e-322f */
13676 for (i = 0; i < n; i++) {
13680 var58 = var46 - var47;
13685 (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
13686 1) >> 1 : ptr5[i >> 1];
13689 (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
13690 1) >> 1 : ptr6[i >> 1];
13692 var62 = ((orc_uint8) var60 + (orc_uint8) var61 + 1) >> 1;
13694 var63 = var62 - var48;
13699 (i & 1) ? ((orc_uint8) ptr7[i >> 1] + (orc_uint8) ptr7[(i >> 1) + 1] +
13700 1) >> 1 : ptr7[i >> 1];
13703 (i & 1) ? ((orc_uint8) ptr8[i >> 1] + (orc_uint8) ptr8[(i >> 1) + 1] +
13704 1) >> 1 : ptr8[i >> 1];
13706 var67 = ((orc_uint8) var65 + (orc_uint8) var66 + 1) >> 1;
13708 var68 = var67 - var49;
13712 var70.i = (var59.i * var50.i) & 0xffff;
13714 var71.i = var70.i >> 8;
13716 var72.i = ORC_CLAMP_SW (var59.i + var71.i);
13718 var73.i = ORC_CLAMP_SW (var72.i + var69.i);
13720 var74.i = (var69.i * var51.i) & 0xffff;
13722 var75.i = var74.i >> 8;
13724 var76.i = ORC_CLAMP_SW (var73.i - var75.i);
13726 var77.i = ORC_CLAMP_SW (var76.i + var69.i);
13728 var78.i = ORC_CLAMP_SW (var72.i + var64.i);
13730 var79.i = ORC_CLAMP_SW (var78.i + var64.i);
13732 var80.i = (var64.i * var52.i) & 0xffff;
13734 var81.i = var80.i >> 8;
13736 var82.i = ORC_CLAMP_SW (var79.i + var81.i);
13738 var83.i = (var64.i * var53.i) & 0xffff;
13740 var84.i = var83.i >> 8;
13742 var85.i = ORC_CLAMP_SW (var72.i - var84.i);
13744 var86.i = (var69.i * var54.i) & 0xffff;
13746 var87.i = var86.i >> 8;
13748 var88.i = ORC_CLAMP_SW (var85.i - var87.i);
13750 var89.i = ORC_CLAMP_SW (var88.i - var87.i);
13751 /* 41: convssswb */
13752 var90 = ORC_CLAMP_SB (var77.i);
13753 /* 42: convssswb */
13754 var91 = ORC_CLAMP_SB (var89.i);
13755 /* 43: convssswb */
13756 var92 = ORC_CLAMP_SB (var82.i);
13760 _dest.x2[0] = var92;
13761 _dest.x2[1] = var91;
13767 _dest.x2[0] = var90;
13768 _dest.x2[1] = var55;
13774 _dest.x2[0] = var93.i;
13775 _dest.x2[1] = var94.i;
13779 var57.x4[0] = var95.x4[0] + var56.x4[0];
13780 var57.x4[1] = var95.x4[1] + var56.x4[1];
13781 var57.x4[2] = var95.x4[2] + var56.x4[2];
13782 var57.x4[3] = var95.x4[3] + var56.x4[3];
13790 cogorc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1,
13791 const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
13792 const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4,
13793 const guint8 * ORC_RESTRICT s5, int n)
13795 OrcExecutor _ex, *ex = &_ex;
13796 static int p_inited = 0;
13797 static OrcProgram *p = 0;
13798 void (*func) (OrcExecutor *);
13801 orc_once_mutex_lock ();
13804 p = orc_program_new ();
13805 orc_program_set_name (p, "cogorc_convert_I420_BGRA_avg");
13806 orc_program_set_backup_function (p, _backup_cogorc_convert_I420_BGRA_avg);
13807 orc_program_add_destination (p, 4, "d1");
13808 orc_program_add_source (p, 1, "s1");
13809 orc_program_add_source (p, 1, "s2");
13810 orc_program_add_source (p, 1, "s3");
13811 orc_program_add_source (p, 1, "s4");
13812 orc_program_add_source (p, 1, "s5");
13813 orc_program_add_constant (p, 1, 0x00000008, "c1");
13814 orc_program_add_constant (p, 1, 0x00000080, "c2");
13815 orc_program_add_constant (p, 4, 0x0000002a, "c3");
13816 orc_program_add_constant (p, 4, 0x00000067, "c4");
13817 orc_program_add_constant (p, 4, 0x00000004, "c5");
13818 orc_program_add_constant (p, 4, 0x00000064, "c6");
13819 orc_program_add_constant (p, 4, 0x00000068, "c7");
13820 orc_program_add_constant (p, 4, 0x000000ff, "c8");
13821 orc_program_add_temporary (p, 2, "t1");
13822 orc_program_add_temporary (p, 2, "t2");
13823 orc_program_add_temporary (p, 1, "t3");
13824 orc_program_add_temporary (p, 1, "t4");
13825 orc_program_add_temporary (p, 2, "t5");
13826 orc_program_add_temporary (p, 2, "t6");
13827 orc_program_add_temporary (p, 2, "t7");
13828 orc_program_add_temporary (p, 2, "t8");
13829 orc_program_add_temporary (p, 2, "t9");
13830 orc_program_add_temporary (p, 2, "t10");
13831 orc_program_add_temporary (p, 1, "t11");
13832 orc_program_add_temporary (p, 1, "t12");
13833 orc_program_add_temporary (p, 1, "t13");
13834 orc_program_add_temporary (p, 4, "t14");
13836 orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_S1, ORC_VAR_C2,
13838 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_D1,
13840 orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S2,
13841 ORC_VAR_D1, ORC_VAR_D1);
13842 orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T4, ORC_VAR_S3,
13843 ORC_VAR_D1, ORC_VAR_D1);
13844 orc_program_append_2 (p, "avgub", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
13846 orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
13848 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
13850 orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S4,
13851 ORC_VAR_D1, ORC_VAR_D1);
13852 orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T4, ORC_VAR_S5,
13853 ORC_VAR_D1, ORC_VAR_D1);
13854 orc_program_append_2 (p, "avgub", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
13856 orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
13858 orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T3, ORC_VAR_D1,
13860 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_C3,
13862 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
13864 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_T1,
13866 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_T7,
13868 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C4,
13870 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
13872 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T1,
13874 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T7,
13876 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T5, ORC_VAR_T6,
13878 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
13879 ORC_VAR_T6, ORC_VAR_D1);
13880 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C5,
13882 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
13884 orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
13885 ORC_VAR_T1, ORC_VAR_D1);
13886 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C6,
13888 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
13890 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T9, ORC_VAR_T5, ORC_VAR_T1,
13892 orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C7,
13894 orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
13896 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T1,
13898 orc_program_append_2 (p, "subssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T1,
13900 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T11, ORC_VAR_T8,
13901 ORC_VAR_D1, ORC_VAR_D1);
13902 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T12, ORC_VAR_T9,
13903 ORC_VAR_D1, ORC_VAR_D1);
13904 orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
13905 ORC_VAR_D1, ORC_VAR_D1);
13906 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T13,
13907 ORC_VAR_T12, ORC_VAR_D1);
13908 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T11,
13909 ORC_VAR_C8, ORC_VAR_D1);
13910 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T14, ORC_VAR_T1,
13911 ORC_VAR_T2, ORC_VAR_D1);
13912 orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T14, ORC_VAR_C2,
13915 orc_program_compile (p);
13918 orc_once_mutex_unlock ();
13923 ex->arrays[ORC_VAR_D1] = d1;
13924 ex->arrays[ORC_VAR_S1] = (void *) s1;
13925 ex->arrays[ORC_VAR_S2] = (void *) s2;
13926 ex->arrays[ORC_VAR_S3] = (void *) s3;
13927 ex->arrays[ORC_VAR_S4] = (void *) s4;
13928 ex->arrays[ORC_VAR_S5] = (void *) s5;
13930 func = p->code_exec;
13936 /* cogorc_getline_I420 */
13939 cogorc_getline_I420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
13940 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
13943 orc_union32 *ORC_RESTRICT ptr0;
13944 const orc_int8 *ORC_RESTRICT ptr4;
13945 const orc_int8 *ORC_RESTRICT ptr5;
13946 const orc_int8 *ORC_RESTRICT ptr6;
13955 ptr0 = (orc_union32 *) d1;
13956 ptr4 = (orc_int8 *) s1;
13957 ptr5 = (orc_int8 *) s2;
13958 ptr6 = (orc_int8 *) s3;
13961 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
13963 for (i = 0; i < n; i++) {
13965 var39 = ptr5[i >> 1];
13967 var40 = ptr6[i >> 1];
13971 _dest.x2[0] = var39;
13972 _dest.x2[1] = var40;
13980 _dest.x2[0] = var36;
13981 _dest.x2[1] = var37;
13987 _dest.x2[0] = var42.i;
13988 _dest.x2[1] = var41.i;
13999 _backup_cogorc_getline_I420 (OrcExecutor * ORC_RESTRICT ex)
14003 orc_union32 *ORC_RESTRICT ptr0;
14004 const orc_int8 *ORC_RESTRICT ptr4;
14005 const orc_int8 *ORC_RESTRICT ptr5;
14006 const orc_int8 *ORC_RESTRICT ptr6;
14015 ptr0 = (orc_union32 *) ex->arrays[0];
14016 ptr4 = (orc_int8 *) ex->arrays[4];
14017 ptr5 = (orc_int8 *) ex->arrays[5];
14018 ptr6 = (orc_int8 *) ex->arrays[6];
14021 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14023 for (i = 0; i < n; i++) {
14025 var39 = ptr5[i >> 1];
14027 var40 = ptr6[i >> 1];
14031 _dest.x2[0] = var39;
14032 _dest.x2[1] = var40;
14040 _dest.x2[0] = var36;
14041 _dest.x2[1] = var37;
14047 _dest.x2[0] = var42.i;
14048 _dest.x2[1] = var41.i;
14058 cogorc_getline_I420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
14059 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
14061 OrcExecutor _ex, *ex = &_ex;
14062 static int p_inited = 0;
14063 static OrcProgram *p = 0;
14064 void (*func) (OrcExecutor *);
14067 orc_once_mutex_lock ();
14070 p = orc_program_new ();
14071 orc_program_set_name (p, "cogorc_getline_I420");
14072 orc_program_set_backup_function (p, _backup_cogorc_getline_I420);
14073 orc_program_add_destination (p, 4, "d1");
14074 orc_program_add_source (p, 1, "s1");
14075 orc_program_add_source (p, 1, "s2");
14076 orc_program_add_source (p, 1, "s3");
14077 orc_program_add_constant (p, 1, 0x000000ff, "c1");
14078 orc_program_add_temporary (p, 2, "t1");
14079 orc_program_add_temporary (p, 2, "t2");
14080 orc_program_add_temporary (p, 1, "t3");
14081 orc_program_add_temporary (p, 1, "t4");
14083 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T3, ORC_VAR_S2,
14084 ORC_VAR_D1, ORC_VAR_D1);
14085 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S3,
14086 ORC_VAR_D1, ORC_VAR_D1);
14087 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
14089 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
14091 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
14094 orc_program_compile (p);
14097 orc_once_mutex_unlock ();
14102 ex->arrays[ORC_VAR_D1] = d1;
14103 ex->arrays[ORC_VAR_S1] = (void *) s1;
14104 ex->arrays[ORC_VAR_S2] = (void *) s2;
14105 ex->arrays[ORC_VAR_S3] = (void *) s3;
14107 func = p->code_exec;
14113 /* cogorc_getline_YUV9 */
14116 cogorc_getline_YUV9 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
14117 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
14120 orc_union64 *ORC_RESTRICT ptr0;
14121 const orc_union16 *ORC_RESTRICT ptr4;
14122 const orc_int8 *ORC_RESTRICT ptr5;
14123 const orc_int8 *ORC_RESTRICT ptr6;
14133 ptr0 = (orc_union64 *) d1;
14134 ptr4 = (orc_union16 *) s1;
14135 ptr5 = (orc_int8 *) s2;
14136 ptr6 = (orc_int8 *) s3;
14139 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14140 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14142 for (i = 0; i < n; i++) {
14144 var40 = ptr5[i >> 1];
14146 var41 = ptr6[i >> 1];
14150 _dest.x2[0] = var40;
14151 _dest.x2[1] = var41;
14157 _dest.x2[0] = var42.i;
14158 _dest.x2[1] = var42.i;
14166 _dest.x2[0] = var37.x2[0];
14167 _dest.x2[1] = var38.x2[0];
14168 var44.x2[0] = _dest.i;
14172 _dest.x2[0] = var37.x2[1];
14173 _dest.x2[1] = var38.x2[1];
14174 var44.x2[1] = _dest.i;
14179 _dest.x2[0] = var44.x2[0];
14180 _dest.x2[1] = var43.x2[0];
14181 var39.x2[0] = _dest.i;
14185 _dest.x2[0] = var44.x2[1];
14186 _dest.x2[1] = var43.x2[1];
14187 var39.x2[1] = _dest.i;
14197 _backup_cogorc_getline_YUV9 (OrcExecutor * ORC_RESTRICT ex)
14201 orc_union64 *ORC_RESTRICT ptr0;
14202 const orc_union16 *ORC_RESTRICT ptr4;
14203 const orc_int8 *ORC_RESTRICT ptr5;
14204 const orc_int8 *ORC_RESTRICT ptr6;
14214 ptr0 = (orc_union64 *) ex->arrays[0];
14215 ptr4 = (orc_union16 *) ex->arrays[4];
14216 ptr5 = (orc_int8 *) ex->arrays[5];
14217 ptr6 = (orc_int8 *) ex->arrays[6];
14220 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14221 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14223 for (i = 0; i < n; i++) {
14225 var40 = ptr5[i >> 1];
14227 var41 = ptr6[i >> 1];
14231 _dest.x2[0] = var40;
14232 _dest.x2[1] = var41;
14238 _dest.x2[0] = var42.i;
14239 _dest.x2[1] = var42.i;
14247 _dest.x2[0] = var37.x2[0];
14248 _dest.x2[1] = var38.x2[0];
14249 var44.x2[0] = _dest.i;
14253 _dest.x2[0] = var37.x2[1];
14254 _dest.x2[1] = var38.x2[1];
14255 var44.x2[1] = _dest.i;
14260 _dest.x2[0] = var44.x2[0];
14261 _dest.x2[1] = var43.x2[0];
14262 var39.x2[0] = _dest.i;
14266 _dest.x2[0] = var44.x2[1];
14267 _dest.x2[1] = var43.x2[1];
14268 var39.x2[1] = _dest.i;
14277 cogorc_getline_YUV9 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
14278 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
14280 OrcExecutor _ex, *ex = &_ex;
14281 static int p_inited = 0;
14282 static OrcProgram *p = 0;
14283 void (*func) (OrcExecutor *);
14286 orc_once_mutex_lock ();
14289 p = orc_program_new ();
14290 orc_program_set_name (p, "cogorc_getline_YUV9");
14291 orc_program_set_backup_function (p, _backup_cogorc_getline_YUV9);
14292 orc_program_add_destination (p, 8, "d1");
14293 orc_program_add_source (p, 2, "s1");
14294 orc_program_add_source (p, 1, "s2");
14295 orc_program_add_source (p, 1, "s3");
14296 orc_program_add_constant (p, 1, 0x000000ff, "c1");
14297 orc_program_add_temporary (p, 2, "t1");
14298 orc_program_add_temporary (p, 4, "t2");
14299 orc_program_add_temporary (p, 4, "t3");
14300 orc_program_add_temporary (p, 1, "t4");
14301 orc_program_add_temporary (p, 1, "t5");
14303 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S2,
14304 ORC_VAR_D1, ORC_VAR_D1);
14305 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T5, ORC_VAR_S3,
14306 ORC_VAR_D1, ORC_VAR_D1);
14307 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_T5,
14309 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
14311 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
14313 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
14316 orc_program_compile (p);
14319 orc_once_mutex_unlock ();
14324 ex->arrays[ORC_VAR_D1] = d1;
14325 ex->arrays[ORC_VAR_S1] = (void *) s1;
14326 ex->arrays[ORC_VAR_S2] = (void *) s2;
14327 ex->arrays[ORC_VAR_S3] = (void *) s3;
14329 func = p->code_exec;
14335 /* cogorc_getline_YUY2 */
14338 cogorc_getline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
14342 orc_union64 *ORC_RESTRICT ptr0;
14343 const orc_union32 *ORC_RESTRICT ptr4;
14352 ptr0 = (orc_union64 *) d1;
14353 ptr4 = (orc_union32 *) s1;
14356 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14357 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14359 for (i = 0; i < n; i++) {
14365 _src.i = var36.x2[0];
14366 var39.x2[0] = _src.x2[1];
14367 var40.x2[0] = _src.x2[0];
14371 _src.i = var36.x2[1];
14372 var39.x2[1] = _src.x2[1];
14373 var40.x2[1] = _src.x2[0];
14378 _dest.x2[0] = var37.x2[0];
14379 _dest.x2[1] = var40.x2[0];
14380 var41.x2[0] = _dest.i;
14384 _dest.x2[0] = var37.x2[1];
14385 _dest.x2[1] = var40.x2[1];
14386 var41.x2[1] = _dest.i;
14391 _dest.x2[0] = var39.i;
14392 _dest.x2[1] = var39.i;
14398 _dest.x2[0] = var41.x2[0];
14399 _dest.x2[1] = var42.x2[0];
14400 var38.x2[0] = _dest.i;
14404 _dest.x2[0] = var41.x2[1];
14405 _dest.x2[1] = var42.x2[1];
14406 var38.x2[1] = _dest.i;
14416 _backup_cogorc_getline_YUY2 (OrcExecutor * ORC_RESTRICT ex)
14420 orc_union64 *ORC_RESTRICT ptr0;
14421 const orc_union32 *ORC_RESTRICT ptr4;
14430 ptr0 = (orc_union64 *) ex->arrays[0];
14431 ptr4 = (orc_union32 *) ex->arrays[4];
14434 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14435 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14437 for (i = 0; i < n; i++) {
14443 _src.i = var36.x2[0];
14444 var39.x2[0] = _src.x2[1];
14445 var40.x2[0] = _src.x2[0];
14449 _src.i = var36.x2[1];
14450 var39.x2[1] = _src.x2[1];
14451 var40.x2[1] = _src.x2[0];
14456 _dest.x2[0] = var37.x2[0];
14457 _dest.x2[1] = var40.x2[0];
14458 var41.x2[0] = _dest.i;
14462 _dest.x2[0] = var37.x2[1];
14463 _dest.x2[1] = var40.x2[1];
14464 var41.x2[1] = _dest.i;
14469 _dest.x2[0] = var39.i;
14470 _dest.x2[1] = var39.i;
14476 _dest.x2[0] = var41.x2[0];
14477 _dest.x2[1] = var42.x2[0];
14478 var38.x2[0] = _dest.i;
14482 _dest.x2[0] = var41.x2[1];
14483 _dest.x2[1] = var42.x2[1];
14484 var38.x2[1] = _dest.i;
14493 cogorc_getline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
14496 OrcExecutor _ex, *ex = &_ex;
14497 static int p_inited = 0;
14498 static OrcProgram *p = 0;
14499 void (*func) (OrcExecutor *);
14502 orc_once_mutex_lock ();
14505 p = orc_program_new ();
14506 orc_program_set_name (p, "cogorc_getline_YUY2");
14507 orc_program_set_backup_function (p, _backup_cogorc_getline_YUY2);
14508 orc_program_add_destination (p, 8, "d1");
14509 orc_program_add_source (p, 4, "s1");
14510 orc_program_add_constant (p, 2, 0x000000ff, "c1");
14511 orc_program_add_temporary (p, 2, "t1");
14512 orc_program_add_temporary (p, 2, "t2");
14513 orc_program_add_temporary (p, 4, "t3");
14514 orc_program_add_temporary (p, 4, "t4");
14516 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
14518 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
14520 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
14522 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
14525 orc_program_compile (p);
14528 orc_once_mutex_unlock ();
14533 ex->arrays[ORC_VAR_D1] = d1;
14534 ex->arrays[ORC_VAR_S1] = (void *) s1;
14536 func = p->code_exec;
14542 /* cogorc_getline_UYVY */
14545 cogorc_getline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
14549 orc_union64 *ORC_RESTRICT ptr0;
14550 const orc_union32 *ORC_RESTRICT ptr4;
14559 ptr0 = (orc_union64 *) d1;
14560 ptr4 = (orc_union32 *) s1;
14563 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14564 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14566 for (i = 0; i < n; i++) {
14572 _src.i = var36.x2[0];
14573 var39.x2[0] = _src.x2[1];
14574 var40.x2[0] = _src.x2[0];
14578 _src.i = var36.x2[1];
14579 var39.x2[1] = _src.x2[1];
14580 var40.x2[1] = _src.x2[0];
14585 _dest.x2[0] = var37.x2[0];
14586 _dest.x2[1] = var39.x2[0];
14587 var41.x2[0] = _dest.i;
14591 _dest.x2[0] = var37.x2[1];
14592 _dest.x2[1] = var39.x2[1];
14593 var41.x2[1] = _dest.i;
14598 _dest.x2[0] = var40.i;
14599 _dest.x2[1] = var40.i;
14605 _dest.x2[0] = var41.x2[0];
14606 _dest.x2[1] = var42.x2[0];
14607 var38.x2[0] = _dest.i;
14611 _dest.x2[0] = var41.x2[1];
14612 _dest.x2[1] = var42.x2[1];
14613 var38.x2[1] = _dest.i;
14623 _backup_cogorc_getline_UYVY (OrcExecutor * ORC_RESTRICT ex)
14627 orc_union64 *ORC_RESTRICT ptr0;
14628 const orc_union32 *ORC_RESTRICT ptr4;
14637 ptr0 = (orc_union64 *) ex->arrays[0];
14638 ptr4 = (orc_union32 *) ex->arrays[4];
14641 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14642 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14644 for (i = 0; i < n; i++) {
14650 _src.i = var36.x2[0];
14651 var39.x2[0] = _src.x2[1];
14652 var40.x2[0] = _src.x2[0];
14656 _src.i = var36.x2[1];
14657 var39.x2[1] = _src.x2[1];
14658 var40.x2[1] = _src.x2[0];
14663 _dest.x2[0] = var37.x2[0];
14664 _dest.x2[1] = var39.x2[0];
14665 var41.x2[0] = _dest.i;
14669 _dest.x2[0] = var37.x2[1];
14670 _dest.x2[1] = var39.x2[1];
14671 var41.x2[1] = _dest.i;
14676 _dest.x2[0] = var40.i;
14677 _dest.x2[1] = var40.i;
14683 _dest.x2[0] = var41.x2[0];
14684 _dest.x2[1] = var42.x2[0];
14685 var38.x2[0] = _dest.i;
14689 _dest.x2[0] = var41.x2[1];
14690 _dest.x2[1] = var42.x2[1];
14691 var38.x2[1] = _dest.i;
14700 cogorc_getline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
14703 OrcExecutor _ex, *ex = &_ex;
14704 static int p_inited = 0;
14705 static OrcProgram *p = 0;
14706 void (*func) (OrcExecutor *);
14709 orc_once_mutex_lock ();
14712 p = orc_program_new ();
14713 orc_program_set_name (p, "cogorc_getline_UYVY");
14714 orc_program_set_backup_function (p, _backup_cogorc_getline_UYVY);
14715 orc_program_add_destination (p, 8, "d1");
14716 orc_program_add_source (p, 4, "s1");
14717 orc_program_add_constant (p, 2, 0x000000ff, "c1");
14718 orc_program_add_temporary (p, 2, "t1");
14719 orc_program_add_temporary (p, 2, "t2");
14720 orc_program_add_temporary (p, 4, "t3");
14721 orc_program_add_temporary (p, 4, "t4");
14723 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_S1,
14725 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
14727 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
14729 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
14732 orc_program_compile (p);
14735 orc_once_mutex_unlock ();
14740 ex->arrays[ORC_VAR_D1] = d1;
14741 ex->arrays[ORC_VAR_S1] = (void *) s1;
14743 func = p->code_exec;
14749 /* cogorc_getline_YVYU */
14752 cogorc_getline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
14756 orc_union64 *ORC_RESTRICT ptr0;
14757 const orc_union32 *ORC_RESTRICT ptr4;
14767 ptr0 = (orc_union64 *) d1;
14768 ptr4 = (orc_union32 *) s1;
14771 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14772 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14774 for (i = 0; i < n; i++) {
14780 _src.i = var36.x2[0];
14781 var39.x2[0] = _src.x2[1];
14782 var40.x2[0] = _src.x2[0];
14786 _src.i = var36.x2[1];
14787 var39.x2[1] = _src.x2[1];
14788 var40.x2[1] = _src.x2[0];
14791 var41.i = ORC_SWAP_W (var39.i);
14795 _dest.x2[0] = var37.x2[0];
14796 _dest.x2[1] = var40.x2[0];
14797 var42.x2[0] = _dest.i;
14801 _dest.x2[0] = var37.x2[1];
14802 _dest.x2[1] = var40.x2[1];
14803 var42.x2[1] = _dest.i;
14808 _dest.x2[0] = var41.i;
14809 _dest.x2[1] = var41.i;
14815 _dest.x2[0] = var42.x2[0];
14816 _dest.x2[1] = var43.x2[0];
14817 var38.x2[0] = _dest.i;
14821 _dest.x2[0] = var42.x2[1];
14822 _dest.x2[1] = var43.x2[1];
14823 var38.x2[1] = _dest.i;
14833 _backup_cogorc_getline_YVYU (OrcExecutor * ORC_RESTRICT ex)
14837 orc_union64 *ORC_RESTRICT ptr0;
14838 const orc_union32 *ORC_RESTRICT ptr4;
14848 ptr0 = (orc_union64 *) ex->arrays[0];
14849 ptr4 = (orc_union32 *) ex->arrays[4];
14852 var37.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14853 var37.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14855 for (i = 0; i < n; i++) {
14861 _src.i = var36.x2[0];
14862 var39.x2[0] = _src.x2[1];
14863 var40.x2[0] = _src.x2[0];
14867 _src.i = var36.x2[1];
14868 var39.x2[1] = _src.x2[1];
14869 var40.x2[1] = _src.x2[0];
14872 var41.i = ORC_SWAP_W (var39.i);
14876 _dest.x2[0] = var37.x2[0];
14877 _dest.x2[1] = var40.x2[0];
14878 var42.x2[0] = _dest.i;
14882 _dest.x2[0] = var37.x2[1];
14883 _dest.x2[1] = var40.x2[1];
14884 var42.x2[1] = _dest.i;
14889 _dest.x2[0] = var41.i;
14890 _dest.x2[1] = var41.i;
14896 _dest.x2[0] = var42.x2[0];
14897 _dest.x2[1] = var43.x2[0];
14898 var38.x2[0] = _dest.i;
14902 _dest.x2[0] = var42.x2[1];
14903 _dest.x2[1] = var43.x2[1];
14904 var38.x2[1] = _dest.i;
14913 cogorc_getline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
14916 OrcExecutor _ex, *ex = &_ex;
14917 static int p_inited = 0;
14918 static OrcProgram *p = 0;
14919 void (*func) (OrcExecutor *);
14922 orc_once_mutex_lock ();
14925 p = orc_program_new ();
14926 orc_program_set_name (p, "cogorc_getline_YVYU");
14927 orc_program_set_backup_function (p, _backup_cogorc_getline_YVYU);
14928 orc_program_add_destination (p, 8, "d1");
14929 orc_program_add_source (p, 4, "s1");
14930 orc_program_add_constant (p, 2, 0x000000ff, "c1");
14931 orc_program_add_temporary (p, 2, "t1");
14932 orc_program_add_temporary (p, 2, "t2");
14933 orc_program_add_temporary (p, 4, "t3");
14934 orc_program_add_temporary (p, 4, "t4");
14936 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
14938 orc_program_append_2 (p, "swapw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_D1,
14940 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
14942 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
14944 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
14947 orc_program_compile (p);
14950 orc_once_mutex_unlock ();
14955 ex->arrays[ORC_VAR_D1] = d1;
14956 ex->arrays[ORC_VAR_S1] = (void *) s1;
14958 func = p->code_exec;
14964 /* cogorc_getline_Y42B */
14967 cogorc_getline_Y42B (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
14968 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
14971 orc_union64 *ORC_RESTRICT ptr0;
14972 const orc_union16 *ORC_RESTRICT ptr4;
14973 const orc_int8 *ORC_RESTRICT ptr5;
14974 const orc_int8 *ORC_RESTRICT ptr6;
14984 ptr0 = (orc_union64 *) d1;
14985 ptr4 = (orc_union16 *) s1;
14986 ptr5 = (orc_int8 *) s2;
14987 ptr6 = (orc_int8 *) s3;
14990 var38.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14991 var38.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
14993 for (i = 0; i < n; i++) {
15001 _dest.x2[0] = var36;
15002 _dest.x2[1] = var37;
15010 _dest.x2[0] = var38.x2[0];
15011 _dest.x2[1] = var39.x2[0];
15012 var42.x2[0] = _dest.i;
15016 _dest.x2[0] = var38.x2[1];
15017 _dest.x2[1] = var39.x2[1];
15018 var42.x2[1] = _dest.i;
15023 _dest.x2[0] = var41.i;
15024 _dest.x2[1] = var41.i;
15030 _dest.x2[0] = var42.x2[0];
15031 _dest.x2[1] = var43.x2[0];
15032 var40.x2[0] = _dest.i;
15036 _dest.x2[0] = var42.x2[1];
15037 _dest.x2[1] = var43.x2[1];
15038 var40.x2[1] = _dest.i;
15048 _backup_cogorc_getline_Y42B (OrcExecutor * ORC_RESTRICT ex)
15052 orc_union64 *ORC_RESTRICT ptr0;
15053 const orc_union16 *ORC_RESTRICT ptr4;
15054 const orc_int8 *ORC_RESTRICT ptr5;
15055 const orc_int8 *ORC_RESTRICT ptr6;
15065 ptr0 = (orc_union64 *) ex->arrays[0];
15066 ptr4 = (orc_union16 *) ex->arrays[4];
15067 ptr5 = (orc_int8 *) ex->arrays[5];
15068 ptr6 = (orc_int8 *) ex->arrays[6];
15071 var38.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
15072 var38.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
15074 for (i = 0; i < n; i++) {
15082 _dest.x2[0] = var36;
15083 _dest.x2[1] = var37;
15091 _dest.x2[0] = var38.x2[0];
15092 _dest.x2[1] = var39.x2[0];
15093 var42.x2[0] = _dest.i;
15097 _dest.x2[0] = var38.x2[1];
15098 _dest.x2[1] = var39.x2[1];
15099 var42.x2[1] = _dest.i;
15104 _dest.x2[0] = var41.i;
15105 _dest.x2[1] = var41.i;
15111 _dest.x2[0] = var42.x2[0];
15112 _dest.x2[1] = var43.x2[0];
15113 var40.x2[0] = _dest.i;
15117 _dest.x2[0] = var42.x2[1];
15118 _dest.x2[1] = var43.x2[1];
15119 var40.x2[1] = _dest.i;
15128 cogorc_getline_Y42B (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
15129 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
15131 OrcExecutor _ex, *ex = &_ex;
15132 static int p_inited = 0;
15133 static OrcProgram *p = 0;
15134 void (*func) (OrcExecutor *);
15137 orc_once_mutex_lock ();
15140 p = orc_program_new ();
15141 orc_program_set_name (p, "cogorc_getline_Y42B");
15142 orc_program_set_backup_function (p, _backup_cogorc_getline_Y42B);
15143 orc_program_add_destination (p, 8, "d1");
15144 orc_program_add_source (p, 2, "s1");
15145 orc_program_add_source (p, 1, "s2");
15146 orc_program_add_source (p, 1, "s3");
15147 orc_program_add_constant (p, 1, 0x000000ff, "c1");
15148 orc_program_add_temporary (p, 2, "t1");
15149 orc_program_add_temporary (p, 2, "t2");
15150 orc_program_add_temporary (p, 4, "t3");
15151 orc_program_add_temporary (p, 4, "t4");
15153 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
15155 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T4, ORC_VAR_C1, ORC_VAR_S1,
15157 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
15159 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T4, ORC_VAR_T3,
15162 orc_program_compile (p);
15165 orc_once_mutex_unlock ();
15170 ex->arrays[ORC_VAR_D1] = d1;
15171 ex->arrays[ORC_VAR_S1] = (void *) s1;
15172 ex->arrays[ORC_VAR_S2] = (void *) s2;
15173 ex->arrays[ORC_VAR_S3] = (void *) s3;
15175 func = p->code_exec;
15181 /* cogorc_getline_Y444 */
15184 cogorc_getline_Y444 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
15185 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
15188 orc_union32 *ORC_RESTRICT ptr0;
15189 const orc_int8 *ORC_RESTRICT ptr4;
15190 const orc_int8 *ORC_RESTRICT ptr5;
15191 const orc_int8 *ORC_RESTRICT ptr6;
15200 ptr0 = (orc_union32 *) d1;
15201 ptr4 = (orc_int8 *) s1;
15202 ptr5 = (orc_int8 *) s2;
15203 ptr6 = (orc_int8 *) s3;
15206 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
15208 for (i = 0; i < n; i++) {
15216 _dest.x2[0] = var34;
15217 _dest.x2[1] = var35;
15225 _dest.x2[0] = var36;
15226 _dest.x2[1] = var37;
15232 _dest.x2[0] = var40.i;
15233 _dest.x2[1] = var39.i;
15244 _backup_cogorc_getline_Y444 (OrcExecutor * ORC_RESTRICT ex)
15248 orc_union32 *ORC_RESTRICT ptr0;
15249 const orc_int8 *ORC_RESTRICT ptr4;
15250 const orc_int8 *ORC_RESTRICT ptr5;
15251 const orc_int8 *ORC_RESTRICT ptr6;
15260 ptr0 = (orc_union32 *) ex->arrays[0];
15261 ptr4 = (orc_int8 *) ex->arrays[4];
15262 ptr5 = (orc_int8 *) ex->arrays[5];
15263 ptr6 = (orc_int8 *) ex->arrays[6];
15266 var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
15268 for (i = 0; i < n; i++) {
15276 _dest.x2[0] = var34;
15277 _dest.x2[1] = var35;
15285 _dest.x2[0] = var36;
15286 _dest.x2[1] = var37;
15292 _dest.x2[0] = var40.i;
15293 _dest.x2[1] = var39.i;
15303 cogorc_getline_Y444 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
15304 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
15306 OrcExecutor _ex, *ex = &_ex;
15307 static int p_inited = 0;
15308 static OrcProgram *p = 0;
15309 void (*func) (OrcExecutor *);
15312 orc_once_mutex_lock ();
15315 p = orc_program_new ();
15316 orc_program_set_name (p, "cogorc_getline_Y444");
15317 orc_program_set_backup_function (p, _backup_cogorc_getline_Y444);
15318 orc_program_add_destination (p, 4, "d1");
15319 orc_program_add_source (p, 1, "s1");
15320 orc_program_add_source (p, 1, "s2");
15321 orc_program_add_source (p, 1, "s3");
15322 orc_program_add_constant (p, 1, 0x000000ff, "c1");
15323 orc_program_add_temporary (p, 2, "t1");
15324 orc_program_add_temporary (p, 2, "t2");
15326 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
15328 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
15330 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
15333 orc_program_compile (p);
15336 orc_once_mutex_unlock ();
15341 ex->arrays[ORC_VAR_D1] = d1;
15342 ex->arrays[ORC_VAR_S1] = (void *) s1;
15343 ex->arrays[ORC_VAR_S2] = (void *) s2;
15344 ex->arrays[ORC_VAR_S3] = (void *) s3;
15346 func = p->code_exec;
15352 /* cogorc_getline_Y800 */
15355 cogorc_getline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
15359 orc_union32 *ORC_RESTRICT ptr0;
15360 const orc_int8 *ORC_RESTRICT ptr4;
15367 ptr0 = (orc_union32 *) d1;
15368 ptr4 = (orc_int8 *) s1;
15371 var33 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
15373 var35.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
15375 for (i = 0; i < n; i++) {
15381 _dest.x2[0] = var33;
15382 _dest.x2[1] = var34;
15388 _dest.x2[0] = var37.i;
15389 _dest.x2[1] = var35.i;
15400 _backup_cogorc_getline_Y800 (OrcExecutor * ORC_RESTRICT ex)
15404 orc_union32 *ORC_RESTRICT ptr0;
15405 const orc_int8 *ORC_RESTRICT ptr4;
15412 ptr0 = (orc_union32 *) ex->arrays[0];
15413 ptr4 = (orc_int8 *) ex->arrays[4];
15416 var33 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
15418 var35.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
15420 for (i = 0; i < n; i++) {
15426 _dest.x2[0] = var33;
15427 _dest.x2[1] = var34;
15433 _dest.x2[0] = var37.i;
15434 _dest.x2[1] = var35.i;
15444 cogorc_getline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
15447 OrcExecutor _ex, *ex = &_ex;
15448 static int p_inited = 0;
15449 static OrcProgram *p = 0;
15450 void (*func) (OrcExecutor *);
15453 orc_once_mutex_lock ();
15456 p = orc_program_new ();
15457 orc_program_set_name (p, "cogorc_getline_Y800");
15458 orc_program_set_backup_function (p, _backup_cogorc_getline_Y800);
15459 orc_program_add_destination (p, 4, "d1");
15460 orc_program_add_source (p, 1, "s1");
15461 orc_program_add_constant (p, 1, 0x000000ff, "c1");
15462 orc_program_add_constant (p, 2, 0x00008080, "c2");
15463 orc_program_add_temporary (p, 2, "t1");
15465 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_S1,
15467 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
15470 orc_program_compile (p);
15473 orc_once_mutex_unlock ();
15478 ex->arrays[ORC_VAR_D1] = d1;
15479 ex->arrays[ORC_VAR_S1] = (void *) s1;
15481 func = p->code_exec;
15487 /* cogorc_getline_Y16 */
15490 cogorc_getline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
15494 orc_union32 *ORC_RESTRICT ptr0;
15495 const orc_union16 *ORC_RESTRICT ptr4;
15503 ptr0 = (orc_union32 *) d1;
15504 ptr4 = (orc_union16 *) s1;
15507 var35 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
15509 var36.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
15511 for (i = 0; i < n; i++) {
15515 var38 = ((orc_uint16) var34.i) >> 8;
15519 _dest.x2[0] = var35;
15520 _dest.x2[1] = var38;
15526 _dest.x2[0] = var39.i;
15527 _dest.x2[1] = var36.i;
15538 _backup_cogorc_getline_Y16 (OrcExecutor * ORC_RESTRICT ex)
15542 orc_union32 *ORC_RESTRICT ptr0;
15543 const orc_union16 *ORC_RESTRICT ptr4;
15551 ptr0 = (orc_union32 *) ex->arrays[0];
15552 ptr4 = (orc_union16 *) ex->arrays[4];
15555 var35 = (int) 0x000000ff; /* 255 or 1.25987e-321f */
15557 var36.i = (int) 0x00008080; /* 32896 or 1.62528e-319f */
15559 for (i = 0; i < n; i++) {
15563 var38 = ((orc_uint16) var34.i) >> 8;
15567 _dest.x2[0] = var35;
15568 _dest.x2[1] = var38;
15574 _dest.x2[0] = var39.i;
15575 _dest.x2[1] = var36.i;
15585 cogorc_getline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
15588 OrcExecutor _ex, *ex = &_ex;
15589 static int p_inited = 0;
15590 static OrcProgram *p = 0;
15591 void (*func) (OrcExecutor *);
15594 orc_once_mutex_lock ();
15597 p = orc_program_new ();
15598 orc_program_set_name (p, "cogorc_getline_Y16");
15599 orc_program_set_backup_function (p, _backup_cogorc_getline_Y16);
15600 orc_program_add_destination (p, 4, "d1");
15601 orc_program_add_source (p, 2, "s1");
15602 orc_program_add_constant (p, 1, 0x000000ff, "c1");
15603 orc_program_add_constant (p, 2, 0x00008080, "c2");
15604 orc_program_add_temporary (p, 2, "t1");
15605 orc_program_add_temporary (p, 1, "t2");
15607 orc_program_append_2 (p, "convhwb", 0, ORC_VAR_T2, ORC_VAR_S1, ORC_VAR_D1,
15609 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_T2,
15611 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
15614 orc_program_compile (p);
15617 orc_once_mutex_unlock ();
15622 ex->arrays[ORC_VAR_D1] = d1;
15623 ex->arrays[ORC_VAR_S1] = (void *) s1;
15625 func = p->code_exec;
15631 /* cogorc_getline_BGRA */
15634 cogorc_getline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
15638 orc_union32 *ORC_RESTRICT ptr0;
15639 const orc_union32 *ORC_RESTRICT ptr4;
15643 ptr0 = (orc_union32 *) d1;
15644 ptr4 = (orc_union32 *) s1;
15647 for (i = 0; i < n; i++) {
15651 var33.i = ORC_SWAP_L (var32.i);
15660 _backup_cogorc_getline_BGRA (OrcExecutor * ORC_RESTRICT ex)
15664 orc_union32 *ORC_RESTRICT ptr0;
15665 const orc_union32 *ORC_RESTRICT ptr4;
15669 ptr0 = (orc_union32 *) ex->arrays[0];
15670 ptr4 = (orc_union32 *) ex->arrays[4];
15673 for (i = 0; i < n; i++) {
15677 var33.i = ORC_SWAP_L (var32.i);
15685 cogorc_getline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
15688 OrcExecutor _ex, *ex = &_ex;
15689 static int p_inited = 0;
15690 static OrcProgram *p = 0;
15691 void (*func) (OrcExecutor *);
15694 orc_once_mutex_lock ();
15697 p = orc_program_new ();
15698 orc_program_set_name (p, "cogorc_getline_BGRA");
15699 orc_program_set_backup_function (p, _backup_cogorc_getline_BGRA);
15700 orc_program_add_destination (p, 4, "d1");
15701 orc_program_add_source (p, 4, "s1");
15703 orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
15706 orc_program_compile (p);
15709 orc_once_mutex_unlock ();
15714 ex->arrays[ORC_VAR_D1] = d1;
15715 ex->arrays[ORC_VAR_S1] = (void *) s1;
15717 func = p->code_exec;
15723 /* cogorc_getline_ABGR */
15726 cogorc_getline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
15730 orc_union32 *ORC_RESTRICT ptr0;
15731 const orc_union32 *ORC_RESTRICT ptr4;
15743 ptr0 = (orc_union32 *) d1;
15744 ptr4 = (orc_union32 *) s1;
15747 for (i = 0; i < n; i++) {
15754 var42.i = _src.x2[1];
15755 var43.i = _src.x2[0];
15761 var44 = _src.x2[1];
15762 var45 = _src.x2[0];
15768 var46 = _src.x2[1];
15769 var47 = _src.x2[0];
15774 _dest.x2[0] = var47;
15775 _dest.x2[1] = var44;
15781 _dest.x2[0] = var45;
15782 _dest.x2[1] = var46;
15788 _dest.x2[0] = var48.i;
15789 _dest.x2[1] = var49.i;
15800 _backup_cogorc_getline_ABGR (OrcExecutor * ORC_RESTRICT ex)
15804 orc_union32 *ORC_RESTRICT ptr0;
15805 const orc_union32 *ORC_RESTRICT ptr4;
15817 ptr0 = (orc_union32 *) ex->arrays[0];
15818 ptr4 = (orc_union32 *) ex->arrays[4];
15821 for (i = 0; i < n; i++) {
15828 var42.i = _src.x2[1];
15829 var43.i = _src.x2[0];
15835 var44 = _src.x2[1];
15836 var45 = _src.x2[0];
15842 var46 = _src.x2[1];
15843 var47 = _src.x2[0];
15848 _dest.x2[0] = var47;
15849 _dest.x2[1] = var44;
15855 _dest.x2[0] = var45;
15856 _dest.x2[1] = var46;
15862 _dest.x2[0] = var48.i;
15863 _dest.x2[1] = var49.i;
15873 cogorc_getline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
15876 OrcExecutor _ex, *ex = &_ex;
15877 static int p_inited = 0;
15878 static OrcProgram *p = 0;
15879 void (*func) (OrcExecutor *);
15882 orc_once_mutex_lock ();
15885 p = orc_program_new ();
15886 orc_program_set_name (p, "cogorc_getline_ABGR");
15887 orc_program_set_backup_function (p, _backup_cogorc_getline_ABGR);
15888 orc_program_add_destination (p, 4, "d1");
15889 orc_program_add_source (p, 4, "s1");
15890 orc_program_add_temporary (p, 1, "t1");
15891 orc_program_add_temporary (p, 1, "t2");
15892 orc_program_add_temporary (p, 1, "t3");
15893 orc_program_add_temporary (p, 1, "t4");
15894 orc_program_add_temporary (p, 2, "t5");
15895 orc_program_add_temporary (p, 2, "t6");
15896 orc_program_add_temporary (p, 2, "t7");
15897 orc_program_add_temporary (p, 2, "t8");
15899 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_S1,
15901 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
15903 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T1, ORC_VAR_T6,
15905 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_T2,
15907 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T3, ORC_VAR_T4,
15909 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T7, ORC_VAR_T8,
15912 orc_program_compile (p);
15915 orc_once_mutex_unlock ();
15920 ex->arrays[ORC_VAR_D1] = d1;
15921 ex->arrays[ORC_VAR_S1] = (void *) s1;
15923 func = p->code_exec;
15929 /* cogorc_getline_RGBA */
15932 cogorc_getline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
15936 orc_union32 *ORC_RESTRICT ptr0;
15937 const orc_union32 *ORC_RESTRICT ptr4;
15949 ptr0 = (orc_union32 *) d1;
15950 ptr4 = (orc_union32 *) s1;
15953 for (i = 0; i < n; i++) {
15960 var42.i = _src.x2[1];
15961 var43.i = _src.x2[0];
15967 var44 = _src.x2[1];
15968 var45 = _src.x2[0];
15974 var46 = _src.x2[1];
15975 var47 = _src.x2[0];
15980 _dest.x2[0] = var46;
15981 _dest.x2[1] = var45;
15987 _dest.x2[0] = var44;
15988 _dest.x2[1] = var47;
15994 _dest.x2[0] = var48.i;
15995 _dest.x2[1] = var49.i;
16006 _backup_cogorc_getline_RGBA (OrcExecutor * ORC_RESTRICT ex)
16010 orc_union32 *ORC_RESTRICT ptr0;
16011 const orc_union32 *ORC_RESTRICT ptr4;
16023 ptr0 = (orc_union32 *) ex->arrays[0];
16024 ptr4 = (orc_union32 *) ex->arrays[4];
16027 for (i = 0; i < n; i++) {
16034 var42.i = _src.x2[1];
16035 var43.i = _src.x2[0];
16041 var44 = _src.x2[1];
16042 var45 = _src.x2[0];
16048 var46 = _src.x2[1];
16049 var47 = _src.x2[0];
16054 _dest.x2[0] = var46;
16055 _dest.x2[1] = var45;
16061 _dest.x2[0] = var44;
16062 _dest.x2[1] = var47;
16068 _dest.x2[0] = var48.i;
16069 _dest.x2[1] = var49.i;
16079 cogorc_getline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
16082 OrcExecutor _ex, *ex = &_ex;
16083 static int p_inited = 0;
16084 static OrcProgram *p = 0;
16085 void (*func) (OrcExecutor *);
16088 orc_once_mutex_lock ();
16091 p = orc_program_new ();
16092 orc_program_set_name (p, "cogorc_getline_RGBA");
16093 orc_program_set_backup_function (p, _backup_cogorc_getline_RGBA);
16094 orc_program_add_destination (p, 4, "d1");
16095 orc_program_add_source (p, 4, "s1");
16096 orc_program_add_temporary (p, 1, "t1");
16097 orc_program_add_temporary (p, 1, "t2");
16098 orc_program_add_temporary (p, 1, "t3");
16099 orc_program_add_temporary (p, 1, "t4");
16100 orc_program_add_temporary (p, 2, "t5");
16101 orc_program_add_temporary (p, 2, "t6");
16102 orc_program_add_temporary (p, 2, "t7");
16103 orc_program_add_temporary (p, 2, "t8");
16105 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_S1,
16107 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_T5,
16109 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_T6,
16111 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_T2,
16113 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T3, ORC_VAR_T4,
16115 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T7, ORC_VAR_T8,
16118 orc_program_compile (p);
16121 orc_once_mutex_unlock ();
16126 ex->arrays[ORC_VAR_D1] = d1;
16127 ex->arrays[ORC_VAR_S1] = (void *) s1;
16129 func = p->code_exec;
16135 /* cogorc_getline_NV12 */
16138 cogorc_getline_NV12 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
16139 const guint8 * ORC_RESTRICT s2, int n)
16142 orc_union64 *ORC_RESTRICT ptr0;
16143 const orc_union16 *ORC_RESTRICT ptr4;
16144 const orc_union16 *ORC_RESTRICT ptr5;
16153 ptr0 = (orc_union64 *) d1;
16154 ptr4 = (orc_union16 *) s1;
16155 ptr5 = (orc_union16 *) s2;
16158 var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
16159 var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
16161 for (i = 0; i < n; i++) {
16169 _dest.x2[0] = var34.i;
16170 _dest.x2[1] = var35.i;
16178 _dest.x2[0] = var36.x2[0];
16179 _dest.x2[1] = var37.x2[0];
16180 var40.x2[0] = _dest.i;
16184 _dest.x2[0] = var36.x2[1];
16185 _dest.x2[1] = var37.x2[1];
16186 var40.x2[1] = _dest.i;
16191 _dest.x2[0] = var40.x2[0];
16192 _dest.x2[1] = var39.x2[0];
16193 var38.x2[0] = _dest.i;
16197 _dest.x2[0] = var40.x2[1];
16198 _dest.x2[1] = var39.x2[1];
16199 var38.x2[1] = _dest.i;
16209 _backup_cogorc_getline_NV12 (OrcExecutor * ORC_RESTRICT ex)
16213 orc_union64 *ORC_RESTRICT ptr0;
16214 const orc_union16 *ORC_RESTRICT ptr4;
16215 const orc_union16 *ORC_RESTRICT ptr5;
16224 ptr0 = (orc_union64 *) ex->arrays[0];
16225 ptr4 = (orc_union16 *) ex->arrays[4];
16226 ptr5 = (orc_union16 *) ex->arrays[5];
16229 var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
16230 var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
16232 for (i = 0; i < n; i++) {
16240 _dest.x2[0] = var34.i;
16241 _dest.x2[1] = var35.i;
16249 _dest.x2[0] = var36.x2[0];
16250 _dest.x2[1] = var37.x2[0];
16251 var40.x2[0] = _dest.i;
16255 _dest.x2[0] = var36.x2[1];
16256 _dest.x2[1] = var37.x2[1];
16257 var40.x2[1] = _dest.i;
16262 _dest.x2[0] = var40.x2[0];
16263 _dest.x2[1] = var39.x2[0];
16264 var38.x2[0] = _dest.i;
16268 _dest.x2[0] = var40.x2[1];
16269 _dest.x2[1] = var39.x2[1];
16270 var38.x2[1] = _dest.i;
16279 cogorc_getline_NV12 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
16280 const guint8 * ORC_RESTRICT s2, int n)
16282 OrcExecutor _ex, *ex = &_ex;
16283 static int p_inited = 0;
16284 static OrcProgram *p = 0;
16285 void (*func) (OrcExecutor *);
16288 orc_once_mutex_lock ();
16291 p = orc_program_new ();
16292 orc_program_set_name (p, "cogorc_getline_NV12");
16293 orc_program_set_backup_function (p, _backup_cogorc_getline_NV12);
16294 orc_program_add_destination (p, 8, "d1");
16295 orc_program_add_source (p, 2, "s1");
16296 orc_program_add_source (p, 2, "s2");
16297 orc_program_add_constant (p, 1, 0x000000ff, "c1");
16298 orc_program_add_temporary (p, 4, "t1");
16299 orc_program_add_temporary (p, 4, "t2");
16301 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S2,
16303 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_S1,
16305 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
16308 orc_program_compile (p);
16311 orc_once_mutex_unlock ();
16316 ex->arrays[ORC_VAR_D1] = d1;
16317 ex->arrays[ORC_VAR_S1] = (void *) s1;
16318 ex->arrays[ORC_VAR_S2] = (void *) s2;
16320 func = p->code_exec;
16326 /* cogorc_getline_NV21 */
16329 cogorc_getline_NV21 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
16330 const guint8 * ORC_RESTRICT s2, int n)
16333 orc_union64 *ORC_RESTRICT ptr0;
16334 const orc_union16 *ORC_RESTRICT ptr4;
16335 const orc_union16 *ORC_RESTRICT ptr5;
16344 ptr0 = (orc_union64 *) d1;
16345 ptr4 = (orc_union16 *) s1;
16346 ptr5 = (orc_union16 *) s2;
16349 var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
16350 var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
16352 for (i = 0; i < n; i++) {
16356 var39.i = ORC_SWAP_W (var35.i);
16360 _dest.x2[0] = var39.i;
16361 _dest.x2[1] = var39.i;
16369 _dest.x2[0] = var36.x2[0];
16370 _dest.x2[1] = var37.x2[0];
16371 var41.x2[0] = _dest.i;
16375 _dest.x2[0] = var36.x2[1];
16376 _dest.x2[1] = var37.x2[1];
16377 var41.x2[1] = _dest.i;
16382 _dest.x2[0] = var41.x2[0];
16383 _dest.x2[1] = var40.x2[0];
16384 var38.x2[0] = _dest.i;
16388 _dest.x2[0] = var41.x2[1];
16389 _dest.x2[1] = var40.x2[1];
16390 var38.x2[1] = _dest.i;
16400 _backup_cogorc_getline_NV21 (OrcExecutor * ORC_RESTRICT ex)
16404 orc_union64 *ORC_RESTRICT ptr0;
16405 const orc_union16 *ORC_RESTRICT ptr4;
16406 const orc_union16 *ORC_RESTRICT ptr5;
16415 ptr0 = (orc_union64 *) ex->arrays[0];
16416 ptr4 = (orc_union16 *) ex->arrays[4];
16417 ptr5 = (orc_union16 *) ex->arrays[5];
16420 var36.x2[0] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
16421 var36.x2[1] = (int) 0x000000ff; /* 255 or 1.25987e-321f */
16423 for (i = 0; i < n; i++) {
16427 var39.i = ORC_SWAP_W (var35.i);
16431 _dest.x2[0] = var39.i;
16432 _dest.x2[1] = var39.i;
16440 _dest.x2[0] = var36.x2[0];
16441 _dest.x2[1] = var37.x2[0];
16442 var41.x2[0] = _dest.i;
16446 _dest.x2[0] = var36.x2[1];
16447 _dest.x2[1] = var37.x2[1];
16448 var41.x2[1] = _dest.i;
16453 _dest.x2[0] = var41.x2[0];
16454 _dest.x2[1] = var40.x2[0];
16455 var38.x2[0] = _dest.i;
16459 _dest.x2[0] = var41.x2[1];
16460 _dest.x2[1] = var40.x2[1];
16461 var38.x2[1] = _dest.i;
16470 cogorc_getline_NV21 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
16471 const guint8 * ORC_RESTRICT s2, int n)
16473 OrcExecutor _ex, *ex = &_ex;
16474 static int p_inited = 0;
16475 static OrcProgram *p = 0;
16476 void (*func) (OrcExecutor *);
16479 orc_once_mutex_lock ();
16482 p = orc_program_new ();
16483 orc_program_set_name (p, "cogorc_getline_NV21");
16484 orc_program_set_backup_function (p, _backup_cogorc_getline_NV21);
16485 orc_program_add_destination (p, 8, "d1");
16486 orc_program_add_source (p, 2, "s1");
16487 orc_program_add_source (p, 2, "s2");
16488 orc_program_add_constant (p, 1, 0x000000ff, "c1");
16489 orc_program_add_temporary (p, 2, "t1");
16490 orc_program_add_temporary (p, 4, "t2");
16491 orc_program_add_temporary (p, 4, "t3");
16493 orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_D1,
16495 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
16497 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
16499 orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
16502 orc_program_compile (p);
16505 orc_once_mutex_unlock ();
16510 ex->arrays[ORC_VAR_D1] = d1;
16511 ex->arrays[ORC_VAR_S1] = (void *) s1;
16512 ex->arrays[ORC_VAR_S2] = (void *) s2;
16514 func = p->code_exec;
16520 /* cogorc_getline_A420 */
16523 cogorc_getline_A420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
16524 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
16525 const guint8 * ORC_RESTRICT s4, int n)
16528 orc_union32 *ORC_RESTRICT ptr0;
16529 const orc_int8 *ORC_RESTRICT ptr4;
16530 const orc_int8 *ORC_RESTRICT ptr5;
16531 const orc_int8 *ORC_RESTRICT ptr6;
16532 const orc_int8 *ORC_RESTRICT ptr7;
16541 ptr0 = (orc_union32 *) d1;
16542 ptr4 = (orc_int8 *) s1;
16543 ptr5 = (orc_int8 *) s2;
16544 ptr6 = (orc_int8 *) s3;
16545 ptr7 = (orc_int8 *) s4;
16548 for (i = 0; i < n; i++) {
16550 var39 = ptr5[i >> 1];
16552 var40 = ptr6[i >> 1];
16556 _dest.x2[0] = var39;
16557 _dest.x2[1] = var40;
16567 _dest.x2[0] = var36;
16568 _dest.x2[1] = var37;
16574 _dest.x2[0] = var42.i;
16575 _dest.x2[1] = var41.i;
16586 _backup_cogorc_getline_A420 (OrcExecutor * ORC_RESTRICT ex)
16590 orc_union32 *ORC_RESTRICT ptr0;
16591 const orc_int8 *ORC_RESTRICT ptr4;
16592 const orc_int8 *ORC_RESTRICT ptr5;
16593 const orc_int8 *ORC_RESTRICT ptr6;
16594 const orc_int8 *ORC_RESTRICT ptr7;
16603 ptr0 = (orc_union32 *) ex->arrays[0];
16604 ptr4 = (orc_int8 *) ex->arrays[4];
16605 ptr5 = (orc_int8 *) ex->arrays[5];
16606 ptr6 = (orc_int8 *) ex->arrays[6];
16607 ptr7 = (orc_int8 *) ex->arrays[7];
16610 for (i = 0; i < n; i++) {
16612 var39 = ptr5[i >> 1];
16614 var40 = ptr6[i >> 1];
16618 _dest.x2[0] = var39;
16619 _dest.x2[1] = var40;
16629 _dest.x2[0] = var36;
16630 _dest.x2[1] = var37;
16636 _dest.x2[0] = var42.i;
16637 _dest.x2[1] = var41.i;
16647 cogorc_getline_A420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
16648 const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
16649 const guint8 * ORC_RESTRICT s4, int n)
16651 OrcExecutor _ex, *ex = &_ex;
16652 static int p_inited = 0;
16653 static OrcProgram *p = 0;
16654 void (*func) (OrcExecutor *);
16657 orc_once_mutex_lock ();
16660 p = orc_program_new ();
16661 orc_program_set_name (p, "cogorc_getline_A420");
16662 orc_program_set_backup_function (p, _backup_cogorc_getline_A420);
16663 orc_program_add_destination (p, 4, "d1");
16664 orc_program_add_source (p, 1, "s1");
16665 orc_program_add_source (p, 1, "s2");
16666 orc_program_add_source (p, 1, "s3");
16667 orc_program_add_source (p, 1, "s4");
16668 orc_program_add_temporary (p, 2, "t1");
16669 orc_program_add_temporary (p, 2, "t2");
16670 orc_program_add_temporary (p, 1, "t3");
16671 orc_program_add_temporary (p, 1, "t4");
16673 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T3, ORC_VAR_S2,
16674 ORC_VAR_D1, ORC_VAR_D1);
16675 orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S3,
16676 ORC_VAR_D1, ORC_VAR_D1);
16677 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
16679 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_S4, ORC_VAR_S1,
16681 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
16684 orc_program_compile (p);
16687 orc_once_mutex_unlock ();
16692 ex->arrays[ORC_VAR_D1] = d1;
16693 ex->arrays[ORC_VAR_S1] = (void *) s1;
16694 ex->arrays[ORC_VAR_S2] = (void *) s2;
16695 ex->arrays[ORC_VAR_S3] = (void *) s3;
16696 ex->arrays[ORC_VAR_S4] = (void *) s4;
16698 func = p->code_exec;
16704 /* cogorc_putline_I420 */
16707 cogorc_putline_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
16708 guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
16711 orc_union16 *ORC_RESTRICT ptr0;
16712 orc_int8 *ORC_RESTRICT ptr1;
16713 orc_int8 *ORC_RESTRICT ptr2;
16714 const orc_union64 *ORC_RESTRICT ptr4;
16728 ptr0 = (orc_union16 *) d1;
16729 ptr1 = (orc_int8 *) d2;
16730 ptr2 = (orc_int8 *) d3;
16731 ptr4 = (orc_union64 *) s1;
16734 for (i = 0; i < n; i++) {
16740 _src.i = var38.x2[0];
16741 var42.x2[0] = _src.x2[1];
16742 var43.x2[0] = _src.x2[0];
16746 _src.i = var38.x2[1];
16747 var42.x2[1] = _src.x2[1];
16748 var43.x2[1] = _src.x2[0];
16753 _src.i = var43.x2[0];
16754 var39.x2[0] = _src.x2[1];
16758 _src.i = var43.x2[1];
16759 var39.x2[1] = _src.x2[1];
16766 _src.i = var42.x2[0];
16767 var44.x2[0] = _src.x2[1];
16768 var45.x2[0] = _src.x2[0];
16772 _src.i = var42.x2[1];
16773 var44.x2[1] = _src.x2[1];
16774 var45.x2[1] = _src.x2[0];
16780 var46 = _src.x2[1];
16781 var47 = _src.x2[0];
16784 var40 = ((orc_uint8) var46 + (orc_uint8) var47 + 1) >> 1;
16791 var48 = _src.x2[1];
16792 var49 = _src.x2[0];
16795 var41 = ((orc_uint8) var48 + (orc_uint8) var49 + 1) >> 1;
16804 _backup_cogorc_putline_I420 (OrcExecutor * ORC_RESTRICT ex)
16808 orc_union16 *ORC_RESTRICT ptr0;
16809 orc_int8 *ORC_RESTRICT ptr1;
16810 orc_int8 *ORC_RESTRICT ptr2;
16811 const orc_union64 *ORC_RESTRICT ptr4;
16825 ptr0 = (orc_union16 *) ex->arrays[0];
16826 ptr1 = (orc_int8 *) ex->arrays[1];
16827 ptr2 = (orc_int8 *) ex->arrays[2];
16828 ptr4 = (orc_union64 *) ex->arrays[4];
16831 for (i = 0; i < n; i++) {
16837 _src.i = var38.x2[0];
16838 var42.x2[0] = _src.x2[1];
16839 var43.x2[0] = _src.x2[0];
16843 _src.i = var38.x2[1];
16844 var42.x2[1] = _src.x2[1];
16845 var43.x2[1] = _src.x2[0];
16850 _src.i = var43.x2[0];
16851 var39.x2[0] = _src.x2[1];
16855 _src.i = var43.x2[1];
16856 var39.x2[1] = _src.x2[1];
16863 _src.i = var42.x2[0];
16864 var44.x2[0] = _src.x2[1];
16865 var45.x2[0] = _src.x2[0];
16869 _src.i = var42.x2[1];
16870 var44.x2[1] = _src.x2[1];
16871 var45.x2[1] = _src.x2[0];
16877 var46 = _src.x2[1];
16878 var47 = _src.x2[0];
16881 var40 = ((orc_uint8) var46 + (orc_uint8) var47 + 1) >> 1;
16888 var48 = _src.x2[1];
16889 var49 = _src.x2[0];
16892 var41 = ((orc_uint8) var48 + (orc_uint8) var49 + 1) >> 1;
16900 cogorc_putline_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
16901 guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
16903 OrcExecutor _ex, *ex = &_ex;
16904 static int p_inited = 0;
16905 static OrcProgram *p = 0;
16906 void (*func) (OrcExecutor *);
16909 orc_once_mutex_lock ();
16912 p = orc_program_new ();
16913 orc_program_set_name (p, "cogorc_putline_I420");
16914 orc_program_set_backup_function (p, _backup_cogorc_putline_I420);
16915 orc_program_add_destination (p, 2, "d1");
16916 orc_program_add_destination (p, 1, "d2");
16917 orc_program_add_destination (p, 1, "d3");
16918 orc_program_add_source (p, 8, "s1");
16919 orc_program_add_temporary (p, 4, "t1");
16920 orc_program_add_temporary (p, 4, "t2");
16921 orc_program_add_temporary (p, 2, "t3");
16922 orc_program_add_temporary (p, 2, "t4");
16923 orc_program_add_temporary (p, 1, "t5");
16924 orc_program_add_temporary (p, 1, "t6");
16926 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
16928 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
16929 ORC_VAR_D1, ORC_VAR_D1);
16930 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
16932 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T3,
16934 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_T6,
16936 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T4,
16938 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D3, ORC_VAR_T5, ORC_VAR_T6,
16941 orc_program_compile (p);
16944 orc_once_mutex_unlock ();
16949 ex->arrays[ORC_VAR_D1] = d1;
16950 ex->arrays[ORC_VAR_D2] = d2;
16951 ex->arrays[ORC_VAR_D3] = d3;
16952 ex->arrays[ORC_VAR_S1] = (void *) s1;
16954 func = p->code_exec;
16960 /* cogorc_putline_YUY2 */
16963 cogorc_putline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
16967 orc_union32 *ORC_RESTRICT ptr0;
16968 const orc_union64 *ORC_RESTRICT ptr4;
16978 ptr0 = (orc_union32 *) d1;
16979 ptr4 = (orc_union64 *) s1;
16982 for (i = 0; i < n; i++) {
16988 _src.i = var37.x2[0];
16989 var39.x2[0] = _src.x2[1];
16990 var40.x2[0] = _src.x2[0];
16994 _src.i = var37.x2[1];
16995 var39.x2[1] = _src.x2[1];
16996 var40.x2[1] = _src.x2[0];
17002 var41.i = _src.x2[1];
17003 var42.i = _src.x2[0];
17006 var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
17007 var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
17011 _src.i = var40.x2[0];
17012 var44.x2[0] = _src.x2[1];
17016 _src.i = var40.x2[1];
17017 var44.x2[1] = _src.x2[1];
17022 _dest.x2[0] = var44.x2[0];
17023 _dest.x2[1] = var43.x2[0];
17024 var38.x2[0] = _dest.i;
17028 _dest.x2[0] = var44.x2[1];
17029 _dest.x2[1] = var43.x2[1];
17030 var38.x2[1] = _dest.i;
17040 _backup_cogorc_putline_YUY2 (OrcExecutor * ORC_RESTRICT ex)
17044 orc_union32 *ORC_RESTRICT ptr0;
17045 const orc_union64 *ORC_RESTRICT ptr4;
17055 ptr0 = (orc_union32 *) ex->arrays[0];
17056 ptr4 = (orc_union64 *) ex->arrays[4];
17059 for (i = 0; i < n; i++) {
17065 _src.i = var37.x2[0];
17066 var39.x2[0] = _src.x2[1];
17067 var40.x2[0] = _src.x2[0];
17071 _src.i = var37.x2[1];
17072 var39.x2[1] = _src.x2[1];
17073 var40.x2[1] = _src.x2[0];
17079 var41.i = _src.x2[1];
17080 var42.i = _src.x2[0];
17083 var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
17084 var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
17088 _src.i = var40.x2[0];
17089 var44.x2[0] = _src.x2[1];
17093 _src.i = var40.x2[1];
17094 var44.x2[1] = _src.x2[1];
17099 _dest.x2[0] = var44.x2[0];
17100 _dest.x2[1] = var43.x2[0];
17101 var38.x2[0] = _dest.i;
17105 _dest.x2[0] = var44.x2[1];
17106 _dest.x2[1] = var43.x2[1];
17107 var38.x2[1] = _dest.i;
17116 cogorc_putline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
17119 OrcExecutor _ex, *ex = &_ex;
17120 static int p_inited = 0;
17121 static OrcProgram *p = 0;
17122 void (*func) (OrcExecutor *);
17125 orc_once_mutex_lock ();
17128 p = orc_program_new ();
17129 orc_program_set_name (p, "cogorc_putline_YUY2");
17130 orc_program_set_backup_function (p, _backup_cogorc_putline_YUY2);
17131 orc_program_add_destination (p, 4, "d1");
17132 orc_program_add_source (p, 8, "s1");
17133 orc_program_add_temporary (p, 2, "t1");
17134 orc_program_add_temporary (p, 2, "t2");
17135 orc_program_add_temporary (p, 2, "t3");
17136 orc_program_add_temporary (p, 4, "t4");
17137 orc_program_add_temporary (p, 4, "t5");
17139 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
17141 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
17143 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
17145 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
17146 ORC_VAR_D1, ORC_VAR_D1);
17147 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
17150 orc_program_compile (p);
17153 orc_once_mutex_unlock ();
17158 ex->arrays[ORC_VAR_D1] = d1;
17159 ex->arrays[ORC_VAR_S1] = (void *) s1;
17161 func = p->code_exec;
17167 /* cogorc_putline_YVYU */
17170 cogorc_putline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
17174 orc_union32 *ORC_RESTRICT ptr0;
17175 const orc_union64 *ORC_RESTRICT ptr4;
17186 ptr0 = (orc_union32 *) d1;
17187 ptr4 = (orc_union64 *) s1;
17190 for (i = 0; i < n; i++) {
17196 _src.i = var37.x2[0];
17197 var39.x2[0] = _src.x2[1];
17198 var40.x2[0] = _src.x2[0];
17202 _src.i = var37.x2[1];
17203 var39.x2[1] = _src.x2[1];
17204 var40.x2[1] = _src.x2[0];
17210 var41.i = _src.x2[1];
17211 var42.i = _src.x2[0];
17214 var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
17215 var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
17219 _src.i = var40.x2[0];
17220 var44.x2[0] = _src.x2[1];
17224 _src.i = var40.x2[1];
17225 var44.x2[1] = _src.x2[1];
17228 var45.i = ORC_SWAP_W (var43.i);
17232 _dest.x2[0] = var44.x2[0];
17233 _dest.x2[1] = var45.x2[0];
17234 var38.x2[0] = _dest.i;
17238 _dest.x2[0] = var44.x2[1];
17239 _dest.x2[1] = var45.x2[1];
17240 var38.x2[1] = _dest.i;
17250 _backup_cogorc_putline_YVYU (OrcExecutor * ORC_RESTRICT ex)
17254 orc_union32 *ORC_RESTRICT ptr0;
17255 const orc_union64 *ORC_RESTRICT ptr4;
17266 ptr0 = (orc_union32 *) ex->arrays[0];
17267 ptr4 = (orc_union64 *) ex->arrays[4];
17270 for (i = 0; i < n; i++) {
17276 _src.i = var37.x2[0];
17277 var39.x2[0] = _src.x2[1];
17278 var40.x2[0] = _src.x2[0];
17282 _src.i = var37.x2[1];
17283 var39.x2[1] = _src.x2[1];
17284 var40.x2[1] = _src.x2[0];
17290 var41.i = _src.x2[1];
17291 var42.i = _src.x2[0];
17294 var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
17295 var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
17299 _src.i = var40.x2[0];
17300 var44.x2[0] = _src.x2[1];
17304 _src.i = var40.x2[1];
17305 var44.x2[1] = _src.x2[1];
17308 var45.i = ORC_SWAP_W (var43.i);
17312 _dest.x2[0] = var44.x2[0];
17313 _dest.x2[1] = var45.x2[0];
17314 var38.x2[0] = _dest.i;
17318 _dest.x2[0] = var44.x2[1];
17319 _dest.x2[1] = var45.x2[1];
17320 var38.x2[1] = _dest.i;
17329 cogorc_putline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
17332 OrcExecutor _ex, *ex = &_ex;
17333 static int p_inited = 0;
17334 static OrcProgram *p = 0;
17335 void (*func) (OrcExecutor *);
17338 orc_once_mutex_lock ();
17341 p = orc_program_new ();
17342 orc_program_set_name (p, "cogorc_putline_YVYU");
17343 orc_program_set_backup_function (p, _backup_cogorc_putline_YVYU);
17344 orc_program_add_destination (p, 4, "d1");
17345 orc_program_add_source (p, 8, "s1");
17346 orc_program_add_temporary (p, 2, "t1");
17347 orc_program_add_temporary (p, 2, "t2");
17348 orc_program_add_temporary (p, 2, "t3");
17349 orc_program_add_temporary (p, 4, "t4");
17350 orc_program_add_temporary (p, 4, "t5");
17352 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
17354 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
17356 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
17358 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
17359 ORC_VAR_D1, ORC_VAR_D1);
17360 orc_program_append_2 (p, "swapw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_D1,
17362 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
17365 orc_program_compile (p);
17368 orc_once_mutex_unlock ();
17373 ex->arrays[ORC_VAR_D1] = d1;
17374 ex->arrays[ORC_VAR_S1] = (void *) s1;
17376 func = p->code_exec;
17382 /* cogorc_putline_UYVY */
17385 cogorc_putline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
17389 orc_union32 *ORC_RESTRICT ptr0;
17390 const orc_union64 *ORC_RESTRICT ptr4;
17400 ptr0 = (orc_union32 *) d1;
17401 ptr4 = (orc_union64 *) s1;
17404 for (i = 0; i < n; i++) {
17410 _src.i = var37.x2[0];
17411 var39.x2[0] = _src.x2[1];
17412 var40.x2[0] = _src.x2[0];
17416 _src.i = var37.x2[1];
17417 var39.x2[1] = _src.x2[1];
17418 var40.x2[1] = _src.x2[0];
17424 var41.i = _src.x2[1];
17425 var42.i = _src.x2[0];
17428 var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
17429 var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
17433 _src.i = var40.x2[0];
17434 var44.x2[0] = _src.x2[1];
17438 _src.i = var40.x2[1];
17439 var44.x2[1] = _src.x2[1];
17444 _dest.x2[0] = var43.x2[0];
17445 _dest.x2[1] = var44.x2[0];
17446 var38.x2[0] = _dest.i;
17450 _dest.x2[0] = var43.x2[1];
17451 _dest.x2[1] = var44.x2[1];
17452 var38.x2[1] = _dest.i;
17462 _backup_cogorc_putline_UYVY (OrcExecutor * ORC_RESTRICT ex)
17466 orc_union32 *ORC_RESTRICT ptr0;
17467 const orc_union64 *ORC_RESTRICT ptr4;
17477 ptr0 = (orc_union32 *) ex->arrays[0];
17478 ptr4 = (orc_union64 *) ex->arrays[4];
17481 for (i = 0; i < n; i++) {
17487 _src.i = var37.x2[0];
17488 var39.x2[0] = _src.x2[1];
17489 var40.x2[0] = _src.x2[0];
17493 _src.i = var37.x2[1];
17494 var39.x2[1] = _src.x2[1];
17495 var40.x2[1] = _src.x2[0];
17501 var41.i = _src.x2[1];
17502 var42.i = _src.x2[0];
17505 var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
17506 var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
17510 _src.i = var40.x2[0];
17511 var44.x2[0] = _src.x2[1];
17515 _src.i = var40.x2[1];
17516 var44.x2[1] = _src.x2[1];
17521 _dest.x2[0] = var43.x2[0];
17522 _dest.x2[1] = var44.x2[0];
17523 var38.x2[0] = _dest.i;
17527 _dest.x2[0] = var43.x2[1];
17528 _dest.x2[1] = var44.x2[1];
17529 var38.x2[1] = _dest.i;
17538 cogorc_putline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
17541 OrcExecutor _ex, *ex = &_ex;
17542 static int p_inited = 0;
17543 static OrcProgram *p = 0;
17544 void (*func) (OrcExecutor *);
17547 orc_once_mutex_lock ();
17550 p = orc_program_new ();
17551 orc_program_set_name (p, "cogorc_putline_UYVY");
17552 orc_program_set_backup_function (p, _backup_cogorc_putline_UYVY);
17553 orc_program_add_destination (p, 4, "d1");
17554 orc_program_add_source (p, 8, "s1");
17555 orc_program_add_temporary (p, 2, "t1");
17556 orc_program_add_temporary (p, 2, "t2");
17557 orc_program_add_temporary (p, 2, "t3");
17558 orc_program_add_temporary (p, 4, "t4");
17559 orc_program_add_temporary (p, 4, "t5");
17561 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
17563 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
17565 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
17567 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
17568 ORC_VAR_D1, ORC_VAR_D1);
17569 orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
17572 orc_program_compile (p);
17575 orc_once_mutex_unlock ();
17580 ex->arrays[ORC_VAR_D1] = d1;
17581 ex->arrays[ORC_VAR_S1] = (void *) s1;
17583 func = p->code_exec;
17589 /* cogorc_putline_Y42B */
17592 cogorc_putline_Y42B (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
17593 guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
17596 orc_union16 *ORC_RESTRICT ptr0;
17597 orc_int8 *ORC_RESTRICT ptr1;
17598 orc_int8 *ORC_RESTRICT ptr2;
17599 const orc_union64 *ORC_RESTRICT ptr4;
17610 ptr0 = (orc_union16 *) d1;
17611 ptr1 = (orc_int8 *) d2;
17612 ptr2 = (orc_int8 *) d3;
17613 ptr4 = (orc_union64 *) s1;
17616 for (i = 0; i < n; i++) {
17622 _src.i = var36.x2[0];
17623 var40.x2[0] = _src.x2[1];
17624 var41.x2[0] = _src.x2[0];
17628 _src.i = var36.x2[1];
17629 var40.x2[1] = _src.x2[1];
17630 var41.x2[1] = _src.x2[0];
17636 var42.i = _src.x2[1];
17637 var43.i = _src.x2[0];
17640 var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
17641 var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
17646 var37 = _src.x2[1];
17647 var38 = _src.x2[0];
17656 _src.i = var41.x2[0];
17657 var39.x2[0] = _src.x2[1];
17661 _src.i = var41.x2[1];
17662 var39.x2[1] = _src.x2[1];
17672 _backup_cogorc_putline_Y42B (OrcExecutor * ORC_RESTRICT ex)
17676 orc_union16 *ORC_RESTRICT ptr0;
17677 orc_int8 *ORC_RESTRICT ptr1;
17678 orc_int8 *ORC_RESTRICT ptr2;
17679 const orc_union64 *ORC_RESTRICT ptr4;
17690 ptr0 = (orc_union16 *) ex->arrays[0];
17691 ptr1 = (orc_int8 *) ex->arrays[1];
17692 ptr2 = (orc_int8 *) ex->arrays[2];
17693 ptr4 = (orc_union64 *) ex->arrays[4];
17696 for (i = 0; i < n; i++) {
17702 _src.i = var36.x2[0];
17703 var40.x2[0] = _src.x2[1];
17704 var41.x2[0] = _src.x2[0];
17708 _src.i = var36.x2[1];
17709 var40.x2[1] = _src.x2[1];
17710 var41.x2[1] = _src.x2[0];
17716 var42.i = _src.x2[1];
17717 var43.i = _src.x2[0];
17720 var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
17721 var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
17726 var37 = _src.x2[1];
17727 var38 = _src.x2[0];
17736 _src.i = var41.x2[0];
17737 var39.x2[0] = _src.x2[1];
17741 _src.i = var41.x2[1];
17742 var39.x2[1] = _src.x2[1];
17751 cogorc_putline_Y42B (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
17752 guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
17754 OrcExecutor _ex, *ex = &_ex;
17755 static int p_inited = 0;
17756 static OrcProgram *p = 0;
17757 void (*func) (OrcExecutor *);
17760 orc_once_mutex_lock ();
17763 p = orc_program_new ();
17764 orc_program_set_name (p, "cogorc_putline_Y42B");
17765 orc_program_set_backup_function (p, _backup_cogorc_putline_Y42B);
17766 orc_program_add_destination (p, 2, "d1");
17767 orc_program_add_destination (p, 1, "d2");
17768 orc_program_add_destination (p, 1, "d3");
17769 orc_program_add_source (p, 8, "s1");
17770 orc_program_add_temporary (p, 4, "t1");
17771 orc_program_add_temporary (p, 4, "t2");
17772 orc_program_add_temporary (p, 2, "t3");
17773 orc_program_add_temporary (p, 2, "t4");
17775 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
17777 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
17779 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
17781 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T3,
17783 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
17784 ORC_VAR_D1, ORC_VAR_D1);
17786 orc_program_compile (p);
17789 orc_once_mutex_unlock ();
17794 ex->arrays[ORC_VAR_D1] = d1;
17795 ex->arrays[ORC_VAR_D2] = d2;
17796 ex->arrays[ORC_VAR_D3] = d3;
17797 ex->arrays[ORC_VAR_S1] = (void *) s1;
17799 func = p->code_exec;
17805 /* cogorc_putline_Y444 */
17808 cogorc_putline_Y444 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
17809 guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
17812 orc_int8 *ORC_RESTRICT ptr0;
17813 orc_int8 *ORC_RESTRICT ptr1;
17814 orc_int8 *ORC_RESTRICT ptr2;
17815 const orc_union32 *ORC_RESTRICT ptr4;
17823 ptr0 = (orc_int8 *) d1;
17824 ptr1 = (orc_int8 *) d2;
17825 ptr2 = (orc_int8 *) d3;
17826 ptr4 = (orc_union32 *) s1;
17829 for (i = 0; i < n; i++) {
17836 var38.i = _src.x2[1];
17837 var39.i = _src.x2[0];
17843 var35 = _src.x2[1];
17844 var36 = _src.x2[0];
17854 var37 = _src.x2[1];
17864 _backup_cogorc_putline_Y444 (OrcExecutor * ORC_RESTRICT ex)
17868 orc_int8 *ORC_RESTRICT ptr0;
17869 orc_int8 *ORC_RESTRICT ptr1;
17870 orc_int8 *ORC_RESTRICT ptr2;
17871 const orc_union32 *ORC_RESTRICT ptr4;
17879 ptr0 = (orc_int8 *) ex->arrays[0];
17880 ptr1 = (orc_int8 *) ex->arrays[1];
17881 ptr2 = (orc_int8 *) ex->arrays[2];
17882 ptr4 = (orc_union32 *) ex->arrays[4];
17885 for (i = 0; i < n; i++) {
17892 var38.i = _src.x2[1];
17893 var39.i = _src.x2[0];
17899 var35 = _src.x2[1];
17900 var36 = _src.x2[0];
17910 var37 = _src.x2[1];
17919 cogorc_putline_Y444 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
17920 guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
17922 OrcExecutor _ex, *ex = &_ex;
17923 static int p_inited = 0;
17924 static OrcProgram *p = 0;
17925 void (*func) (OrcExecutor *);
17928 orc_once_mutex_lock ();
17931 p = orc_program_new ();
17932 orc_program_set_name (p, "cogorc_putline_Y444");
17933 orc_program_set_backup_function (p, _backup_cogorc_putline_Y444);
17934 orc_program_add_destination (p, 1, "d1");
17935 orc_program_add_destination (p, 1, "d2");
17936 orc_program_add_destination (p, 1, "d3");
17937 orc_program_add_source (p, 4, "s1");
17938 orc_program_add_temporary (p, 2, "t1");
17939 orc_program_add_temporary (p, 2, "t2");
17941 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
17943 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T2,
17945 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
17946 ORC_VAR_D1, ORC_VAR_D1);
17948 orc_program_compile (p);
17951 orc_once_mutex_unlock ();
17956 ex->arrays[ORC_VAR_D1] = d1;
17957 ex->arrays[ORC_VAR_D2] = d2;
17958 ex->arrays[ORC_VAR_D3] = d3;
17959 ex->arrays[ORC_VAR_S1] = (void *) s1;
17961 func = p->code_exec;
17967 /* cogorc_putline_Y800 */
17970 cogorc_putline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
17974 orc_int8 *ORC_RESTRICT ptr0;
17975 const orc_union32 *ORC_RESTRICT ptr4;
17980 ptr0 = (orc_int8 *) d1;
17981 ptr4 = (orc_union32 *) s1;
17984 for (i = 0; i < n; i++) {
17991 var35.i = _src.x2[0];
17997 var34 = _src.x2[1];
18007 _backup_cogorc_putline_Y800 (OrcExecutor * ORC_RESTRICT ex)
18011 orc_int8 *ORC_RESTRICT ptr0;
18012 const orc_union32 *ORC_RESTRICT ptr4;
18017 ptr0 = (orc_int8 *) ex->arrays[0];
18018 ptr4 = (orc_union32 *) ex->arrays[4];
18021 for (i = 0; i < n; i++) {
18028 var35.i = _src.x2[0];
18034 var34 = _src.x2[1];
18043 cogorc_putline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
18046 OrcExecutor _ex, *ex = &_ex;
18047 static int p_inited = 0;
18048 static OrcProgram *p = 0;
18049 void (*func) (OrcExecutor *);
18052 orc_once_mutex_lock ();
18055 p = orc_program_new ();
18056 orc_program_set_name (p, "cogorc_putline_Y800");
18057 orc_program_set_backup_function (p, _backup_cogorc_putline_Y800);
18058 orc_program_add_destination (p, 1, "d1");
18059 orc_program_add_source (p, 4, "s1");
18060 orc_program_add_temporary (p, 2, "t1");
18062 orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
18063 ORC_VAR_D1, ORC_VAR_D1);
18064 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
18065 ORC_VAR_D1, ORC_VAR_D1);
18067 orc_program_compile (p);
18070 orc_once_mutex_unlock ();
18075 ex->arrays[ORC_VAR_D1] = d1;
18076 ex->arrays[ORC_VAR_S1] = (void *) s1;
18078 func = p->code_exec;
18084 /* cogorc_putline_Y16 */
18087 cogorc_putline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
18091 orc_union16 *ORC_RESTRICT ptr0;
18092 const orc_union32 *ORC_RESTRICT ptr4;
18099 ptr0 = (orc_union16 *) d1;
18100 ptr4 = (orc_union32 *) s1;
18103 for (i = 0; i < n; i++) {
18110 var36.i = _src.x2[0];
18116 var37 = _src.x2[1];
18119 var38.i = (orc_uint8) var37;
18121 var35.i = var38.i << 8;
18130 _backup_cogorc_putline_Y16 (OrcExecutor * ORC_RESTRICT ex)
18134 orc_union16 *ORC_RESTRICT ptr0;
18135 const orc_union32 *ORC_RESTRICT ptr4;
18142 ptr0 = (orc_union16 *) ex->arrays[0];
18143 ptr4 = (orc_union32 *) ex->arrays[4];
18146 for (i = 0; i < n; i++) {
18153 var36.i = _src.x2[0];
18159 var37 = _src.x2[1];
18162 var38.i = (orc_uint8) var37;
18164 var35.i = var38.i << 8;
18172 cogorc_putline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
18175 OrcExecutor _ex, *ex = &_ex;
18176 static int p_inited = 0;
18177 static OrcProgram *p = 0;
18178 void (*func) (OrcExecutor *);
18181 orc_once_mutex_lock ();
18184 p = orc_program_new ();
18185 orc_program_set_name (p, "cogorc_putline_Y16");
18186 orc_program_set_backup_function (p, _backup_cogorc_putline_Y16);
18187 orc_program_add_destination (p, 2, "d1");
18188 orc_program_add_source (p, 4, "s1");
18189 orc_program_add_constant (p, 4, 0x00000008, "c1");
18190 orc_program_add_temporary (p, 2, "t1");
18191 orc_program_add_temporary (p, 1, "t2");
18193 orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
18194 ORC_VAR_D1, ORC_VAR_D1);
18195 orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T2, ORC_VAR_T1,
18196 ORC_VAR_D1, ORC_VAR_D1);
18197 orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_D1,
18199 orc_program_append_2 (p, "shlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
18202 orc_program_compile (p);
18205 orc_once_mutex_unlock ();
18210 ex->arrays[ORC_VAR_D1] = d1;
18211 ex->arrays[ORC_VAR_S1] = (void *) s1;
18213 func = p->code_exec;
18219 /* cogorc_putline_BGRA */
18222 cogorc_putline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
18226 orc_union32 *ORC_RESTRICT ptr0;
18227 const orc_union32 *ORC_RESTRICT ptr4;
18231 ptr0 = (orc_union32 *) d1;
18232 ptr4 = (orc_union32 *) s1;
18235 for (i = 0; i < n; i++) {
18239 var33.i = ORC_SWAP_L (var32.i);
18248 _backup_cogorc_putline_BGRA (OrcExecutor * ORC_RESTRICT ex)
18252 orc_union32 *ORC_RESTRICT ptr0;
18253 const orc_union32 *ORC_RESTRICT ptr4;
18257 ptr0 = (orc_union32 *) ex->arrays[0];
18258 ptr4 = (orc_union32 *) ex->arrays[4];
18261 for (i = 0; i < n; i++) {
18265 var33.i = ORC_SWAP_L (var32.i);
18273 cogorc_putline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
18276 OrcExecutor _ex, *ex = &_ex;
18277 static int p_inited = 0;
18278 static OrcProgram *p = 0;
18279 void (*func) (OrcExecutor *);
18282 orc_once_mutex_lock ();
18285 p = orc_program_new ();
18286 orc_program_set_name (p, "cogorc_putline_BGRA");
18287 orc_program_set_backup_function (p, _backup_cogorc_putline_BGRA);
18288 orc_program_add_destination (p, 4, "d1");
18289 orc_program_add_source (p, 4, "s1");
18291 orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
18294 orc_program_compile (p);
18297 orc_once_mutex_unlock ();
18302 ex->arrays[ORC_VAR_D1] = d1;
18303 ex->arrays[ORC_VAR_S1] = (void *) s1;
18305 func = p->code_exec;
18311 /* cogorc_putline_ABGR */
18314 cogorc_putline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
18318 orc_union32 *ORC_RESTRICT ptr0;
18319 const orc_union32 *ORC_RESTRICT ptr4;
18331 ptr0 = (orc_union32 *) d1;
18332 ptr4 = (orc_union32 *) s1;
18335 for (i = 0; i < n; i++) {
18342 var42.i = _src.x2[1];
18343 var43.i = _src.x2[0];
18349 var44 = _src.x2[1];
18350 var45 = _src.x2[0];
18356 var46 = _src.x2[1];
18357 var47 = _src.x2[0];
18362 _dest.x2[0] = var47;
18363 _dest.x2[1] = var44;
18369 _dest.x2[0] = var45;
18370 _dest.x2[1] = var46;
18376 _dest.x2[0] = var48.i;
18377 _dest.x2[1] = var49.i;
18388 _backup_cogorc_putline_ABGR (OrcExecutor * ORC_RESTRICT ex)
18392 orc_union32 *ORC_RESTRICT ptr0;
18393 const orc_union32 *ORC_RESTRICT ptr4;
18405 ptr0 = (orc_union32 *) ex->arrays[0];
18406 ptr4 = (orc_union32 *) ex->arrays[4];
18409 for (i = 0; i < n; i++) {
18416 var42.i = _src.x2[1];
18417 var43.i = _src.x2[0];
18423 var44 = _src.x2[1];
18424 var45 = _src.x2[0];
18430 var46 = _src.x2[1];
18431 var47 = _src.x2[0];
18436 _dest.x2[0] = var47;
18437 _dest.x2[1] = var44;
18443 _dest.x2[0] = var45;
18444 _dest.x2[1] = var46;
18450 _dest.x2[0] = var48.i;
18451 _dest.x2[1] = var49.i;
18461 cogorc_putline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
18464 OrcExecutor _ex, *ex = &_ex;
18465 static int p_inited = 0;
18466 static OrcProgram *p = 0;
18467 void (*func) (OrcExecutor *);
18470 orc_once_mutex_lock ();
18473 p = orc_program_new ();
18474 orc_program_set_name (p, "cogorc_putline_ABGR");
18475 orc_program_set_backup_function (p, _backup_cogorc_putline_ABGR);
18476 orc_program_add_destination (p, 4, "d1");
18477 orc_program_add_source (p, 4, "s1");
18478 orc_program_add_temporary (p, 1, "t1");
18479 orc_program_add_temporary (p, 1, "t2");
18480 orc_program_add_temporary (p, 1, "t3");
18481 orc_program_add_temporary (p, 1, "t4");
18482 orc_program_add_temporary (p, 2, "t5");
18483 orc_program_add_temporary (p, 2, "t6");
18484 orc_program_add_temporary (p, 2, "t7");
18485 orc_program_add_temporary (p, 2, "t8");
18487 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_S1,
18489 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T8,
18491 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T7,
18493 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T6, ORC_VAR_T1, ORC_VAR_T4,
18495 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_T2,
18497 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T6, ORC_VAR_T5,
18500 orc_program_compile (p);
18503 orc_once_mutex_unlock ();
18508 ex->arrays[ORC_VAR_D1] = d1;
18509 ex->arrays[ORC_VAR_S1] = (void *) s1;
18511 func = p->code_exec;
18517 /* cogorc_putline_RGBA */
18520 cogorc_putline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
18524 orc_union32 *ORC_RESTRICT ptr0;
18525 const orc_union32 *ORC_RESTRICT ptr4;
18537 ptr0 = (orc_union32 *) d1;
18538 ptr4 = (orc_union32 *) s1;
18541 for (i = 0; i < n; i++) {
18548 var42.i = _src.x2[1];
18549 var43.i = _src.x2[0];
18555 var44 = _src.x2[1];
18556 var45 = _src.x2[0];
18562 var46 = _src.x2[1];
18563 var47 = _src.x2[0];
18568 _dest.x2[0] = var44;
18569 _dest.x2[1] = var47;
18575 _dest.x2[0] = var46;
18576 _dest.x2[1] = var45;
18582 _dest.x2[0] = var49.i;
18583 _dest.x2[1] = var48.i;
18594 _backup_cogorc_putline_RGBA (OrcExecutor * ORC_RESTRICT ex)
18598 orc_union32 *ORC_RESTRICT ptr0;
18599 const orc_union32 *ORC_RESTRICT ptr4;
18611 ptr0 = (orc_union32 *) ex->arrays[0];
18612 ptr4 = (orc_union32 *) ex->arrays[4];
18615 for (i = 0; i < n; i++) {
18622 var42.i = _src.x2[1];
18623 var43.i = _src.x2[0];
18629 var44 = _src.x2[1];
18630 var45 = _src.x2[0];
18636 var46 = _src.x2[1];
18637 var47 = _src.x2[0];
18642 _dest.x2[0] = var44;
18643 _dest.x2[1] = var47;
18649 _dest.x2[0] = var46;
18650 _dest.x2[1] = var45;
18656 _dest.x2[0] = var49.i;
18657 _dest.x2[1] = var48.i;
18667 cogorc_putline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
18670 OrcExecutor _ex, *ex = &_ex;
18671 static int p_inited = 0;
18672 static OrcProgram *p = 0;
18673 void (*func) (OrcExecutor *);
18676 orc_once_mutex_lock ();
18679 p = orc_program_new ();
18680 orc_program_set_name (p, "cogorc_putline_RGBA");
18681 orc_program_set_backup_function (p, _backup_cogorc_putline_RGBA);
18682 orc_program_add_destination (p, 4, "d1");
18683 orc_program_add_source (p, 4, "s1");
18684 orc_program_add_temporary (p, 1, "t1");
18685 orc_program_add_temporary (p, 1, "t2");
18686 orc_program_add_temporary (p, 1, "t3");
18687 orc_program_add_temporary (p, 1, "t4");
18688 orc_program_add_temporary (p, 2, "t5");
18689 orc_program_add_temporary (p, 2, "t6");
18690 orc_program_add_temporary (p, 2, "t7");
18691 orc_program_add_temporary (p, 2, "t8");
18693 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_S1,
18695 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T8,
18697 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T7,
18699 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T6, ORC_VAR_T4, ORC_VAR_T1,
18701 orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_T3,
18703 orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T5, ORC_VAR_T6,
18706 orc_program_compile (p);
18709 orc_once_mutex_unlock ();
18714 ex->arrays[ORC_VAR_D1] = d1;
18715 ex->arrays[ORC_VAR_S1] = (void *) s1;
18717 func = p->code_exec;
18723 /* cogorc_putline_NV12 */
18726 cogorc_putline_NV12 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
18727 const guint8 * ORC_RESTRICT s1, int n)
18730 orc_union16 *ORC_RESTRICT ptr0;
18731 orc_union16 *ORC_RESTRICT ptr1;
18732 const orc_union64 *ORC_RESTRICT ptr4;
18741 ptr0 = (orc_union16 *) d1;
18742 ptr1 = (orc_union16 *) d2;
18743 ptr4 = (orc_union64 *) s1;
18746 for (i = 0; i < n; i++) {
18752 _src.i = var36.x2[0];
18753 var39.x2[0] = _src.x2[1];
18754 var40.x2[0] = _src.x2[0];
18758 _src.i = var36.x2[1];
18759 var39.x2[1] = _src.x2[1];
18760 var40.x2[1] = _src.x2[0];
18765 _src.i = var40.x2[0];
18766 var37.x2[0] = _src.x2[1];
18770 _src.i = var40.x2[1];
18771 var37.x2[1] = _src.x2[1];
18779 var41.i = _src.x2[1];
18780 var42.i = _src.x2[0];
18783 var38.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
18784 var38.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
18793 _backup_cogorc_putline_NV12 (OrcExecutor * ORC_RESTRICT ex)
18797 orc_union16 *ORC_RESTRICT ptr0;
18798 orc_union16 *ORC_RESTRICT ptr1;
18799 const orc_union64 *ORC_RESTRICT ptr4;
18808 ptr0 = (orc_union16 *) ex->arrays[0];
18809 ptr1 = (orc_union16 *) ex->arrays[1];
18810 ptr4 = (orc_union64 *) ex->arrays[4];
18813 for (i = 0; i < n; i++) {
18819 _src.i = var36.x2[0];
18820 var39.x2[0] = _src.x2[1];
18821 var40.x2[0] = _src.x2[0];
18825 _src.i = var36.x2[1];
18826 var39.x2[1] = _src.x2[1];
18827 var40.x2[1] = _src.x2[0];
18832 _src.i = var40.x2[0];
18833 var37.x2[0] = _src.x2[1];
18837 _src.i = var40.x2[1];
18838 var37.x2[1] = _src.x2[1];
18846 var41.i = _src.x2[1];
18847 var42.i = _src.x2[0];
18850 var38.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
18851 var38.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
18859 cogorc_putline_NV12 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
18860 const guint8 * ORC_RESTRICT s1, int n)
18862 OrcExecutor _ex, *ex = &_ex;
18863 static int p_inited = 0;
18864 static OrcProgram *p = 0;
18865 void (*func) (OrcExecutor *);
18868 orc_once_mutex_lock ();
18871 p = orc_program_new ();
18872 orc_program_set_name (p, "cogorc_putline_NV12");
18873 orc_program_set_backup_function (p, _backup_cogorc_putline_NV12);
18874 orc_program_add_destination (p, 2, "d1");
18875 orc_program_add_destination (p, 2, "d2");
18876 orc_program_add_source (p, 8, "s1");
18877 orc_program_add_temporary (p, 4, "t1");
18878 orc_program_add_temporary (p, 4, "t2");
18879 orc_program_add_temporary (p, 2, "t3");
18880 orc_program_add_temporary (p, 2, "t4");
18882 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
18884 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
18885 ORC_VAR_D1, ORC_VAR_D1);
18886 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
18888 orc_program_append_2 (p, "avgub", 1, ORC_VAR_D2, ORC_VAR_T3, ORC_VAR_T4,
18891 orc_program_compile (p);
18894 orc_once_mutex_unlock ();
18899 ex->arrays[ORC_VAR_D1] = d1;
18900 ex->arrays[ORC_VAR_D2] = d2;
18901 ex->arrays[ORC_VAR_S1] = (void *) s1;
18903 func = p->code_exec;
18909 /* cogorc_putline_NV21 */
18912 cogorc_putline_NV21 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
18913 const guint8 * ORC_RESTRICT s1, int n)
18916 orc_union16 *ORC_RESTRICT ptr0;
18917 orc_union16 *ORC_RESTRICT ptr1;
18918 const orc_union64 *ORC_RESTRICT ptr4;
18928 ptr0 = (orc_union16 *) d1;
18929 ptr1 = (orc_union16 *) d2;
18930 ptr4 = (orc_union64 *) s1;
18933 for (i = 0; i < n; i++) {
18939 _src.i = var37.x2[0];
18940 var40.x2[0] = _src.x2[1];
18941 var41.x2[0] = _src.x2[0];
18945 _src.i = var37.x2[1];
18946 var40.x2[1] = _src.x2[1];
18947 var41.x2[1] = _src.x2[0];
18952 _src.i = var41.x2[0];
18953 var38.x2[0] = _src.x2[1];
18957 _src.i = var41.x2[1];
18958 var38.x2[1] = _src.x2[1];
18966 var42.i = _src.x2[1];
18967 var43.i = _src.x2[0];
18970 var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
18971 var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
18973 var39.i = ORC_SWAP_W (var44.i);
18982 _backup_cogorc_putline_NV21 (OrcExecutor * ORC_RESTRICT ex)
18986 orc_union16 *ORC_RESTRICT ptr0;
18987 orc_union16 *ORC_RESTRICT ptr1;
18988 const orc_union64 *ORC_RESTRICT ptr4;
18998 ptr0 = (orc_union16 *) ex->arrays[0];
18999 ptr1 = (orc_union16 *) ex->arrays[1];
19000 ptr4 = (orc_union64 *) ex->arrays[4];
19003 for (i = 0; i < n; i++) {
19009 _src.i = var37.x2[0];
19010 var40.x2[0] = _src.x2[1];
19011 var41.x2[0] = _src.x2[0];
19015 _src.i = var37.x2[1];
19016 var40.x2[1] = _src.x2[1];
19017 var41.x2[1] = _src.x2[0];
19022 _src.i = var41.x2[0];
19023 var38.x2[0] = _src.x2[1];
19027 _src.i = var41.x2[1];
19028 var38.x2[1] = _src.x2[1];
19036 var42.i = _src.x2[1];
19037 var43.i = _src.x2[0];
19040 var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
19041 var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
19043 var39.i = ORC_SWAP_W (var44.i);
19051 cogorc_putline_NV21 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
19052 const guint8 * ORC_RESTRICT s1, int n)
19054 OrcExecutor _ex, *ex = &_ex;
19055 static int p_inited = 0;
19056 static OrcProgram *p = 0;
19057 void (*func) (OrcExecutor *);
19060 orc_once_mutex_lock ();
19063 p = orc_program_new ();
19064 orc_program_set_name (p, "cogorc_putline_NV21");
19065 orc_program_set_backup_function (p, _backup_cogorc_putline_NV21);
19066 orc_program_add_destination (p, 2, "d1");
19067 orc_program_add_destination (p, 2, "d2");
19068 orc_program_add_source (p, 8, "s1");
19069 orc_program_add_temporary (p, 4, "t1");
19070 orc_program_add_temporary (p, 4, "t2");
19071 orc_program_add_temporary (p, 2, "t3");
19072 orc_program_add_temporary (p, 2, "t4");
19073 orc_program_add_temporary (p, 2, "t5");
19075 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
19077 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
19078 ORC_VAR_D1, ORC_VAR_D1);
19079 orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
19081 orc_program_append_2 (p, "avgub", 1, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_T4,
19083 orc_program_append_2 (p, "swapw", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_D1,
19086 orc_program_compile (p);
19089 orc_once_mutex_unlock ();
19094 ex->arrays[ORC_VAR_D1] = d1;
19095 ex->arrays[ORC_VAR_D2] = d2;
19096 ex->arrays[ORC_VAR_S1] = (void *) s1;
19098 func = p->code_exec;
19104 /* cogorc_putline_A420 */
19107 cogorc_putline_A420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
19108 guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
19109 const guint8 * ORC_RESTRICT s1, int n)
19112 orc_union16 *ORC_RESTRICT ptr0;
19113 orc_int8 *ORC_RESTRICT ptr1;
19114 orc_int8 *ORC_RESTRICT ptr2;
19115 orc_union16 *ORC_RESTRICT ptr3;
19116 const orc_union64 *ORC_RESTRICT ptr4;
19131 ptr0 = (orc_union16 *) d1;
19132 ptr1 = (orc_int8 *) d2;
19133 ptr2 = (orc_int8 *) d3;
19134 ptr3 = (orc_union16 *) d4;
19135 ptr4 = (orc_union64 *) s1;
19138 for (i = 0; i < n; i++) {
19144 _src.i = var38.x2[0];
19145 var43.x2[0] = _src.x2[1];
19146 var44.x2[0] = _src.x2[0];
19150 _src.i = var38.x2[1];
19151 var43.x2[1] = _src.x2[1];
19152 var44.x2[1] = _src.x2[0];
19157 _src.i = var44.x2[0];
19158 var39.x2[0] = _src.x2[1];
19162 _src.i = var44.x2[1];
19163 var39.x2[1] = _src.x2[1];
19170 _src.i = var44.x2[0];
19171 var40.x2[0] = _src.x2[0];
19175 _src.i = var44.x2[1];
19176 var40.x2[1] = _src.x2[0];
19183 _src.i = var43.x2[0];
19184 var45.x2[0] = _src.x2[1];
19185 var46.x2[0] = _src.x2[0];
19189 _src.i = var43.x2[1];
19190 var45.x2[1] = _src.x2[1];
19191 var46.x2[1] = _src.x2[0];
19197 var47 = _src.x2[1];
19198 var48 = _src.x2[0];
19201 var41 = ((orc_uint8) var47 + (orc_uint8) var48 + 1) >> 1;
19208 var49 = _src.x2[1];
19209 var50 = _src.x2[0];
19212 var42 = ((orc_uint8) var49 + (orc_uint8) var50 + 1) >> 1;
19221 _backup_cogorc_putline_A420 (OrcExecutor * ORC_RESTRICT ex)
19225 orc_union16 *ORC_RESTRICT ptr0;
19226 orc_int8 *ORC_RESTRICT ptr1;
19227 orc_int8 *ORC_RESTRICT ptr2;
19228 orc_union16 *ORC_RESTRICT ptr3;
19229 const orc_union64 *ORC_RESTRICT ptr4;
19244 ptr0 = (orc_union16 *) ex->arrays[0];
19245 ptr1 = (orc_int8 *) ex->arrays[1];
19246 ptr2 = (orc_int8 *) ex->arrays[2];
19247 ptr3 = (orc_union16 *) ex->arrays[3];
19248 ptr4 = (orc_union64 *) ex->arrays[4];
19251 for (i = 0; i < n; i++) {
19257 _src.i = var38.x2[0];
19258 var43.x2[0] = _src.x2[1];
19259 var44.x2[0] = _src.x2[0];
19263 _src.i = var38.x2[1];
19264 var43.x2[1] = _src.x2[1];
19265 var44.x2[1] = _src.x2[0];
19270 _src.i = var44.x2[0];
19271 var39.x2[0] = _src.x2[1];
19275 _src.i = var44.x2[1];
19276 var39.x2[1] = _src.x2[1];
19283 _src.i = var44.x2[0];
19284 var40.x2[0] = _src.x2[0];
19288 _src.i = var44.x2[1];
19289 var40.x2[1] = _src.x2[0];
19296 _src.i = var43.x2[0];
19297 var45.x2[0] = _src.x2[1];
19298 var46.x2[0] = _src.x2[0];
19302 _src.i = var43.x2[1];
19303 var45.x2[1] = _src.x2[1];
19304 var46.x2[1] = _src.x2[0];
19310 var47 = _src.x2[1];
19311 var48 = _src.x2[0];
19314 var41 = ((orc_uint8) var47 + (orc_uint8) var48 + 1) >> 1;
19321 var49 = _src.x2[1];
19322 var50 = _src.x2[0];
19325 var42 = ((orc_uint8) var49 + (orc_uint8) var50 + 1) >> 1;
19333 cogorc_putline_A420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
19334 guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
19335 const guint8 * ORC_RESTRICT s1, int n)
19337 OrcExecutor _ex, *ex = &_ex;
19338 static int p_inited = 0;
19339 static OrcProgram *p = 0;
19340 void (*func) (OrcExecutor *);
19343 orc_once_mutex_lock ();
19346 p = orc_program_new ();
19347 orc_program_set_name (p, "cogorc_putline_A420");
19348 orc_program_set_backup_function (p, _backup_cogorc_putline_A420);
19349 orc_program_add_destination (p, 2, "d1");
19350 orc_program_add_destination (p, 1, "d2");
19351 orc_program_add_destination (p, 1, "d3");
19352 orc_program_add_destination (p, 2, "d4");
19353 orc_program_add_source (p, 8, "s1");
19354 orc_program_add_temporary (p, 4, "t1");
19355 orc_program_add_temporary (p, 4, "t2");
19356 orc_program_add_temporary (p, 2, "t3");
19357 orc_program_add_temporary (p, 2, "t4");
19358 orc_program_add_temporary (p, 1, "t5");
19359 orc_program_add_temporary (p, 1, "t6");
19361 orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
19363 orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
19364 ORC_VAR_D1, ORC_VAR_D1);
19365 orc_program_append_2 (p, "select0wb", 1, ORC_VAR_D4, ORC_VAR_T1,
19366 ORC_VAR_D1, ORC_VAR_D1);
19367 orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
19369 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T3,
19371 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_T6,
19373 orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T4,
19375 orc_program_append_2 (p, "avgub", 0, ORC_VAR_D3, ORC_VAR_T5, ORC_VAR_T6,
19378 orc_program_compile (p);
19381 orc_once_mutex_unlock ();
19386 ex->arrays[ORC_VAR_D1] = d1;
19387 ex->arrays[ORC_VAR_D2] = d2;
19388 ex->arrays[ORC_VAR_D3] = d3;
19389 ex->arrays[ORC_VAR_D4] = d4;
19390 ex->arrays[ORC_VAR_S1] = (void *) s1;
19392 func = p->code_exec;