52 uchar16 rgb_0 = vload16(0, in.
ptr);
53 uchar16 rgb_1 = vload16(0, in.
ptr + 16);
54 uchar16 rgb_2 = vload16(0, in.
ptr + 32);
56 uchar16 rgba_0 = (uchar16)(rgb_0.s012, 255, rgb_0.s345, 255, rgb_0.s678, 255, rgb_0.s9ab, 255);
57 uchar16 rgba_1 = (uchar16)(rgb_0.scde, 255, rgb_0.f, rgb_1.s01, 255, rgb_1.s234, 255, rgb_1.s567, 255);
58 uchar16 rgba_2 = (uchar16)(rgb_1.s89a, 255, rgb_1.sbcd, 255, rgb_1.sef, rgb_2.s0, 255, rgb_2.s123, 255);
59 uchar16 rgba_3 = (uchar16)(rgb_2.s456, 255, rgb_2.s789, 255, rgb_2.sabc, 255, rgb_2.sdef, 255);
61 vstore16(rgba_0, 0, out.
ptr);
62 vstore16(rgba_1, 0, out.
ptr + 16);
63 vstore16(rgba_2, 0, out.
ptr + 32);
64 vstore16(rgba_3, 0, out.
ptr + 48);
92 uchar16 rgba_0 = vload16(0, in.
ptr);
93 uchar16 rgba_1 = vload16(0, in.
ptr + 16);
94 uchar16 rgba_2 = vload16(0, in.
ptr + 32);
95 uchar16 rgba_3 = vload16(0, in.
ptr + 48);
97 uchar16 rgb_0 = (uchar16)(rgba_0.s01245689, rgba_0.sacde, rgba_1.s0124);
98 uchar16 rgb_1 = (uchar16)(rgba_1.s5689acde, rgba_2.s01245689);
99 uchar16 rgb_2 = (uchar16)(rgba_2.sacde, rgba_3.s01245689, rgba_3.sacde);
101 vstore16(rgb_0, 0, out.
ptr);
102 vstore16(rgb_1, 0, out.
ptr + 16);
103 vstore16(rgb_2, 0, out.
ptr + 32);
132 uchar16 uyvy = vload16(0, in.
ptr);
134 uchar8 luma = (uchar8)(uyvy.s1, uyvy.s3, uyvy.s5, uyvy.s7, uyvy.s9, uyvy.sb, uyvy.sd, uyvy.sf);
135 char8 cb = (char8)(uyvy.s0, uyvy.s0, uyvy.s4, uyvy.s4, uyvy.s8, uyvy.s8, uyvy.sc, uyvy.sc) - (char8)(128);
136 char8 cr = (char8)(uyvy.s2, uyvy.s2, uyvy.s6, uyvy.s6, uyvy.sa, uyvy.sa, uyvy.se, uyvy.se) - (char8)(128);
138 float8 f_r = convert_float8(luma) + (float8)(0.0000f) * convert_float8(cb) + (float8)(1.5748f) * convert_float8(cr);
139 float8 f_g = convert_float8(luma) - (float8)(0.1873f) * convert_float8(cb) - (float8)(0.4681f) * convert_float8(cr);
140 float8 f_b = convert_float8(luma) + (float8)(1.8556f) * convert_float8(cb) + (float8)(0.0000f) * convert_float8(cr);
142 uchar8 r_0 = convert_uchar8_rtz(f_r);
143 uchar8 g_0 = convert_uchar8_rtz(f_g);
144 uchar8 b_0 = convert_uchar8_rtz(f_b);
146 uchar16 rgb_0 = (uchar16)(r_0.s0, g_0.s0, b_0.s0, r_0.s1, g_0.s1, b_0.s1, r_0.s2, g_0.s2, b_0.s2,
147 r_0.s3, g_0.s3, b_0.s3, r_0.s4, g_0.s4, b_0.s4, r_0.s5);
148 uchar8 rgb_1 = (uchar8)(g_0.s5, b_0.s5, r_0.s6, g_0.s6, b_0.s6, r_0.s7, g_0.s7, b_0.s7);
150 vstore16(rgb_0, 0, out.
ptr);
151 vstore8(rgb_1, 0, out.
ptr + 16);
180 uchar16 uyvy = vload16(0, in.
ptr);
182 uchar8 luma = (uchar8)(uyvy.s1, uyvy.s3, uyvy.s5, uyvy.s7, uyvy.s9, uyvy.sb, uyvy.sd, uyvy.sf);
183 char8 cb = (char8)(uyvy.s0, uyvy.s0, uyvy.s4, uyvy.s4, uyvy.s8, uyvy.s8, uyvy.sc, uyvy.sc) - (char8)(128);
184 char8 cr = (char8)(uyvy.s2, uyvy.s2, uyvy.s6, uyvy.s6, uyvy.sa, uyvy.sa, uyvy.se, uyvy.se) - (char8)(128);
186 float8 f_r = convert_float8(luma) + (float8)(0.0000f) * convert_float8(cb) + (float8)(1.5748f) * convert_float8(cr);
187 float8 f_g = convert_float8(luma) - (float8)(0.1873f) * convert_float8(cb) - (float8)(0.4681f) * convert_float8(cr);
188 float8 f_b = convert_float8(luma) + (float8)(1.8556f) * convert_float8(cb) + (float8)(0.0000f) * convert_float8(cr);
190 uchar8 r_0 = convert_uchar8_rtz(f_r);
191 uchar8 g_0 = convert_uchar8_rtz(f_g);
192 uchar8 b_0 = convert_uchar8_rtz(f_b);
194 uchar16 rgba_0 = (uchar16)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255,
195 r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
196 uchar16 rgba_1 = (uchar16)(r_0.s4, g_0.s4, b_0.s4, 255, r_0.s5, g_0.s5, b_0.s5, 255,
197 r_0.s6, g_0.s6, b_0.s6, 255, r_0.s7, g_0.s7, b_0.s7, 255);
199 vstore16(rgba_0, 0, out.
ptr);
200 vstore16(rgba_1, 0, out.
ptr + 16);
229 uchar16 uyvy = vload16(0, in.
ptr);
231 uchar8 luma = (uchar8)(uyvy.s0, uyvy.s2, uyvy.s4, uyvy.s6, uyvy.s8, uyvy.sa, uyvy.sc, uyvy.se);
232 char8 cb = (char8)(uyvy.s1, uyvy.s1, uyvy.s5, uyvy.s5, uyvy.s9, uyvy.s9, uyvy.sd, uyvy.sd) - (char8)(128);
233 char8 cr = (char8)(uyvy.s3, uyvy.s3, uyvy.s7, uyvy.s7, uyvy.sb, uyvy.sb, uyvy.sf, uyvy.sf) - (char8)(128);
235 float8 f_r = convert_float8(luma) + (float8)(0.0000f) * convert_float8(cb) + (float8)(1.5748f) * convert_float8(cr);
236 float8 f_g = convert_float8(luma) - (float8)(0.1873f) * convert_float8(cb) - (float8)(0.4681f) * convert_float8(cr);
237 float8 f_b = convert_float8(luma) + (float8)(1.8556f) * convert_float8(cb) + (float8)(0.0000f) * convert_float8(cr);
239 uchar8 r_0 = convert_uchar8_rtz(f_r);
240 uchar8 g_0 = convert_uchar8_rtz(f_g);
241 uchar8 b_0 = convert_uchar8_rtz(f_b);
243 uchar16 rgb_0 = (uchar16)(r_0.s0, g_0.s0, b_0.s0, r_0.s1, g_0.s1, b_0.s1, r_0.s2, g_0.s2, b_0.s2,
244 r_0.s3, g_0.s3, b_0.s3, r_0.s4, g_0.s4, b_0.s4, r_0.s5);
245 uchar8 rgb_1 = (uchar8)(g_0.s5, b_0.s5, r_0.s6, g_0.s6, b_0.s6, r_0.s7, g_0.s7, b_0.s7);
247 vstore16(rgb_0, 0, out.
ptr);
248 vstore8(rgb_1, 0, out.
ptr + 16);
277 uchar16 uyvy = vload16(0, in.
ptr);
279 uchar8 luma = (uchar8)(uyvy.s0, uyvy.s2, uyvy.s4, uyvy.s6, uyvy.s8, uyvy.sa, uyvy.sc, uyvy.se);
280 char8 cb = (char8)(uyvy.s1, uyvy.s1, uyvy.s5, uyvy.s5, uyvy.s9, uyvy.s9, uyvy.sd, uyvy.sd) - (char8)(128);
281 char8 cr = (char8)(uyvy.s3, uyvy.s3, uyvy.s7, uyvy.s7, uyvy.sb, uyvy.sb, uyvy.sf, uyvy.sf) - (char8)(128);
283 float8 f_r = convert_float8(luma) + (float8)(0.0000f) * convert_float8(cb) + (float8)(1.5748f) * convert_float8(cr);
284 float8 f_g = convert_float8(luma) - (float8)(0.1873f) * convert_float8(cb) - (float8)(0.4681f) * convert_float8(cr);
285 float8 f_b = convert_float8(luma) + (float8)(1.8556f) * convert_float8(cb) + (float8)(0.0000f) * convert_float8(cr);
287 uchar8 r_0 = convert_uchar8_rtz(f_r);
288 uchar8 g_0 = convert_uchar8_rtz(f_g);
289 uchar8 b_0 = convert_uchar8_rtz(f_b);
291 uchar16 rgba_0 = (uchar16)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255,
292 r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
293 uchar16 rgba_1 = (uchar16)(r_0.s4, g_0.s4, b_0.s4, 255, r_0.s5, g_0.s5, b_0.s5, 255,
294 r_0.s6, g_0.s6, b_0.s6, 255, r_0.s7, g_0.s7, b_0.s7, 255);
296 vstore16(rgba_0, 0, out.
ptr);
297 vstore16(rgba_1, 0, out.
ptr + 16);
336 uchar8 rgb_0 = vload8(0, in.
ptr);
337 uchar2 r_0 = (uchar2)(rgb_0.s0, rgb_0.s3);
338 uchar2 g_0 = (uchar2)(rgb_0.s1, rgb_0.s4);
339 uchar2 b_0 = (uchar2)(rgb_0.s2, rgb_0.s5);
341 float2 f_y = (float2)(0.0000f) + (float2)(0.2126f) * convert_float2(r_0) + (float2)(0.7152f) * convert_float2(g_0) + (float2)(0.0722f) * convert_float2(b_0);
342 float2 f_u = (float2)(0.0000f) - (float2)(0.1146f) * convert_float2(r_0) - (float2)(0.3854f) * convert_float2(g_0) + (float2)(0.5000f) * convert_float2(b_0);
343 float2 f_v = (float2)(0.0000f) + (float2)(0.5000f) * convert_float2(r_0) - (float2)(0.4542f) * convert_float2(g_0) - (float2)(0.0458f) * convert_float2(b_0);
345 short2 i_y = convert_short2_rtz(f_y);
346 short2 i_u = convert_short2_rtz(f_u) + (short2)(128);
347 short2 i_v = convert_short2_rtz(f_v) + (short2)(128);
349 uchar2 luma_0 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
350 vstore2(luma_0, 0, out_y.
ptr);
352 uchar2 cb_0 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
353 uchar2 cr_0 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
356 uchar8 rgb_1 = vload8(0, in.
ptr + input_stride_y);
357 uchar2 r_1 = (uchar2)(rgb_1.s0, rgb_1.s3);
358 uchar2 g_1 = (uchar2)(rgb_1.s1, rgb_1.s4);
359 uchar2 b_1 = (uchar2)(rgb_1.s2, rgb_1.s5);
361 f_y = (float2)(0.0000f) + (float2)(0.2126f) * convert_float2(r_1) + (float2)(0.7152f) * convert_float2(g_1) + (float2)(0.0722f) * convert_float2(b_1);
362 f_u = (float2)(0.0000f) - (float2)(0.1146f) * convert_float2(r_1) - (float2)(0.3854f) * convert_float2(g_1) + (float2)(0.5000f) * convert_float2(b_1);
363 f_v = (float2)(0.0000f) + (float2)(0.5000f) * convert_float2(r_1) - (float2)(0.4542f) * convert_float2(g_1) - (float2)(0.0458f) * convert_float2(b_1);
365 i_y = convert_short2_rtz(f_y);
366 i_u = convert_short2_rtz(f_u) + (short2)(128);
367 i_v = convert_short2_rtz(f_v) + (short2)(128);
369 uchar2 luma_1 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
370 vstore2(luma_1, 0, out_y.
ptr + luma_stride_y);
372 uchar2 cb_1 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
373 uchar2 cr_1 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
374 uchar2 cbcr = (uchar2)(((cb_0.s0 + cb_0.s1 + cb_1.s0 + cb_1.s1) / 4),
375 ((cr_0.s0 + cr_0.s1 + cr_1.s0 + cr_1.s1) / 4));
377 vstore2(cbcr, 0, out_uv.
ptr);
420 uchar4 luma_0 = vload4(0, in_luma.
ptr);
421 uchar4 luma_1 = vload4(0, in_luma.
ptr + luma_input_stride_y);
422 uchar4 cbcr = vload4(0, in_uv.
ptr);
423 char4 cb = (char4)(cbcr.s0, cbcr.s0, cbcr.s2, cbcr.s2) - (char4)(128);
424 char4 cr = (char4)(cbcr.s1, cbcr.s1, cbcr.s3, cbcr.s3) - (char4)(128);
426 float4 temp0 = (float4)(0.0000f) + (float4)(0.0000f) * convert_float4(cb) + (float4)(1.5748f) * convert_float4(cr);
427 float4 temp1 = (float4)(0.0000f) - (float4)(0.1873f) * convert_float4(cb) - (float4)(0.4681f) * convert_float4(cr);
428 float4 temp2 = (float4)(0.0000f) + (float4)(1.8556f) * convert_float4(cb) + (float4)(0.0000f) * convert_float4(cr);
430 float4 f_r = convert_float4(luma_0) + temp0;
431 float4 f_g = convert_float4(luma_0) + temp1;
432 float4 f_b = convert_float4(luma_0) + temp2;
434 uchar4 r_0 = convert_uchar4_rtz(f_r);
435 uchar4 g_0 = convert_uchar4_rtz(f_g);
436 uchar4 b_0 = convert_uchar4_rtz(f_b);
438 uchar8 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, r_0.s1, g_0.s1, b_0.s1, r_0.s2, g_0.s2);
439 uchar4 rgb_1 = (uchar4)(b_0.s2, r_0.s3, g_0.s3, b_0.s3);
440 vstore8(rgb_0, 0, out_rgb.
ptr);
441 vstore4(rgb_1, 0, out_rgb.
ptr + 8);
443 f_r = convert_float4(luma_1) + temp0;
444 f_g = convert_float4(luma_1) + temp1;
445 f_b = convert_float4(luma_1) + temp2;
447 r_0 = convert_uchar4_rtz(f_r);
448 g_0 = convert_uchar4_rtz(f_g);
449 b_0 = convert_uchar4_rtz(f_b);
451 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, r_0.s1, g_0.s1, b_0.s1, r_0.s2, g_0.s2);
452 rgb_1 = (uchar4)(b_0.s2, r_0.s3, g_0.s3, b_0.s3);
453 vstore8(rgb_0, 0, out_rgb.
ptr + rgb_output_stride_y);
454 vstore4(rgb_1, 0, out_rgb.
ptr + rgb_output_stride_y + 8);
501 uchar16 rgb_0 = vload16(0, in_rgb.
ptr);
502 uchar4 r_0 = (uchar4)(rgb_0.s0, rgb_0.s3, rgb_0.s6, rgb_0.s9);
503 uchar4 g_0 = (uchar4)(rgb_0.s1, rgb_0.s4, rgb_0.s7, rgb_0.sa);
504 uchar4 b_0 = (uchar4)(rgb_0.s2, rgb_0.s5, rgb_0.s8, rgb_0.sb);
506 float4 f_y = (float4)(0.0000f) + (float4)(0.2126f) * convert_float4(r_0) + (float4)(0.7152f) * convert_float4(g_0) + (float4)(0.0722f) * convert_float4(b_0);
507 float4 f_u = (float4)(0.0000f) - (float4)(0.1146f) * convert_float4(r_0) - (float4)(0.3854f) * convert_float4(g_0) + (float4)(0.5000f) * convert_float4(b_0);
508 float4 f_v = (float4)(0.0000f) + (float4)(0.5000f) * convert_float4(r_0) - (float4)(0.4542f) * convert_float4(g_0) - (float4)(0.0458f) * convert_float4(b_0);
510 short4 i_y = convert_short4_rtz(f_y);
511 short4 i_u = convert_short4_rtz(f_u) + (short4)(128);
512 short4 i_v = convert_short4_rtz(f_v) + (short4)(128);
514 uchar4 luma_0 = convert_uchar4(max((short4)(0), min(i_y, (short4)(255))));
515 vstore4(luma_0, 0, out_y.
ptr);
517 uchar4 cb_0 = convert_uchar4(max((short4)(0), min(i_u, (short4)(255))));
518 uchar4 cr_0 = convert_uchar4(max((short4)(0), min(i_v, (short4)(255))));
519 vstore4(cb_0, 0, out_u.
ptr);
520 vstore4(cr_0, 0, out_v.
ptr);
567 uchar8 rgb_0 = vload8(0, in_rgb.
ptr);
568 uchar2 r_0 = (uchar2)(rgb_0.s0, rgb_0.s3);
569 uchar2 g_0 = (uchar2)(rgb_0.s1, rgb_0.s4);
570 uchar2 b_0 = (uchar2)(rgb_0.s2, rgb_0.s5);
572 float2 f_y = (float2)(0.0000f) + (float2)(0.2126f) * convert_float2(r_0) + (float2)(0.7152f) * convert_float2(g_0) + (float2)(0.0722f) * convert_float2(b_0);
573 float2 f_u = (float2)(0.0000f) - (float2)(0.1146f) * convert_float2(r_0) - (float2)(0.3854f) * convert_float2(g_0) + (float2)(0.5000f) * convert_float2(b_0);
574 float2 f_v = (float2)(0.0000f) + (float2)(0.5000f) * convert_float2(r_0) - (float2)(0.4542f) * convert_float2(g_0) - (float2)(0.0458f) * convert_float2(b_0);
576 short2 i_y = convert_short2_rtz(f_y);
577 short2 i_u = convert_short2_rtz(f_u) + (short2)(128);
578 short2 i_v = convert_short2_rtz(f_v) + (short2)(128);
580 uchar2 luma_0 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
581 vstore2(luma_0, 0, out_y.
ptr);
583 uchar2 cb_0 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
584 uchar2 cr_0 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
587 uchar8 rgb_1 = vload8(0, in_rgb.
ptr + rgb_input_stride_y);
588 uchar2 r_1 = (uchar2)(rgb_1.s0, rgb_1.s3);
589 uchar2 g_1 = (uchar2)(rgb_1.s1, rgb_1.s4);
590 uchar2 b_1 = (uchar2)(rgb_1.s2, rgb_1.s5);
592 f_y = (float2)(0.0000f) + (float2)(0.2126f) * convert_float2(r_1) + (float2)(0.7152f) * convert_float2(g_1) + (float2)(0.0722f) * convert_float2(b_1);
593 f_u = (float2)(0.0000f) - (float2)(0.1146f) * convert_float2(r_1) - (float2)(0.3854f) * convert_float2(g_1) + (float2)(0.5000f) * convert_float2(b_1);
594 f_v = (float2)(0.0000f) + (float2)(0.5000f) * convert_float2(r_1) - (float2)(0.4542f) * convert_float2(g_1) - (float2)(0.0458f) * convert_float2(b_1);
596 i_y = convert_short2_rtz(f_y);
597 i_u = convert_short2_rtz(f_u) + (short2)(128);
598 i_v = convert_short2_rtz(f_v) + (short2)(128);
600 uchar2 luma_1 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
601 vstore2(luma_1, 0, out_y.
ptr + luma_output_stride_y);
603 uchar2 cb_1 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
604 uchar2 cr_1 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
605 uchar2 cbcr = (uchar2)(((cb_0.s0 + cb_0.s1 + cb_1.s0 + cb_1.s1) / 4),
606 ((cr_0.s0 + cr_0.s1 + cr_1.s0 + cr_1.s1) / 4));
655 uchar16 rgb_0 = vload16(0, in_rgba.
ptr);
656 uchar4 r_0 = (uchar4)(rgb_0.s0, rgb_0.s4, rgb_0.s8, rgb_0.sc);
657 uchar4 g_0 = (uchar4)(rgb_0.s1, rgb_0.s5, rgb_0.s9, rgb_0.sd);
658 uchar4 b_0 = (uchar4)(rgb_0.s2, rgb_0.s6, rgb_0.sa, rgb_0.se);
660 float4 f_y = (float4)(0.0000f) + (float4)(0.2126f) * convert_float4(r_0) + (float4)(0.7152f) * convert_float4(g_0) + (float4)(0.0722f) * convert_float4(b_0);
661 float4 f_u = (float4)(0.0000f) - (float4)(0.1146f) * convert_float4(r_0) - (float4)(0.3854f) * convert_float4(g_0) + (float4)(0.5000f) * convert_float4(b_0);
662 float4 f_v = (float4)(0.0000f) + (float4)(0.5000f) * convert_float4(r_0) - (float4)(0.4542f) * convert_float4(g_0) - (float4)(0.0458f) * convert_float4(b_0);
664 short4 i_y = convert_short4(f_y);
665 short4 i_u = convert_short4(f_u) + (short4)(128);
666 short4 i_v = convert_short4(f_v) + (short4)(128);
668 uchar4 luma_0 = convert_uchar4_sat(max((short4)(0), min(i_y, (short4)(255))));
669 vstore4(luma_0, 0, out_y.
ptr);
671 uchar4 cb_0 = convert_uchar4_sat(max((short4)(0), min(i_u, (short4)(255))));
672 uchar4 cr_0 = convert_uchar4_sat(max((short4)(0), min(i_v, (short4)(255))));
673 vstore4(cb_0, 0, out_u.
ptr);
674 vstore4(cr_0, 0, out_v.
ptr);
712 uchar8 rgb_0 = vload8(0, in.
ptr);
713 uchar2 r_0 = (uchar2)(rgb_0.s0, rgb_0.s4);
714 uchar2 g_0 = (uchar2)(rgb_0.s1, rgb_0.s5);
715 uchar2 b_0 = (uchar2)(rgb_0.s2, rgb_0.s6);
717 float2 f_y = (float2)(0.0000f) + (float2)(0.2126f) * convert_float2(r_0) + (float2)(0.7152f) * convert_float2(g_0) + (float2)(0.0722f) * convert_float2(b_0);
718 float2 f_u = (float2)(0.0000f) - (float2)(0.1146f) * convert_float2(r_0) - (float2)(0.3854f) * convert_float2(g_0) + (float2)(0.5000f) * convert_float2(b_0);
719 float2 f_v = (float2)(0.0000f) + (float2)(0.5000f) * convert_float2(r_0) - (float2)(0.4542f) * convert_float2(g_0) - (float2)(0.0458f) * convert_float2(b_0);
721 short2 i_y = convert_short2_rtz(f_y);
722 short2 i_u = convert_short2_rtz(f_u) + (short2)(128);
723 short2 i_v = convert_short2_rtz(f_v) + (short2)(128);
725 uchar2 luma_0 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
726 vstore2(luma_0, 0, out_y.
ptr);
728 uchar2 cb_0 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
729 uchar2 cr_0 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
732 uchar8 rgb_1 = vload8(0, in.
ptr + input_stride_y);
733 uchar2 r_1 = (uchar2)(rgb_1.s0, rgb_1.s4);
734 uchar2 g_1 = (uchar2)(rgb_1.s1, rgb_1.s5);
735 uchar2 b_1 = (uchar2)(rgb_1.s2, rgb_1.s6);
737 f_y = (float2)(0.0000f) + (float2)(0.2126f) * convert_float2(r_1) + (float2)(0.7152f) * convert_float2(g_1) + (float2)(0.0722f) * convert_float2(b_1);
738 f_u = (float2)(0.0000f) - (float2)(0.1146f) * convert_float2(r_1) - (float2)(0.3854f) * convert_float2(g_1) + (float2)(0.5000f) * convert_float2(b_1);
739 f_v = (float2)(0.0000f) + (float2)(0.5000f) * convert_float2(r_1) - (float2)(0.4542f) * convert_float2(g_1) - (float2)(0.0458f) * convert_float2(b_1);
741 i_y = convert_short2_rtz(f_y);
742 i_u = convert_short2_rtz(f_u) + (short2)(128);
743 i_v = convert_short2_rtz(f_v) + (short2)(128);
745 uchar2 luma_1 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
746 vstore2(luma_1, 0, out_y.
ptr + luma_output_stride_y);
748 uchar2 cb_1 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
749 uchar2 cr_1 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
750 uchar2 cbcr = (uchar2)(((cb_0.s0 + cb_0.s1 + cb_1.s0 + cb_1.s1) / 4),
751 ((cr_0.s0 + cr_0.s1 + cr_1.s0 + cr_1.s1) / 4));
752 vstore2(cbcr, 0, out_uv.
ptr);
799 uchar8 rgb_0 = vload8(0, in_rgb.
ptr);
800 uchar2 r_0 = (uchar2)(rgb_0.s0, rgb_0.s4);
801 uchar2 g_0 = (uchar2)(rgb_0.s1, rgb_0.s5);
802 uchar2 b_0 = (uchar2)(rgb_0.s2, rgb_0.s6);
804 float2 f_y = (float2)(0.0000f) + (float2)(0.2126f) * convert_float2(r_0) + (float2)(0.7152f) * convert_float2(g_0) + (float2)(0.0722f) * convert_float2(b_0);
805 float2 f_u = (float2)(0.0000f) - (float2)(0.1146f) * convert_float2(r_0) - (float2)(0.3854f) * convert_float2(g_0) + (float2)(0.5000f) * convert_float2(b_0);
806 float2 f_v = (float2)(0.0000f) + (float2)(0.5000f) * convert_float2(r_0) - (float2)(0.4542f) * convert_float2(g_0) - (float2)(0.0458f) * convert_float2(b_0);
808 short2 i_y = convert_short2_rtz(f_y);
809 short2 i_u = convert_short2_rtz(f_u) + (short2)(128);
810 short2 i_v = convert_short2_rtz(f_v) + (short2)(128);
812 uchar2 luma_0 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
813 vstore2(luma_0, 0, out_y.
ptr);
815 uchar2 cb_0 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
816 uchar2 cr_0 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
819 uchar8 rgb_1 = vload8(0, in_rgb.
ptr + rgba_input_stride_y);
820 uchar2 r_1 = (uchar2)(rgb_1.s0, rgb_1.s4);
821 uchar2 g_1 = (uchar2)(rgb_1.s1, rgb_1.s5);
822 uchar2 b_1 = (uchar2)(rgb_1.s2, rgb_1.s6);
824 f_y = (float2)(0.0000f) + (float2)(0.2126f) * convert_float2(r_1) + (float2)(0.7152f) * convert_float2(g_1) + (float2)(0.0722f) * convert_float2(b_1);
825 f_u = (float2)(0.0000f) - (float2)(0.1146f) * convert_float2(r_1) - (float2)(0.3854f) * convert_float2(g_1) + (float2)(0.5000f) * convert_float2(b_1);
826 f_v = (float2)(0.0000f) + (float2)(0.5000f) * convert_float2(r_1) - (float2)(0.4542f) * convert_float2(g_1) - (float2)(0.0458f) * convert_float2(b_1);
828 i_y = convert_short2_rtz(f_y);
829 i_u = convert_short2_rtz(f_u) + (short2)(128);
830 i_v = convert_short2_rtz(f_v) + (short2)(128);
832 uchar2 luma_1 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
833 vstore2(luma_1, 0, out_y.
ptr + luma_output_stride_y);
835 uchar2 cb_1 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
836 uchar2 cr_1 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
837 uchar2 cbcr = (uchar2)(((cb_0.s0 + cb_0.s1 + cb_1.s0 + cb_1.s1) / 4),
838 ((cr_0.s0 + cr_0.s1 + cr_1.s0 + cr_1.s1) / 4));
876 uchar4 luma_0 = vload4(0, in_luma.
ptr);
877 uchar4 luma_1 = vload4(0, in_luma.
ptr + luma_input_stride_y);
878 uchar4 cbcr = vload4(0, in_uv.
ptr);
879 char4 cb = (char4)(cbcr.s0, cbcr.s0, cbcr.s2, cbcr.s2) - (char4)(128);
880 char4 cr = (char4)(cbcr.s1, cbcr.s1, cbcr.s3, cbcr.s3) - (char4)(128);
882 float4 temp0 = (float4)(0.0000f) + (float4)(0.0000f) * convert_float4(cb) + (float4)(1.5748f) * convert_float4(cr);
883 float4 temp1 = (float4)(0.0000f) - (float4)(0.1873f) * convert_float4(cb) - (float4)(0.4681f) * convert_float4(cr);
884 float4 temp2 = (float4)(0.0000f) + (float4)(1.8556f) * convert_float4(cb) + (float4)(0.0000f) * convert_float4(cr);
886 float4 f_r = convert_float4(luma_0) + temp0;
887 float4 f_g = convert_float4(luma_0) + temp1;
888 float4 f_b = convert_float4(luma_0) + temp2;
890 uchar4 r_0 = convert_uchar4_rtz(f_r);
891 uchar4 g_0 = convert_uchar4_rtz(f_g);
892 uchar4 b_0 = convert_uchar4_rtz(f_b);
894 uchar8 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255);
895 uchar8 rgb_1 = (uchar8)(r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
896 vstore8(rgb_0, 0, out_rgb.
ptr);
897 vstore8(rgb_1, 0, out_rgb.
ptr + 8);
899 f_r = convert_float4(luma_1) + temp0;
900 f_g = convert_float4(luma_1) + temp1;
901 f_b = convert_float4(luma_1) + temp2;
903 r_0 = convert_uchar4_rtz(f_r);
904 g_0 = convert_uchar4_rtz(f_g);
905 b_0 = convert_uchar4_rtz(f_b);
907 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255);
908 rgb_1 = (uchar8)(r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
909 vstore8(rgb_0, 0, out_rgb.
ptr + rgb_output_stride_y);
910 vstore8(rgb_1, 0, out_rgb.
ptr + rgb_output_stride_y + 8);
963 uchar16 luma_0 = vload16(0, in_y.
ptr);
964 uchar16 luma_1 = vload16(0, in_y.
ptr + luma_input_stride_y);
965 uchar16 cbcr = vload16(0, in_uv.
ptr);
966 uchar8 cb = (uchar8)(cbcr.s0, cbcr.s2, cbcr.s4, cbcr.s6, cbcr.s8, cbcr.sa, cbcr.sc, cbcr.se);
967 uchar8 cr = (uchar8)(cbcr.s1, cbcr.s3, cbcr.s5, cbcr.s7, cbcr.s9, cbcr.sb, cbcr.sd, cbcr.sf);
969 vstore16(luma_0, 0, out_y.
ptr);
970 vstore16(luma_1, 0, out_y.
ptr + luma_output_stride_y);
971 vstore8(cb, 0, out_u.
ptr);
972 vstore8(cr, 0, out_v.
ptr);
1025 uchar16 luma_0 = vload16(0, in_y.
ptr);
1026 uchar16 luma_1 = vload16(0, in_y.
ptr + luma_input_stride_y);
1027 uchar16 cbcr = vload16(0, in_uv.
ptr);
1028 uchar16 cb = (uchar16)(cbcr.s0, cbcr.s0, cbcr.s2, cbcr.s2, cbcr.s4, cbcr.s4, cbcr.s6, cbcr.s6, cbcr.s8, cbcr.s8,
1029 cbcr.sa, cbcr.sa, cbcr.sc, cbcr.sc, cbcr.se, cbcr.se);
1030 uchar16 cr = (uchar16)(cbcr.s1, cbcr.s1, cbcr.s3, cbcr.s3, cbcr.s5, cbcr.s5, cbcr.s7, cbcr.s7, cbcr.s9, cbcr.s9,
1031 cbcr.sb, cbcr.sb, cbcr.sd, cbcr.sd, cbcr.sf, cbcr.sf);
1033 vstore16(luma_0, 0, out_y.
ptr);
1034 vstore16(luma_1, 0, out_y.
ptr + luma_output_stride_y);
1035 vstore16(cb, 0, out_u.
ptr);
1036 vstore16(cb, 0, out_u.
ptr + u_output_stride_y);
1037 vstore16(cr, 0, out_v.
ptr);
1038 vstore16(cr, 0, out_v.
ptr + v_output_stride_y);
1075 uchar4 luma_0 = vload4(0, in_y.
ptr);
1076 uchar4 luma_1 = vload4(0, in_y.
ptr + luma_input_stride_y);
1077 uchar4 cbcr = vload4(0, in_uv.
ptr);
1078 char4 cr = (char4)(cbcr.s0, cbcr.s0, cbcr.s2, cbcr.s2) - (char4)(128);
1079 char4 cb = (char4)(cbcr.s1, cbcr.s1, cbcr.s3, cbcr.s3) - (char4)(128);
1081 float4 temp0 = (float4)(0.0000f) + (float4)(0.0000f) * convert_float4(cb) + (float4)(1.5748f) * convert_float4(cr);
1082 float4 temp1 = (float4)(0.0000f) - (float4)(0.1873f) * convert_float4(cb) - (float4)(0.4681f) * convert_float4(cr);
1083 float4 temp2 = (float4)(0.0000f) + (float4)(1.8556f) * convert_float4(cb) + (float4)(0.0000f) * convert_float4(cr);
1085 float4 f_r = convert_float4(luma_0) + temp0;
1086 float4 f_g = convert_float4(luma_0) + temp1;
1087 float4 f_b = convert_float4(luma_0) + temp2;
1089 uchar4 r_0 = convert_uchar4_rtz(f_r);
1090 uchar4 g_0 = convert_uchar4_rtz(f_g);
1091 uchar4 b_0 = convert_uchar4_rtz(f_b);
1093 uchar8 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, r_0.s1, g_0.s1, b_0.s1, r_0.s2, g_0.s2);
1094 uchar4 rgb_1 = (uchar4)(b_0.s2, r_0.s3, g_0.s3, b_0.s3);
1095 vstore8(rgb_0, 0, out_rgb.
ptr);
1096 vstore4(rgb_1, 0, out_rgb.
ptr + 8);
1098 f_r = convert_float4(luma_1) + temp0;
1099 f_g = convert_float4(luma_1) + temp1;
1100 f_b = convert_float4(luma_1) + temp2;
1102 r_0 = convert_uchar4_rtz(f_r);
1103 g_0 = convert_uchar4_rtz(f_g);
1104 b_0 = convert_uchar4_rtz(f_b);
1106 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, r_0.s1, g_0.s1, b_0.s1, r_0.s2, g_0.s2);
1107 rgb_1 = (uchar4)(b_0.s2, r_0.s3, g_0.s3, b_0.s3);
1108 vstore8(rgb_0, 0, out_rgb.
ptr + rgb_output_stride_y);
1109 vstore4(rgb_1, 0, out_rgb.
ptr + rgb_output_stride_y + 8);
1146 uchar4 luma_0 = vload4(0, in_luma.
ptr);
1147 uchar4 luma_1 = vload4(0, in_luma.
ptr + luma_input_stride_y);
1148 uchar4 cbcr = vload4(0, in_uv.
ptr);
1149 char4 cr = (char4)(cbcr.s0, cbcr.s0, cbcr.s2, cbcr.s2) - (char4)(128);
1150 char4 cb = (char4)(cbcr.s1, cbcr.s1, cbcr.s3, cbcr.s3) - (char4)(128);
1152 float4 temp0 = (float4)(0.0000f) + (float4)(0.0000f) * convert_float4(cb) + (float4)(1.5748f) * convert_float4(cr);
1153 float4 temp1 = (float4)(0.0000f) - (float4)(0.1873f) * convert_float4(cb) - (float4)(0.4681f) * convert_float4(cr);
1154 float4 temp2 = (float4)(0.0000f) + (float4)(1.8556f) * convert_float4(cb) + (float4)(0.0000f) * convert_float4(cr);
1156 float4 f_r = convert_float4(luma_0) + temp0;
1157 float4 f_g = convert_float4(luma_0) + temp1;
1158 float4 f_b = convert_float4(luma_0) + temp2;
1160 uchar4 r_0 = convert_uchar4_rtz(f_r);
1161 uchar4 g_0 = convert_uchar4_rtz(f_g);
1162 uchar4 b_0 = convert_uchar4_rtz(f_b);
1164 uchar8 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255);
1165 uchar8 rgb_1 = (uchar8)(r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
1166 vstore8(rgb_0, 0, out_rgb.
ptr);
1167 vstore8(rgb_1, 0, out_rgb.
ptr + 8);
1169 f_r = convert_float4(luma_1) + temp0;
1170 f_g = convert_float4(luma_1) + temp1;
1171 f_b = convert_float4(luma_1) + temp2;
1173 r_0 = convert_uchar4_rtz(f_r);
1174 g_0 = convert_uchar4_rtz(f_g);
1175 b_0 = convert_uchar4_rtz(f_b);
1177 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255);
1178 rgb_1 = (uchar8)(r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
1179 vstore8(rgb_0, 0, out_rgb.
ptr + rgba_output_stride_y);
1180 vstore8(rgb_1, 0, out_rgb.
ptr + rgba_output_stride_y + 8);
1233 uchar16 luma_0 = vload16(0, in_y.
ptr);
1234 uchar16 luma_1 = vload16(0, in_y.
ptr + luma_input_stride_y);
1235 uchar16 cbcr = vload16(0, in_uv.
ptr);
1236 uchar16 cr = (uchar16)(cbcr.s0, cbcr.s0, cbcr.s2, cbcr.s2, cbcr.s4, cbcr.s4, cbcr.s6, cbcr.s6, cbcr.s8, cbcr.s8,
1237 cbcr.sa, cbcr.sa, cbcr.sc, cbcr.sc, cbcr.se, cbcr.se);
1238 uchar16 cb = (uchar16)(cbcr.s1, cbcr.s1, cbcr.s3, cbcr.s3, cbcr.s5, cbcr.s5, cbcr.s7, cbcr.s7, cbcr.s9, cbcr.s9,
1239 cbcr.sb, cbcr.sb, cbcr.sd, cbcr.sd, cbcr.sf, cbcr.sf);
1241 vstore16(luma_0, 0, out_y.
ptr);
1242 vstore16(luma_1, 0, out_y.
ptr + luma_output_stride_y);
1243 vstore16(cb, 0, out_u.
ptr);
1244 vstore16(cb, 0, out_u.
ptr + u_output_stride_y);
1245 vstore16(cr, 0, out_v.
ptr);
1246 vstore16(cr, 0, out_v.
ptr + v_output_stride_y);
1298 uchar16 luma_0 = vload16(0, in_y.
ptr);
1299 uchar16 luma_1 = vload16(0, in_y.
ptr + luma_input_stride_y);
1300 uchar16 cbcr = vload16(0, in_uv.
ptr);
1301 uchar8 cr = (uchar8)(cbcr.s0, cbcr.s2, cbcr.s4, cbcr.s6, cbcr.s8, cbcr.sa, cbcr.sc, cbcr.se);
1302 uchar8 cb = (uchar8)(cbcr.s1, cbcr.s3, cbcr.s5, cbcr.s7, cbcr.s9, cbcr.sb, cbcr.sd, cbcr.sf);
1304 vstore16(luma_0, 0, out_y.
ptr);
1305 vstore16(luma_1, 0, out_y.
ptr + luma_output_stride_y);
1306 vstore8(cb, 0, out_u.
ptr);
1307 vstore8(cr, 0, out_v.
ptr);
1353 uchar16 uyvy = vload16(0, in_uyvy.
ptr);
1354 uchar8 luma = (uchar8)(uyvy.s1, uyvy.s3, uyvy.s5, uyvy.s7, uyvy.s9, uyvy.sb, uyvy.sd, uyvy.sf);
1355 ushort4 cb_0 = (ushort4)(uyvy.s0, uyvy.s4, uyvy.s8, uyvy.sc);
1356 ushort4 cr_0 = (ushort4)(uyvy.s2, uyvy.s6, uyvy.sa, uyvy.se);
1357 vstore8(luma, 0, out_y.
ptr);
1359 uyvy = vload16(0, in_uyvy.
ptr + uyvy_input_stride_y);
1360 luma = (uchar8)(uyvy.s1, uyvy.s3, uyvy.s5, uyvy.s7, uyvy.s9, uyvy.sb, uyvy.sd, uyvy.sf);
1361 ushort4 cb_1 = (ushort4)(uyvy.s0, uyvy.s4, uyvy.s8, uyvy.sc);
1362 ushort4 cr_1 = (ushort4)(uyvy.s2, uyvy.s6, uyvy.sa, uyvy.se);
1363 vstore8(luma, 0, out_y.
ptr + luma_output_stride_y);
1365 uchar4 cb = convert_uchar4((cb_0 + cb_1) / (ushort4)(2));
1366 uchar4 cr = convert_uchar4((cr_0 + cr_1) / (ushort4)(2));
1367 vstore4(cb, 0, out_u.
ptr);
1368 vstore4(cr, 0, out_v.
ptr);
1414 uchar16 yuyv = vload16(0, in_yuyv.
ptr);
1415 uchar8 luma = (uchar8)(yuyv.s0, yuyv.s2, yuyv.s4, yuyv.s6, yuyv.s8, yuyv.sa, yuyv.sc, yuyv.se);
1416 ushort4 cb_0 = (ushort4)(yuyv.s1, yuyv.s5, yuyv.s9, yuyv.sd);
1417 ushort4 cr_0 = (ushort4)(yuyv.s3, yuyv.s7, yuyv.sb, yuyv.sf);
1418 vstore8(luma, 0, out_y.
ptr);
1420 yuyv = vload16(0, in_yuyv.
ptr + yuyv_input_stride_y);
1421 luma = (uchar8)(yuyv.s0, yuyv.s2, yuyv.s4, yuyv.s6, yuyv.s8, yuyv.sa, yuyv.sc, yuyv.se);
1422 ushort4 cb_1 = (ushort4)(yuyv.s1, yuyv.s5, yuyv.s9, yuyv.sd);
1423 ushort4 cr_1 = (ushort4)(yuyv.s3, yuyv.s7, yuyv.sb, yuyv.sf);
1424 vstore8(luma, 0, out_y.
ptr + luma_output_stride_y);
1426 uchar4 cb = convert_uchar4((cb_0 + cb_1) / (ushort4)(2));
1427 uchar4 cr = convert_uchar4((cr_0 + cr_1) / (ushort4)(2));
1428 vstore4(cb, 0, out_u.
ptr);
1429 vstore4(cr, 0, out_v.
ptr);
1474 uchar4 luma_0 = vload4(0, in_y.
ptr);
1475 uchar4 luma_1 = vload4(0, in_y.
ptr + luma_input_stride_y);
1476 uchar4 cbcr = (uchar4)(vload2(0, in_u.
ptr), vload2(0, in_v.
ptr));
1477 char4 cb = (char4)(cbcr.s0, cbcr.s0, cbcr.s1, cbcr.s1) - (char4)(128);
1478 char4 cr = (char4)(cbcr.s2, cbcr.s2, cbcr.s3, cbcr.s3) - (char4)(128);
1480 float4 temp0 = (float4)(0.0000f) + (float4)(0.0000f) * convert_float4(cb) + (float4)(1.5748f) * convert_float4(cr);
1481 float4 temp1 = (float4)(0.0000f) - (float4)(0.1873f) * convert_float4(cb) - (float4)(0.4681f) * convert_float4(cr);
1482 float4 temp2 = (float4)(0.0000f) + (float4)(1.8556f) * convert_float4(cb) + (float4)(0.0000f) * convert_float4(cr);
1484 float4 f_r = convert_float4(luma_0) + temp0;
1485 float4 f_g = convert_float4(luma_0) + temp1;
1486 float4 f_b = convert_float4(luma_0) + temp2;
1488 uchar4 r_0 = convert_uchar4_rtz(f_r);
1489 uchar4 g_0 = convert_uchar4_rtz(f_g);
1490 uchar4 b_0 = convert_uchar4_rtz(f_b);
1492 uchar8 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, r_0.s1, g_0.s1, b_0.s1, r_0.s2, g_0.s2);
1493 uchar4 rgb_1 = (uchar4)(b_0.s2, r_0.s3, g_0.s3, b_0.s3);
1494 vstore8(rgb_0, 0, out_rgb.
ptr);
1495 vstore4(rgb_1, 0, out_rgb.
ptr + 8);
1497 f_r = convert_float4(luma_1) + temp0;
1498 f_g = convert_float4(luma_1) + temp1;
1499 f_b = convert_float4(luma_1) + temp2;
1501 r_0 = convert_uchar4_rtz(f_r);
1502 g_0 = convert_uchar4_rtz(f_g);
1503 b_0 = convert_uchar4_rtz(f_b);
1505 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, r_0.s1, g_0.s1, b_0.s1, r_0.s2, g_0.s2);
1506 rgb_1 = (uchar4)(b_0.s2, r_0.s3, g_0.s3, b_0.s3);
1507 vstore8(rgb_0, 0, out_rgb.
ptr + rgb_output_stride_y);
1508 vstore4(rgb_1, 0, out_rgb.
ptr + rgb_output_stride_y + 8);
1553 uchar4 luma_0 = vload4(0, in_y.
ptr);
1554 uchar4 luma_1 = vload4(0, in_y.
ptr + luma_input_stride_y);
1555 uchar4 cbcr = (uchar4)(vload2(0, in_u.
ptr), vload2(0, in_v.
ptr));
1556 char4 cb = (char4)(cbcr.s0, cbcr.s0, cbcr.s1, cbcr.s1) - (char4)(128);
1557 char4 cr = (char4)(cbcr.s2, cbcr.s2, cbcr.s3, cbcr.s3) - (char4)(128);
1559 float4 temp0 = (float4)(0.0000f) + (float4)(0.0000f) * convert_float4(cb) + (float4)(1.5748f) * convert_float4(cr);
1560 float4 temp1 = (float4)(0.0000f) - (float4)(0.1873f) * convert_float4(cb) - (float4)(0.4681f) * convert_float4(cr);
1561 float4 temp2 = (float4)(0.0000f) + (float4)(1.8556f) * convert_float4(cb) + (float4)(0.0000f) * convert_float4(cr);
1563 float4 f_r = convert_float4(luma_0) + temp0;
1564 float4 f_g = convert_float4(luma_0) + temp1;
1565 float4 f_b = convert_float4(luma_0) + temp2;
1567 uchar4 r_0 = convert_uchar4_rtz(f_r);
1568 uchar4 g_0 = convert_uchar4_rtz(f_g);
1569 uchar4 b_0 = convert_uchar4_rtz(f_b);
1571 uchar8 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255);
1572 uchar8 rgb_1 = (uchar8)(r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
1573 vstore8(rgb_0, 0, out_rgb.
ptr);
1574 vstore8(rgb_1, 0, out_rgb.
ptr + 8);
1576 f_r = convert_float4(luma_1) + temp0;
1577 f_g = convert_float4(luma_1) + temp1;
1578 f_b = convert_float4(luma_1) + temp2;
1580 r_0 = convert_uchar4_rtz(f_r);
1581 g_0 = convert_uchar4_rtz(f_g);
1582 b_0 = convert_uchar4_rtz(f_b);
1584 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255);
1585 rgb_1 = (uchar8)(r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
1586 vstore8(rgb_0, 0, out_rgb.
ptr + rgba_output_stride_y);
1587 vstore8(rgb_1, 0, out_rgb.
ptr + rgba_output_stride_y + 8);
1649 uchar16 luma_0 = vload16(0, in_y.
ptr);
1650 uchar16 luma_1 = vload16(0, in_y.
ptr + luma_input_stride_y);
1651 uchar8 cb_src = vload8(0, in_u.
ptr);
1652 uchar8 cr_src = vload8(0, in_v.
ptr);
1653 uchar16 cb = (uchar16)(cb_src.s0, cb_src.s0, cb_src.s1, cb_src.s1, cb_src.s2, cb_src.s2, cb_src.s3, cb_src.s3,
1654 cb_src.s4, cb_src.s4, cb_src.s5, cb_src.s5, cb_src.s6, cb_src.s6, cb_src.s7, cb_src.s7);
1655 uchar16 cr = (uchar16)(cr_src.s0, cr_src.s0, cr_src.s1, cr_src.s1, cr_src.s2, cr_src.s2, cr_src.s3, cr_src.s3,
1656 cr_src.s4, cr_src.s4, cr_src.s5, cr_src.s5, cr_src.s6, cr_src.s6, cr_src.s7, cr_src.s7);
1658 vstore16(luma_0, 0, out_y.
ptr);
1659 vstore16(luma_1, 0, out_y.
ptr + luma_output_stride_y);
1660 vstore16(cb, 0, out_u.
ptr);
1661 vstore16(cb, 0, out_u.
ptr + u_output_stride_y);
1662 vstore16(cr, 0, out_v.
ptr);
1663 vstore16(cr, 0, out_v.
ptr + v_output_stride_y);
1717 uchar16 luma_0 = vload16(0, in_y.
ptr);
1718 uchar16 luma_1 = vload16(0, in_y.
ptr + luma_input_stride_y);
1719 uchar8 cb = vload8(0, in_u.
ptr);
1720 uchar8 cr = vload8(0, in_v.
ptr);
1721 uchar16 cbcr = (uchar16)(cb.s0, cr.s0, cb.s1, cr.s1, cb.s2, cr.s2, cb.s3, cr.s3, cb.s4, cr.s4, cb.s5, cr.s5, cb.s6,
1722 cr.s6, cb.s7, cr.s7);
1724 vstore16(luma_0, 0, out_y.
ptr);
1725 vstore16(luma_1, 0, out_y.
ptr + luma_output_stride_y);
1726 vstore16(cbcr, 0, out_uv.
ptr);
1764 uchar16 yuyv = vload16(0, in_yuyv.
ptr);
1765 ushort8 cbcr_0 = (ushort8)(yuyv.s1, yuyv.s3, yuyv.s5, yuyv.s7, yuyv.s9, yuyv.sb, yuyv.sd, yuyv.sf);
1766 uchar8 luma = (uchar8)(yuyv.s0, yuyv.s2, yuyv.s4, yuyv.s6, yuyv.s8, yuyv.sa, yuyv.sc, yuyv.se);
1767 vstore8(luma, 0, out_y.
ptr);
1769 yuyv = vload16(0, in_yuyv.
ptr + yuyv_input_stride_y);
1770 ushort8 cbcr_1 = (ushort8)(yuyv.s1, yuyv.s3, yuyv.s5, yuyv.s7, yuyv.s9, yuyv.sb, yuyv.sd, yuyv.sf);
1771 luma = (uchar8)(yuyv.s0, yuyv.s2, yuyv.s4, yuyv.s6, yuyv.s8, yuyv.sa, yuyv.sc, yuyv.se);
1772 vstore8(luma, 0, out_y.
ptr + luma_output_stride_y);
1774 uchar8 cbcr = convert_uchar8((cbcr_0 + cbcr_1) / (ushort8)(2));
1775 vstore8(cbcr, 0, out_uv.
ptr);
1813 const uchar16 uyvy_t = vload16(0, in.
ptr);
1814 vstore8(uyvy_t.s13579bdf, 0, out_y.
ptr);
1816 const uchar16 uyvy_b = vload16(0, in.
ptr + input_uyvy_stride_y);
1817 vstore8(uyvy_b.s13579bdf, 0, out_y.
ptr + luma_stride_y);
1819 const ushort8 cbcr_t = (ushort8)(uyvy_t.s0, uyvy_t.s2, uyvy_t.s4, uyvy_t.s6, uyvy_t.s8, uyvy_t.sa, uyvy_t.sc, uyvy_t.se);
1820 const ushort8 cbcr_b = (ushort8)(uyvy_b.s0, uyvy_b.s2, uyvy_b.s4, uyvy_b.s6, uyvy_b.s8, uyvy_b.sa, uyvy_b.sc, uyvy_b.se);
1821 const uchar8 cbcr = convert_uchar8((cbcr_t + cbcr_b) / (ushort8)(2));
1822 vstore8(cbcr, 0, out_uv.
ptr);
__kernel void UYVY422_to_NV12_bt709(__global uchar *input_uyvy_ptr, uint input_uyvy_stride_x, uint input_uyvy_step_x, uint input_uyvy_stride_y, uint input_uyvy_step_y, uint input_uyvy_offset_first_element_in_bytes, __global uchar *luma_ptr, uint luma_stride_x, uint luma_step_x, uint luma_stride_y, uint luma_step_y, uint luma_offset_first_element_in_bytes, __global uchar *uv_ptr, uint uv_stride_x, uint uv_step_x, uint uv_stride_y, uint uv_step_y, uint uv_offset_first_element_in_bytes)
Convert a UYVY image to NV12 using BT709 color space.
__kernel void YUYV422_to_NV12_bt709(__global uchar *yuyv_input_ptr, uint yuyv_input_stride_x, uint yuyv_input_step_x, uint yuyv_input_stride_y, uint yuyv_input_step_y, uint yuyv_input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *uv_output_ptr, uint uv_output_stride_x, uint uv_output_step_x, uint uv_output_stride_y, uint uv_output_step_y, uint uv_output_offset_first_element_in_bytes)
Convert a YUYV image to NV12 using BT709 color space.
__kernel void UYVY422_to_IYUV_bt709(__global uchar *uyvy_input_ptr, uint uyvy_input_stride_x, uint uyvy_input_step_x, uint uyvy_input_stride_y, uint uyvy_input_step_y, uint uyvy_input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *u_output_ptr, uint u_output_stride_x, uint u_output_step_x, uint u_output_stride_y, uint u_output_step_y, uint u_output_offset_first_element_in_bytes, __global uchar *v_output_ptr, uint v_output_stride_x, uint v_output_step_x, uint v_output_stride_y, uint v_output_step_y, uint v_output_offset_first_element_in_bytes)
Convert a UYVY image to IYUV using BT709 color space.
__kernel void RGB888_to_YUV444_bt709(__global uchar *rgb_input_ptr, uint rgb_input_stride_x, uint rgb_input_step_x, uint rgb_input_stride_y, uint rgb_input_step_y, uint rgb_input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *u_output_ptr, uint u_output_stride_x, uint u_output_step_x, uint u_output_stride_y, uint u_output_step_y, uint u_output_offset_first_element_in_bytes, __global uchar *v_output_ptr, uint v_output_stride_x, uint v_output_step_x, uint v_output_stride_y, uint v_output_step_y, uint v_output_offset_first_element_in_bytes)
Convert a RGB image to YUV444 using BT709 color space.
__kernel void NV21_to_RGB888_bt709(__global uchar *luma_input_ptr, uint luma_input_stride_x, uint luma_input_step_x, uint luma_input_stride_y, uint luma_input_step_y, uint luma_input_offset_first_element_in_bytes, __global uchar *uv_input_ptr, uint uv_input_stride_x, uint uv_input_step_x, uint uv_input_stride_y, uint uv_input_step_y, uint uv_input_offset_first_element_in_bytes, __global uchar *rgb_output_ptr, uint rgb_output_stride_x, uint rgb_output_step_x, uint rgb_output_stride_y, uint rgb_output_step_y, uint rgb_output_offset_first_element_in_bytes)
Convert an NV21 image to RGB888.
__kernel void YUYV422_to_RGBA8888_bt709(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *output_ptr, uint output_stride_x, uint output_step_x, uint output_stride_y, uint output_step_y, uint output_offset_first_element_in_bytes)
Convert a YUYV422 image to RGBX8888 using BT709 color space.
__kernel void IYUV_to_RGBA8888_bt709(__global uchar *luma_input_ptr, uint luma_input_stride_x, uint luma_input_step_x, uint luma_input_stride_y, uint luma_input_step_y, uint luma_input_offset_first_element_in_bytes, __global uchar *u_input_ptr, uint u_input_stride_x, uint u_input_step_x, uint u_input_stride_y, uint u_input_step_y, uint u_input_offset_first_element_in_bytes, __global uchar *v_input_ptr, uint v_input_stride_x, uint v_input_step_x, uint v_input_stride_y, uint v_input_step_y, uint v_input_offset_first_element_in_bytes, __global uchar *rgba_output_ptr, uint rgba_output_stride_x, uint rgba_output_step_x, uint rgba_output_stride_y, uint rgba_output_step_y, uint rgba_output_offset_first_element_in_bytes)
Convert an IYUV image to RGB8888.
__kernel void IYUV_to_RGB888_bt709(__global uchar *luma_input_ptr, uint luma_input_stride_x, uint luma_input_step_x, uint luma_input_stride_y, uint luma_input_step_y, uint luma_input_offset_first_element_in_bytes, __global uchar *u_input_ptr, uint u_input_stride_x, uint u_input_step_x, uint u_input_stride_y, uint u_input_step_y, uint u_input_offset_first_element_in_bytes, __global uchar *v_input_ptr, uint v_input_stride_x, uint v_input_step_x, uint v_input_stride_y, uint v_input_step_y, uint v_input_offset_first_element_in_bytes, __global uchar *rgb_output_ptr, uint rgb_output_stride_x, uint rgb_output_step_x, uint rgb_output_stride_y, uint rgb_output_step_y, uint rgb_output_offset_first_element_in_bytes)
Convert an IYUV image to RGB888.
__kernel void IYUV_to_YUV444_bt709(__global uchar *luma_input_ptr, uint luma_input_stride_x, uint luma_input_step_x, uint luma_input_stride_y, uint luma_input_step_y, uint luma_input_offset_first_element_in_bytes, __global uchar *u_input_ptr, uint u_input_stride_x, uint u_input_step_x, uint u_input_stride_y, uint u_input_step_y, uint u_input_offset_first_element_in_bytes, __global uchar *v_input_ptr, uint v_input_stride_x, uint v_input_step_x, uint v_input_stride_y, uint v_input_step_y, uint v_input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *u_output_ptr, uint u_output_stride_x, uint u_output_step_x, uint u_output_stride_y, uint u_output_step_y, uint u_output_offset_first_element_in_bytes, __global uchar *v_output_ptr, uint v_output_stride_x, uint v_output_step_x, uint v_output_stride_y, uint v_output_step_y, uint v_output_offset_first_element_in_bytes)
Convert an IYUV image to YUV444.
#define IMAGE_DECLARATION(name)
#define CONVERT_TO_IMAGE_STRUCT(name)
__kernel void UYVY422_to_RGBA8888_bt709(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *output_ptr, uint output_stride_x, uint output_step_x, uint output_stride_y, uint output_step_y, uint output_offset_first_element_in_bytes)
Convert a UYVY422 image to RGBX8888 using BT709 color space.
__kernel void RGBA8888_to_RGB888_bt709(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *output_ptr, uint output_stride_x, uint output_step_x, uint output_stride_y, uint output_step_y, uint output_offset_first_element_in_bytes)
Convert an RGB888 image to RGBX8888.
__kernel void RGBA8888_to_IYUV_bt709(__global uchar *rgba_input_ptr, uint rgba_input_stride_x, uint rgba_input_step_x, uint rgba_input_stride_y, uint rgba_input_step_y, uint rgba_input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *u_output_ptr, uint u_output_stride_x, uint u_output_step_x, uint u_output_stride_y, uint u_output_step_y, uint u_output_offset_first_element_in_bytes, __global uchar *v_output_ptr, uint v_output_stride_x, uint v_output_step_x, uint v_output_stride_y, uint v_output_step_y, uint v_output_offset_first_element_in_bytes)
Convert a RGBA image to IYUV using BT709 color space.
__kernel void NV21_to_IYUV_bt709(__global uchar *luma_input_ptr, uint luma_input_stride_x, uint luma_input_step_x, uint luma_input_stride_y, uint luma_input_step_y, uint luma_input_offset_first_element_in_bytes, __global uchar *uv_input_ptr, uint uv_input_stride_x, uint uv_input_step_x, uint uv_input_stride_y, uint uv_input_step_y, uint uv_input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *u_output_ptr, uint u_output_stride_x, uint u_output_step_x, uint u_output_stride_y, uint u_output_step_y, uint u_output_offset_first_element_in_bytes, __global uchar *v_output_ptr, uint v_output_stride_x, uint v_output_step_x, uint v_output_stride_y, uint v_output_step_y, uint v_output_offset_first_element_in_bytes)
Convert an NV21 image to IYUV.
Structure to hold Image information.
__kernel void RGBA8888_to_YUV444_bt709(__global uchar *rgba_input_ptr, uint rgba_input_stride_x, uint rgba_input_step_x, uint rgba_input_stride_y, uint rgba_input_step_y, uint rgba_input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *u_output_ptr, uint u_output_stride_x, uint u_output_step_x, uint u_output_stride_y, uint u_output_step_y, uint u_output_offset_first_element_in_bytes, __global uchar *v_output_ptr, uint v_output_stride_x, uint v_output_step_x, uint v_output_stride_y, uint v_output_step_y, uint v_output_offset_first_element_in_bytes)
Convert a RGBA image to YUV444 using BT709 color space.
__kernel void RGB888_to_NV12_bt709(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *luma_ptr, uint luma_stride_x, uint luma_step_x, uint luma_stride_y, uint luma_step_y, uint luma_offset_first_element_in_bytes, __global uchar *uv_ptr, uint uv_stride_x, uint uv_step_x, uint uv_stride_y, uint uv_step_y, uint uv_offset_first_element_in_bytes)
Convert a RGB image to NV12 using BT709 color space.
__kernel void RGB888_to_IYUV_bt709(__global uchar *rgb_input_ptr, uint rgb_input_stride_x, uint rgb_input_step_x, uint rgb_input_stride_y, uint rgb_input_step_y, uint rgb_input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *u_output_ptr, uint u_output_stride_x, uint u_output_step_x, uint u_output_stride_y, uint u_output_step_y, uint u_output_offset_first_element_in_bytes, __global uchar *v_output_ptr, uint v_output_stride_x, uint v_output_step_x, uint v_output_stride_y, uint v_output_step_y, uint v_output_offset_first_element_in_bytes)
Convert a RGB image to IYUV using BT709 color space.
__kernel void RGB888_to_RGBA8888_bt709(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *output_ptr, uint output_stride_x, uint output_step_x, uint output_stride_y, uint output_step_y, uint output_offset_first_element_in_bytes)
Convert an RGB888 image to RGBX8888.
__kernel void RGBA8888_to_NV12_bt709(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *uv_output_ptr, uint uv_output_stride_x, uint uv_output_step_x, uint uv_output_stride_y, uint uv_output_step_y, uint uv_output_offset_first_element_in_bytes)
Convert a RGBA image to NV12 using BT709 color space.
__global uchar * ptr
Pointer to the starting postion of the buffer.
__kernel void NV12_to_RGBA8888_bt709(__global uchar *luma_input_ptr, uint luma_input_stride_x, uint luma_input_step_x, uint luma_input_stride_y, uint luma_input_step_y, uint luma_input_offset_first_element_in_bytes, __global uchar *uv_input_ptr, uint uv_input_stride_x, uint uv_input_step_x, uint uv_input_stride_y, uint uv_input_step_y, uint uv_input_offset_first_element_in_bytes, __global uchar *rgb_output_ptr, uint rgb_output_stride_x, uint rgb_output_step_x, uint rgb_output_stride_y, uint rgb_output_step_y, uint rgb_output_offset_first_element_in_bytes)
Convert an NV12 image to RGB8888.
__kernel void IYUV_to_NV12_bt709(__global uchar *luma_input_ptr, uint luma_input_stride_x, uint luma_input_step_x, uint luma_input_stride_y, uint luma_input_step_y, uint luma_input_offset_first_element_in_bytes, __global uchar *u_input_ptr, uint u_input_stride_x, uint u_input_step_x, uint u_input_stride_y, uint u_input_step_y, uint u_input_offset_first_element_in_bytes, __global uchar *v_input_ptr, uint v_input_stride_x, uint v_input_step_x, uint v_input_stride_y, uint v_input_step_y, uint v_input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *uv_output_ptr, uint uv_output_stride_x, uint uv_output_step_x, uint uv_output_stride_y, uint uv_output_step_y, uint uv_output_offset_first_element_in_bytes)
Convert an IYUV image to NV12.
__kernel void NV12_to_RGB888_bt709(__global uchar *luma_input_ptr, uint luma_input_stride_x, uint luma_input_step_x, uint luma_input_stride_y, uint luma_input_step_y, uint luma_input_offset_first_element_in_bytes, __global uchar *uv_input_ptr, uint uv_input_stride_x, uint uv_input_step_x, uint uv_input_stride_y, uint uv_input_step_y, uint uv_input_offset_first_element_in_bytes, __global uchar *rgb_output_ptr, uint rgb_output_stride_x, uint rgb_output_step_x, uint rgb_output_stride_y, uint rgb_output_step_y, uint rgb_output_offset_first_element_in_bytes)
Convert an NV12 image to RGB888.
__kernel void NV12_to_YUV444_bt709(__global uchar *luma_input_ptr, uint luma_input_stride_x, uint luma_input_step_x, uint luma_input_stride_y, uint luma_input_step_y, uint luma_input_offset_first_element_in_bytes, __global uchar *uv_input_ptr, uint uv_input_stride_x, uint uv_input_step_x, uint uv_input_stride_y, uint uv_input_step_y, uint uv_input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *u_output_ptr, uint u_output_stride_x, uint u_output_step_x, uint u_output_stride_y, uint u_output_step_y, uint u_output_offset_first_element_in_bytes, __global uchar *v_output_ptr, uint v_output_stride_x, uint v_output_step_x, uint v_output_stride_y, uint v_output_step_y, uint v_output_offset_first_element_in_bytes)
Convert an NV12 image to YUV444.
__kernel void NV21_to_YUV444_bt709(__global uchar *luma_input_ptr, uint luma_input_stride_x, uint luma_input_step_x, uint luma_input_stride_y, uint luma_input_step_y, uint luma_input_offset_first_element_in_bytes, __global uchar *uv_input_ptr, uint uv_input_stride_x, uint uv_input_step_x, uint uv_input_stride_y, uint uv_input_step_y, uint uv_input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *u_output_ptr, uint u_output_stride_x, uint u_output_step_x, uint u_output_stride_y, uint u_output_step_y, uint u_output_offset_first_element_in_bytes, __global uchar *v_output_ptr, uint v_output_stride_x, uint v_output_step_x, uint v_output_stride_y, uint v_output_step_y, uint v_output_offset_first_element_in_bytes)
Convert an NV21 image to YUV444.
__kernel void YUYV422_to_IYUV_bt709(__global uchar *yuyv_input_ptr, uint yuyv_input_stride_x, uint yuyv_input_step_x, uint yuyv_input_stride_y, uint yuyv_input_step_y, uint yuyv_input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *u_output_ptr, uint u_output_stride_x, uint u_output_step_x, uint u_output_stride_y, uint u_output_step_y, uint u_output_offset_first_element_in_bytes, __global uchar *v_output_ptr, uint v_output_stride_x, uint v_output_step_x, uint v_output_stride_y, uint v_output_step_y, uint v_output_offset_first_element_in_bytes)
Convert a YUYV image to IYUV using BT709 color space.
__kernel void YUYV422_to_RGB888_bt709(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *output_ptr, uint output_stride_x, uint output_step_x, uint output_stride_y, uint output_step_y, uint output_offset_first_element_in_bytes)
Convert a YUYV422 image to RGB888 using BT709 color space.
__kernel void NV21_to_RGBA8888_bt709(__global uchar *luma_input_ptr, uint luma_input_stride_x, uint luma_input_step_x, uint luma_input_stride_y, uint luma_input_step_y, uint luma_input_offset_first_element_in_bytes, __global uchar *uv_input_ptr, uint uv_input_stride_x, uint uv_input_step_x, uint uv_input_stride_y, uint uv_input_step_y, uint uv_input_offset_first_element_in_bytes, __global uchar *rgba_output_ptr, uint rgba_output_stride_x, uint rgba_output_step_x, uint rgba_output_stride_y, uint rgba_output_step_y, uint rgba_output_offset_first_element_in_bytes)
Convert an NV12 image to RGB8888.
__kernel void UYVY422_to_RGB888_bt709(__global uchar *input_ptr, uint input_stride_x, uint input_step_x, uint input_stride_y, uint input_step_y, uint input_offset_first_element_in_bytes, __global uchar *output_ptr, uint output_stride_x, uint output_step_x, uint output_stride_y, uint output_step_y, uint output_offset_first_element_in_bytes)
Convert a UYVY422 image to RGB888 using BT709 color space.
__kernel void NV12_to_IYUV_bt709(__global uchar *luma_input_ptr, uint luma_input_stride_x, uint luma_input_step_x, uint luma_input_stride_y, uint luma_input_step_y, uint luma_input_offset_first_element_in_bytes, __global uchar *uv_input_ptr, uint uv_input_stride_x, uint uv_input_step_x, uint uv_input_stride_y, uint uv_input_step_y, uint uv_input_offset_first_element_in_bytes, __global uchar *luma_output_ptr, uint luma_output_stride_x, uint luma_output_step_x, uint luma_output_stride_y, uint luma_output_step_y, uint luma_output_offset_first_element_in_bytes, __global uchar *u_output_ptr, uint u_output_stride_x, uint u_output_step_x, uint u_output_stride_y, uint u_output_step_y, uint u_output_offset_first_element_in_bytes, __global uchar *v_output_ptr, uint v_output_stride_x, uint v_output_step_x, uint v_output_stride_y, uint v_output_step_y, uint v_output_offset_first_element_in_bytes)
Convert an NV12 image to IYUV.