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.sf, 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);
93 const uchar16 rgb_0 = vload16(0, in.
ptr);
94 const uchar16 rgb_1 = vload16(0, in.
ptr + 16);
95 const uchar16 rgb_2 = vload16(0, in.
ptr + 32);
98 const uchar16 rgb_r = (uchar16)(rgb_0.s0369, rgb_0.scf, rgb_1.s258b, rgb_1.se, rgb_2.s147a, rgb_2.sd);
99 const uchar16 rgb_g = (uchar16)(rgb_0.s147a, rgb_0.sd, rgb_1.s0369, rgb_1.scf, rgb_2.s258b, rgb_2.se);
100 const uchar16 rgb_b = (uchar16)(rgb_0.s258b, rgb_0.se, rgb_1.s147a, rgb_1.sd, rgb_2.s0369, rgb_2.scf);
102 const float16 rgb2u8_red_coef_bt709 = 0.2126f;
103 const float16 rgb2u8_green_coef_bt709 = 0.7152f;
104 const float16 rgb2u8_blue_coef_bt709 = 0.0722f;
107 const float16 greyscale_f_0 = rgb2u8_red_coef_bt709 * convert_float16(rgb_r) + rgb2u8_green_coef_bt709 * convert_float16(rgb_g) + rgb2u8_blue_coef_bt709 * convert_float16(rgb_b);
110 const uchar16 greyscale_u8_0 = convert_uchar16_sat_rtz(greyscale_f_0);
112 vstore16(greyscale_u8_0, 0, out.
ptr);
140 uchar16 rgba_0 = vload16(0, in.
ptr);
141 uchar16 rgba_1 = vload16(0, in.
ptr + 16);
142 uchar16 rgba_2 = vload16(0, in.
ptr + 32);
143 uchar16 rgba_3 = vload16(0, in.
ptr + 48);
145 uchar16 rgb_0 = (uchar16)(rgba_0.s01245689, rgba_0.sacde, rgba_1.s0124);
146 uchar16 rgb_1 = (uchar16)(rgba_1.s5689acde, rgba_2.s01245689);
147 uchar16 rgb_2 = (uchar16)(rgba_2.sacde, rgba_3.s01245689, rgba_3.sacde);
149 vstore16(rgb_0, 0, out.
ptr);
150 vstore16(rgb_1, 0, out.
ptr + 16);
151 vstore16(rgb_2, 0, out.
ptr + 32);
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);
190 float8 lumav = convert_float8(luma);
192 float8 f_r = red_coef_bt709 * convert_float8(cr);
193 float8 f_g = green_coef_bt709 * convert_float8(cb) + green_coef2_bt709 * convert_float8(cr);
194 float8 f_b = blue_coef_bt709 * convert_float8(cb);
200 uchar8 r_0 = convert_uchar8_sat_rtz(f_r);
201 uchar8 g_0 = convert_uchar8_sat_rtz(f_g);
202 uchar8 b_0 = convert_uchar8_sat_rtz(f_b);
204 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,
205 r_0.s3, g_0.s3, b_0.s3, r_0.s4, g_0.s4, b_0.s4, r_0.s5);
206 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);
208 vstore16(rgb_0, 0, out.
ptr);
209 vstore8(rgb_1, 0, out.
ptr + 16);
238 uchar16 uyvy = vload16(0, in.
ptr);
240 uchar8 luma = (uchar8)(uyvy.s1, uyvy.s3, uyvy.s5, uyvy.s7, uyvy.s9, uyvy.sb, uyvy.sd, uyvy.sf);
241 char8 cb = (char8)(uyvy.s0, uyvy.s0, uyvy.s4, uyvy.s4, uyvy.s8, uyvy.s8, uyvy.sc, uyvy.sc) - (char8)(128);
242 char8 cr = (char8)(uyvy.s2, uyvy.s2, uyvy.s6, uyvy.s6, uyvy.sa, uyvy.sa, uyvy.se, uyvy.se) - (char8)(128);
248 float8 lumav = convert_float8(luma);
250 float8 f_r = red_coef_bt709 * convert_float8(cr);
251 float8 f_g = green_coef_bt709 * convert_float8(cb) + green_coef2_bt709 * convert_float8(cr);
252 float8 f_b = blue_coef_bt709 * convert_float8(cb);
258 uchar8 r_0 = convert_uchar8_sat_rtz(f_r);
259 uchar8 g_0 = convert_uchar8_sat_rtz(f_g);
260 uchar8 b_0 = convert_uchar8_sat_rtz(f_b);
262 uchar16 rgba_0 = (uchar16)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255,
263 r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
264 uchar16 rgba_1 = (uchar16)(r_0.s4, g_0.s4, b_0.s4, 255, r_0.s5, g_0.s5, b_0.s5, 255,
265 r_0.s6, g_0.s6, b_0.s6, 255, r_0.s7, g_0.s7, b_0.s7, 255);
267 vstore16(rgba_0, 0, out.
ptr);
268 vstore16(rgba_1, 0, out.
ptr + 16);
297 uchar16 uyvy = vload16(0, in.
ptr);
299 uchar8 luma = (uchar8)(uyvy.s0, uyvy.s2, uyvy.s4, uyvy.s6, uyvy.s8, uyvy.sa, uyvy.sc, uyvy.se);
300 char8 cb = (char8)(uyvy.s1, uyvy.s1, uyvy.s5, uyvy.s5, uyvy.s9, uyvy.s9, uyvy.sd, uyvy.sd) - (char8)(128);
301 char8 cr = (char8)(uyvy.s3, uyvy.s3, uyvy.s7, uyvy.s7, uyvy.sb, uyvy.sb, uyvy.sf, uyvy.sf) - (char8)(128);
307 float8 lumav = convert_float8(luma);
309 float8 f_r = red_coef_bt709 * convert_float8(cr);
310 float8 f_g = green_coef_bt709 * convert_float8(cb) + green_coef2_bt709 * convert_float8(cr);
311 float8 f_b = blue_coef_bt709 * convert_float8(cb);
317 uchar8 r_0 = convert_uchar8_sat_rtz(f_r);
318 uchar8 g_0 = convert_uchar8_sat_rtz(f_g);
319 uchar8 b_0 = convert_uchar8_sat_rtz(f_b);
321 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,
322 r_0.s3, g_0.s3, b_0.s3, r_0.s4, g_0.s4, b_0.s4, r_0.s5);
323 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);
325 vstore16(rgb_0, 0, out.
ptr);
326 vstore8(rgb_1, 0, out.
ptr + 16);
355 uchar16 uyvy = vload16(0, in.
ptr);
357 uchar8 luma = (uchar8)(uyvy.s0, uyvy.s2, uyvy.s4, uyvy.s6, uyvy.s8, uyvy.sa, uyvy.sc, uyvy.se);
358 char8 cb = (char8)(uyvy.s1, uyvy.s1, uyvy.s5, uyvy.s5, uyvy.s9, uyvy.s9, uyvy.sd, uyvy.sd) - (char8)(128);
359 char8 cr = (char8)(uyvy.s3, uyvy.s3, uyvy.s7, uyvy.s7, uyvy.sb, uyvy.sb, uyvy.sf, uyvy.sf) - (char8)(128);
365 float8 lumav = convert_float8(luma);
367 float8 f_r = red_coef_bt709 * convert_float8(cr);
368 float8 f_g = green_coef_bt709 * convert_float8(cb) + green_coef2_bt709 * convert_float8(cr);
369 float8 f_b = blue_coef_bt709 * convert_float8(cb);
375 uchar8 r_0 = convert_uchar8_sat_rtz(f_r);
376 uchar8 g_0 = convert_uchar8_sat_rtz(f_g);
377 uchar8 b_0 = convert_uchar8_sat_rtz(f_b);
379 uchar16 rgba_0 = (uchar16)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255,
380 r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
381 uchar16 rgba_1 = (uchar16)(r_0.s4, g_0.s4, b_0.s4, 255, r_0.s5, g_0.s5, b_0.s5, 255,
382 r_0.s6, g_0.s6, b_0.s6, 255, r_0.s7, g_0.s7, b_0.s7, 255);
384 vstore16(rgba_0, 0, out.
ptr);
385 vstore16(rgba_1, 0, out.
ptr + 16);
424 uchar8 rgb_0 = vload8(0, in.
ptr);
425 uchar2 r_0 = (uchar2)(rgb_0.s0, rgb_0.s3);
426 uchar2 g_0 = (uchar2)(rgb_0.s1, rgb_0.s4);
427 uchar2 b_0 = (uchar2)(rgb_0.s2, rgb_0.s5);
429 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);
430 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);
431 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);
433 short2 i_y = convert_short2_rtz(f_y);
434 short2 i_u = convert_short2_rtz(f_u) + (short2)(128);
435 short2 i_v = convert_short2_rtz(f_v) + (short2)(128);
437 uchar2 luma_0 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
438 vstore2(luma_0, 0, out_y.
ptr);
440 uchar2 cb_0 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
441 uchar2 cr_0 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
445 uchar2 r_1 = (uchar2)(rgb_1.s0, rgb_1.s3);
446 uchar2 g_1 = (uchar2)(rgb_1.s1, rgb_1.s4);
447 uchar2 b_1 = (uchar2)(rgb_1.s2, rgb_1.s5);
449 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);
450 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);
451 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);
453 i_y = convert_short2_rtz(f_y);
454 i_u = convert_short2_rtz(f_u) + (short2)(128);
455 i_v = convert_short2_rtz(f_v) + (short2)(128);
457 uchar2 luma_1 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
458 vstore2(luma_1, 0, out_y.
ptr + luma_stride_y);
460 uchar2 cb_1 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
461 uchar2 cr_1 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
462 uchar2 cbcr = (uchar2)(((cb_0.s0 + cb_0.s1 + cb_1.s0 + cb_1.s1) / 4),
463 ((cr_0.s0 + cr_0.s1 + cr_1.s0 + cr_1.s1) / 4));
465 vstore2(cbcr, 0, out_uv.
ptr);
508 uchar4 luma_0 = vload4(0, in_luma.
ptr);
509 uchar4 luma_1 = vload4(0, in_luma.
ptr + luma_input_stride_y);
510 uchar4 cbcr = vload4(0, in_uv.
ptr);
511 char4 cb = (char4)(cbcr.s0, cbcr.s0, cbcr.s2, cbcr.s2) - (char4)(128);
512 char4 cr = (char4)(cbcr.s1, cbcr.s1, cbcr.s3, cbcr.s3) - (char4)(128);
514 float4 temp0 = (float4)(0.0000f) + (float4)(0.0000f) * convert_float4(cb) + (float4)(1.5748f) * convert_float4(cr);
515 float4 temp1 = (float4)(0.0000f) - (float4)(0.1873f) * convert_float4(cb) - (float4)(0.4681f) * convert_float4(cr);
516 float4 temp2 = (float4)(0.0000f) + (float4)(1.8556f) * convert_float4(cb) + (float4)(0.0000f) * convert_float4(cr);
518 float4 f_r = convert_float4(luma_0) + temp0;
519 float4 f_g = convert_float4(luma_0) + temp1;
520 float4 f_b = convert_float4(luma_0) + temp2;
522 uchar4 r_0 = convert_uchar4_sat_rtz(f_r);
523 uchar4 g_0 = convert_uchar4_sat_rtz(f_g);
524 uchar4 b_0 = convert_uchar4_sat_rtz(f_b);
526 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);
527 uchar4 rgb_1 = (uchar4)(b_0.s2, r_0.s3, g_0.s3, b_0.s3);
528 vstore8(rgb_0, 0, out_rgb.
ptr);
529 vstore4(rgb_1, 0, out_rgb.
ptr + 8);
531 f_r = convert_float4(luma_1) + temp0;
532 f_g = convert_float4(luma_1) + temp1;
533 f_b = convert_float4(luma_1) + temp2;
535 r_0 = convert_uchar4_sat_rtz(f_r);
536 g_0 = convert_uchar4_sat_rtz(f_g);
537 b_0 = convert_uchar4_sat_rtz(f_b);
539 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);
540 rgb_1 = (uchar4)(b_0.s2, r_0.s3, g_0.s3, b_0.s3);
541 vstore8(rgb_0, 0, out_rgb.
ptr + rgb_output_stride_y);
542 vstore4(rgb_1, 0, out_rgb.
ptr + rgb_output_stride_y + 8);
589 uchar16 rgb_0 = vload16(0, in_rgb.
ptr);
590 uchar4 r_0 = (uchar4)(rgb_0.s0, rgb_0.s3, rgb_0.s6, rgb_0.s9);
591 uchar4 g_0 = (uchar4)(rgb_0.s1, rgb_0.s4, rgb_0.s7, rgb_0.sa);
592 uchar4 b_0 = (uchar4)(rgb_0.s2, rgb_0.s5, rgb_0.s8, rgb_0.sb);
594 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);
595 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);
596 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);
598 short4 i_y = convert_short4_rtz(f_y);
599 short4 i_u = convert_short4_rtz(f_u) + (short4)(128);
600 short4 i_v = convert_short4_rtz(f_v) + (short4)(128);
602 uchar4 luma_0 = convert_uchar4(max((short4)(0), min(i_y, (short4)(255))));
603 vstore4(luma_0, 0, out_y.
ptr);
605 uchar4 cb_0 = convert_uchar4(max((short4)(0), min(i_u, (short4)(255))));
606 uchar4 cr_0 = convert_uchar4(max((short4)(0), min(i_v, (short4)(255))));
607 vstore4(cb_0, 0, out_u.
ptr);
608 vstore4(cr_0, 0, out_v.
ptr);
655 uchar8 rgb_0 = vload8(0, in_rgb.
ptr);
656 uchar2 r_0 = (uchar2)(rgb_0.s0, rgb_0.s3);
657 uchar2 g_0 = (uchar2)(rgb_0.s1, rgb_0.s4);
658 uchar2 b_0 = (uchar2)(rgb_0.s2, rgb_0.s5);
660 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);
661 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);
662 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);
664 short2 i_y = convert_short2_rtz(f_y);
665 short2 i_u = convert_short2_rtz(f_u) + (short2)(128);
666 short2 i_v = convert_short2_rtz(f_v) + (short2)(128);
668 uchar2 luma_0 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
669 vstore2(luma_0, 0, out_y.
ptr);
671 uchar2 cb_0 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
672 uchar2 cr_0 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
675 uchar8 rgb_1 = vload8(0, in_rgb.
ptr + rgb_input_stride_y);
676 uchar2 r_1 = (uchar2)(rgb_1.s0, rgb_1.s3);
677 uchar2 g_1 = (uchar2)(rgb_1.s1, rgb_1.s4);
678 uchar2 b_1 = (uchar2)(rgb_1.s2, rgb_1.s5);
680 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);
681 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);
682 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);
684 i_y = convert_short2_rtz(f_y);
685 i_u = convert_short2_rtz(f_u) + (short2)(128);
686 i_v = convert_short2_rtz(f_v) + (short2)(128);
688 uchar2 luma_1 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
689 vstore2(luma_1, 0, out_y.
ptr + luma_output_stride_y);
691 uchar2 cb_1 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
692 uchar2 cr_1 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
693 uchar2 cbcr = (uchar2)(((cb_0.s0 + cb_0.s1 + cb_1.s0 + cb_1.s1) / 4),
694 ((cr_0.s0 + cr_0.s1 + cr_1.s0 + cr_1.s1) / 4));
743 uchar16 rgb_0 = vload16(0, in_rgba.
ptr);
744 uchar4 r_0 = (uchar4)(rgb_0.s0, rgb_0.s4, rgb_0.s8, rgb_0.sc);
745 uchar4 g_0 = (uchar4)(rgb_0.s1, rgb_0.s5, rgb_0.s9, rgb_0.sd);
746 uchar4 b_0 = (uchar4)(rgb_0.s2, rgb_0.s6, rgb_0.sa, rgb_0.se);
748 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);
749 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);
750 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);
752 short4 i_y = convert_short4(f_y);
753 short4 i_u = convert_short4(f_u) + (short4)(128);
754 short4 i_v = convert_short4(f_v) + (short4)(128);
756 uchar4 luma_0 = convert_uchar4_sat(max((short4)(0), min(i_y, (short4)(255))));
757 vstore4(luma_0, 0, out_y.
ptr);
759 uchar4 cb_0 = convert_uchar4_sat(max((short4)(0), min(i_u, (short4)(255))));
760 uchar4 cr_0 = convert_uchar4_sat(max((short4)(0), min(i_v, (short4)(255))));
761 vstore4(cb_0, 0, out_u.
ptr);
762 vstore4(cr_0, 0, out_v.
ptr);
800 uchar8 rgb_0 = vload8(0, in.
ptr);
801 uchar2 r_0 = (uchar2)(rgb_0.s0, rgb_0.s4);
802 uchar2 g_0 = (uchar2)(rgb_0.s1, rgb_0.s5);
803 uchar2 b_0 = (uchar2)(rgb_0.s2, rgb_0.s6);
805 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);
806 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);
807 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);
809 short2 i_y = convert_short2_rtz(f_y);
810 short2 i_u = convert_short2_rtz(f_u) + (short2)(128);
811 short2 i_v = convert_short2_rtz(f_v) + (short2)(128);
813 uchar2 luma_0 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
814 vstore2(luma_0, 0, out_y.
ptr);
816 uchar2 cb_0 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
817 uchar2 cr_0 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
821 uchar2 r_1 = (uchar2)(rgb_1.s0, rgb_1.s4);
822 uchar2 g_1 = (uchar2)(rgb_1.s1, rgb_1.s5);
823 uchar2 b_1 = (uchar2)(rgb_1.s2, rgb_1.s6);
825 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);
826 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);
827 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);
829 i_y = convert_short2_rtz(f_y);
830 i_u = convert_short2_rtz(f_u) + (short2)(128);
831 i_v = convert_short2_rtz(f_v) + (short2)(128);
833 uchar2 luma_1 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
834 vstore2(luma_1, 0, out_y.
ptr + luma_output_stride_y);
836 uchar2 cb_1 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
837 uchar2 cr_1 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
838 uchar2 cbcr = (uchar2)(((cb_0.s0 + cb_0.s1 + cb_1.s0 + cb_1.s1) / 4),
839 ((cr_0.s0 + cr_0.s1 + cr_1.s0 + cr_1.s1) / 4));
840 vstore2(cbcr, 0, out_uv.
ptr);
887 uchar8 rgb_0 = vload8(0, in_rgb.
ptr);
888 uchar2 r_0 = (uchar2)(rgb_0.s0, rgb_0.s4);
889 uchar2 g_0 = (uchar2)(rgb_0.s1, rgb_0.s5);
890 uchar2 b_0 = (uchar2)(rgb_0.s2, rgb_0.s6);
892 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);
893 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);
894 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);
896 short2 i_y = convert_short2_rtz(f_y);
897 short2 i_u = convert_short2_rtz(f_u) + (short2)(128);
898 short2 i_v = convert_short2_rtz(f_v) + (short2)(128);
900 uchar2 luma_0 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
901 vstore2(luma_0, 0, out_y.
ptr);
903 uchar2 cb_0 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
904 uchar2 cr_0 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
907 uchar8 rgb_1 = vload8(0, in_rgb.
ptr + rgba_input_stride_y);
908 uchar2 r_1 = (uchar2)(rgb_1.s0, rgb_1.s4);
909 uchar2 g_1 = (uchar2)(rgb_1.s1, rgb_1.s5);
910 uchar2 b_1 = (uchar2)(rgb_1.s2, rgb_1.s6);
912 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);
913 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);
914 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);
916 i_y = convert_short2_rtz(f_y);
917 i_u = convert_short2_rtz(f_u) + (short2)(128);
918 i_v = convert_short2_rtz(f_v) + (short2)(128);
920 uchar2 luma_1 = convert_uchar2(max((short2)(0), min(i_y, (short2)(255))));
921 vstore2(luma_1, 0, out_y.
ptr + luma_output_stride_y);
923 uchar2 cb_1 = convert_uchar2(max((short2)(0), min(i_u, (short2)(255))));
924 uchar2 cr_1 = convert_uchar2(max((short2)(0), min(i_v, (short2)(255))));
925 uchar2 cbcr = (uchar2)(((cb_0.s0 + cb_0.s1 + cb_1.s0 + cb_1.s1) / 4),
926 ((cr_0.s0 + cr_0.s1 + cr_1.s0 + cr_1.s1) / 4));
964 uchar4 luma_0 = vload4(0, in_luma.
ptr);
965 uchar4 luma_1 = vload4(0, in_luma.
ptr + luma_input_stride_y);
966 uchar4 cbcr = vload4(0, in_uv.
ptr);
967 char4 cb = (char4)(cbcr.s0, cbcr.s0, cbcr.s2, cbcr.s2) - (char4)(128);
968 char4 cr = (char4)(cbcr.s1, cbcr.s1, cbcr.s3, cbcr.s3) - (char4)(128);
970 float4 temp0 = (float4)(0.0000f) + (float4)(0.0000f) * convert_float4(cb) + (float4)(1.5748f) * convert_float4(cr);
971 float4 temp1 = (float4)(0.0000f) - (float4)(0.1873f) * convert_float4(cb) - (float4)(0.4681f) * convert_float4(cr);
972 float4 temp2 = (float4)(0.0000f) + (float4)(1.8556f) * convert_float4(cb) + (float4)(0.0000f) * convert_float4(cr);
974 float4 f_r = convert_float4(luma_0) + temp0;
975 float4 f_g = convert_float4(luma_0) + temp1;
976 float4 f_b = convert_float4(luma_0) + temp2;
978 uchar4 r_0 = convert_uchar4_sat_rtz(f_r);
979 uchar4 g_0 = convert_uchar4_sat_rtz(f_g);
980 uchar4 b_0 = convert_uchar4_sat_rtz(f_b);
982 uchar8 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255);
983 uchar8 rgb_1 = (uchar8)(r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
984 vstore8(rgb_0, 0, out_rgb.
ptr);
985 vstore8(rgb_1, 0, out_rgb.
ptr + 8);
987 f_r = convert_float4(luma_1) + temp0;
988 f_g = convert_float4(luma_1) + temp1;
989 f_b = convert_float4(luma_1) + temp2;
991 r_0 = convert_uchar4_sat_rtz(f_r);
992 g_0 = convert_uchar4_sat_rtz(f_g);
993 b_0 = convert_uchar4_sat_rtz(f_b);
995 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255);
996 rgb_1 = (uchar8)(r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
997 vstore8(rgb_0, 0, out_rgb.
ptr + rgb_output_stride_y);
998 vstore8(rgb_1, 0, out_rgb.
ptr + rgb_output_stride_y + 8);
1051 uchar16 luma_0 = vload16(0, in_y.
ptr);
1052 uchar16 luma_1 = vload16(0, in_y.
ptr + luma_input_stride_y);
1053 uchar16 cbcr = vload16(0, in_uv.
ptr);
1054 uchar8 cb = (uchar8)(cbcr.s0, cbcr.s2, cbcr.s4, cbcr.s6, cbcr.s8, cbcr.sa, cbcr.sc, cbcr.se);
1055 uchar8 cr = (uchar8)(cbcr.s1, cbcr.s3, cbcr.s5, cbcr.s7, cbcr.s9, cbcr.sb, cbcr.sd, cbcr.sf);
1057 vstore16(luma_0, 0, out_y.
ptr);
1058 vstore16(luma_1, 0, out_y.
ptr + luma_output_stride_y);
1059 vstore8(cb, 0, out_u.
ptr);
1060 vstore8(cr, 0, out_v.
ptr);
1113 uchar16 luma_0 = vload16(0, in_y.
ptr);
1114 uchar16 luma_1 = vload16(0, in_y.
ptr + luma_input_stride_y);
1115 uchar16 cbcr = vload16(0, in_uv.
ptr);
1116 uchar16 cb = (uchar16)(cbcr.s0, cbcr.s0, cbcr.s2, cbcr.s2, cbcr.s4, cbcr.s4, cbcr.s6, cbcr.s6, cbcr.s8, cbcr.s8,
1117 cbcr.sa, cbcr.sa, cbcr.sc, cbcr.sc, cbcr.se, cbcr.se);
1118 uchar16 cr = (uchar16)(cbcr.s1, cbcr.s1, cbcr.s3, cbcr.s3, cbcr.s5, cbcr.s5, cbcr.s7, cbcr.s7, cbcr.s9, cbcr.s9,
1119 cbcr.sb, cbcr.sb, cbcr.sd, cbcr.sd, cbcr.sf, cbcr.sf);
1121 vstore16(luma_0, 0, out_y.
ptr);
1122 vstore16(luma_1, 0, out_y.
ptr + luma_output_stride_y);
1123 vstore16(cb, 0, out_u.
ptr);
1124 vstore16(cb, 0, out_u.
ptr + u_output_stride_y);
1125 vstore16(cr, 0, out_v.
ptr);
1126 vstore16(cr, 0, out_v.
ptr + v_output_stride_y);
1163 uchar4 luma_0 = vload4(0, in_y.
ptr);
1164 uchar4 luma_1 = vload4(0, in_y.
ptr + luma_input_stride_y);
1165 uchar4 cbcr = vload4(0, in_uv.
ptr);
1166 char4 cr = (char4)(cbcr.s0, cbcr.s0, cbcr.s2, cbcr.s2) - (char4)(128);
1167 char4 cb = (char4)(cbcr.s1, cbcr.s1, cbcr.s3, cbcr.s3) - (char4)(128);
1169 float4 temp0 = (float4)(0.0000f) + (float4)(0.0000f) * convert_float4(cb) + (float4)(1.5748f) * convert_float4(cr);
1170 float4 temp1 = (float4)(0.0000f) - (float4)(0.1873f) * convert_float4(cb) - (float4)(0.4681f) * convert_float4(cr);
1171 float4 temp2 = (float4)(0.0000f) + (float4)(1.8556f) * convert_float4(cb) + (float4)(0.0000f) * convert_float4(cr);
1173 float4 f_r = convert_float4(luma_0) + temp0;
1174 float4 f_g = convert_float4(luma_0) + temp1;
1175 float4 f_b = convert_float4(luma_0) + temp2;
1177 uchar4 r_0 = convert_uchar4_sat_rtz(f_r);
1178 uchar4 g_0 = convert_uchar4_sat_rtz(f_g);
1179 uchar4 b_0 = convert_uchar4_sat_rtz(f_b);
1181 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);
1182 uchar4 rgb_1 = (uchar4)(b_0.s2, r_0.s3, g_0.s3, b_0.s3);
1183 vstore8(rgb_0, 0, out_rgb.
ptr);
1184 vstore4(rgb_1, 0, out_rgb.
ptr + 8);
1186 f_r = convert_float4(luma_1) + temp0;
1187 f_g = convert_float4(luma_1) + temp1;
1188 f_b = convert_float4(luma_1) + temp2;
1190 r_0 = convert_uchar4_sat_rtz(f_r);
1191 g_0 = convert_uchar4_sat_rtz(f_g);
1192 b_0 = convert_uchar4_sat_rtz(f_b);
1194 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);
1195 rgb_1 = (uchar4)(b_0.s2, r_0.s3, g_0.s3, b_0.s3);
1196 vstore8(rgb_0, 0, out_rgb.
ptr + rgb_output_stride_y);
1197 vstore4(rgb_1, 0, out_rgb.
ptr + rgb_output_stride_y + 8);
1234 uchar4 luma_0 = vload4(0, in_luma.
ptr);
1235 uchar4 luma_1 = vload4(0, in_luma.
ptr + luma_input_stride_y);
1236 uchar4 cbcr = vload4(0, in_uv.
ptr);
1237 char4 cr = (char4)(cbcr.s0, cbcr.s0, cbcr.s2, cbcr.s2) - (char4)(128);
1238 char4 cb = (char4)(cbcr.s1, cbcr.s1, cbcr.s3, cbcr.s3) - (char4)(128);
1240 float4 temp0 = (float4)(0.0000f) + (float4)(0.0000f) * convert_float4(cb) + (float4)(1.5748f) * convert_float4(cr);
1241 float4 temp1 = (float4)(0.0000f) - (float4)(0.1873f) * convert_float4(cb) - (float4)(0.4681f) * convert_float4(cr);
1242 float4 temp2 = (float4)(0.0000f) + (float4)(1.8556f) * convert_float4(cb) + (float4)(0.0000f) * convert_float4(cr);
1244 float4 f_r = convert_float4(luma_0) + temp0;
1245 float4 f_g = convert_float4(luma_0) + temp1;
1246 float4 f_b = convert_float4(luma_0) + temp2;
1248 uchar4 r_0 = convert_uchar4_sat_rtz(f_r);
1249 uchar4 g_0 = convert_uchar4_sat_rtz(f_g);
1250 uchar4 b_0 = convert_uchar4_sat_rtz(f_b);
1252 uchar8 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255);
1253 uchar8 rgb_1 = (uchar8)(r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
1254 vstore8(rgb_0, 0, out_rgb.
ptr);
1255 vstore8(rgb_1, 0, out_rgb.
ptr + 8);
1257 f_r = convert_float4(luma_1) + temp0;
1258 f_g = convert_float4(luma_1) + temp1;
1259 f_b = convert_float4(luma_1) + temp2;
1261 r_0 = convert_uchar4_sat_rtz(f_r);
1262 g_0 = convert_uchar4_sat_rtz(f_g);
1263 b_0 = convert_uchar4_sat_rtz(f_b);
1265 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255);
1266 rgb_1 = (uchar8)(r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
1267 vstore8(rgb_0, 0, out_rgb.
ptr + rgba_output_stride_y);
1268 vstore8(rgb_1, 0, out_rgb.
ptr + rgba_output_stride_y + 8);
1321 uchar16 luma_0 = vload16(0, in_y.
ptr);
1322 uchar16 luma_1 = vload16(0, in_y.
ptr + luma_input_stride_y);
1323 uchar16 cbcr = vload16(0, in_uv.
ptr);
1324 uchar16 cr = (uchar16)(cbcr.s0, cbcr.s0, cbcr.s2, cbcr.s2, cbcr.s4, cbcr.s4, cbcr.s6, cbcr.s6, cbcr.s8, cbcr.s8,
1325 cbcr.sa, cbcr.sa, cbcr.sc, cbcr.sc, cbcr.se, cbcr.se);
1326 uchar16 cb = (uchar16)(cbcr.s1, cbcr.s1, cbcr.s3, cbcr.s3, cbcr.s5, cbcr.s5, cbcr.s7, cbcr.s7, cbcr.s9, cbcr.s9,
1327 cbcr.sb, cbcr.sb, cbcr.sd, cbcr.sd, cbcr.sf, cbcr.sf);
1329 vstore16(luma_0, 0, out_y.
ptr);
1330 vstore16(luma_1, 0, out_y.
ptr + luma_output_stride_y);
1331 vstore16(cb, 0, out_u.
ptr);
1332 vstore16(cb, 0, out_u.
ptr + u_output_stride_y);
1333 vstore16(cr, 0, out_v.
ptr);
1334 vstore16(cr, 0, out_v.
ptr + v_output_stride_y);
1386 uchar16 luma_0 = vload16(0, in_y.
ptr);
1387 uchar16 luma_1 = vload16(0, in_y.
ptr + luma_input_stride_y);
1388 uchar16 cbcr = vload16(0, in_uv.
ptr);
1389 uchar8 cr = (uchar8)(cbcr.s0, cbcr.s2, cbcr.s4, cbcr.s6, cbcr.s8, cbcr.sa, cbcr.sc, cbcr.se);
1390 uchar8 cb = (uchar8)(cbcr.s1, cbcr.s3, cbcr.s5, cbcr.s7, cbcr.s9, cbcr.sb, cbcr.sd, cbcr.sf);
1392 vstore16(luma_0, 0, out_y.
ptr);
1393 vstore16(luma_1, 0, out_y.
ptr + luma_output_stride_y);
1394 vstore8(cb, 0, out_u.
ptr);
1395 vstore8(cr, 0, out_v.
ptr);
1441 uchar16 uyvy = vload16(0, in_uyvy.
ptr);
1442 uchar8 luma = (uchar8)(uyvy.s1, uyvy.s3, uyvy.s5, uyvy.s7, uyvy.s9, uyvy.sb, uyvy.sd, uyvy.sf);
1443 ushort4 cb_0 = (ushort4)(uyvy.s0, uyvy.s4, uyvy.s8, uyvy.sc);
1444 ushort4 cr_0 = (ushort4)(uyvy.s2, uyvy.s6, uyvy.sa, uyvy.se);
1445 vstore8(luma, 0, out_y.
ptr);
1447 uyvy = vload16(0, in_uyvy.
ptr + uyvy_input_stride_y);
1448 luma = (uchar8)(uyvy.s1, uyvy.s3, uyvy.s5, uyvy.s7, uyvy.s9, uyvy.sb, uyvy.sd, uyvy.sf);
1449 ushort4 cb_1 = (ushort4)(uyvy.s0, uyvy.s4, uyvy.s8, uyvy.sc);
1450 ushort4 cr_1 = (ushort4)(uyvy.s2, uyvy.s6, uyvy.sa, uyvy.se);
1451 vstore8(luma, 0, out_y.
ptr + luma_output_stride_y);
1453 uchar4 cb = convert_uchar4((cb_0 + cb_1) / (ushort4)(2));
1454 uchar4 cr = convert_uchar4((cr_0 + cr_1) / (ushort4)(2));
1455 vstore4(cb, 0, out_u.
ptr);
1456 vstore4(cr, 0, out_v.
ptr);
1502 uchar16 yuyv = vload16(0, in_yuyv.
ptr);
1503 uchar8 luma = (uchar8)(yuyv.s0, yuyv.s2, yuyv.s4, yuyv.s6, yuyv.s8, yuyv.sa, yuyv.sc, yuyv.se);
1504 ushort4 cb_0 = (ushort4)(yuyv.s1, yuyv.s5, yuyv.s9, yuyv.sd);
1505 ushort4 cr_0 = (ushort4)(yuyv.s3, yuyv.s7, yuyv.sb, yuyv.sf);
1506 vstore8(luma, 0, out_y.
ptr);
1508 yuyv = vload16(0, in_yuyv.
ptr + yuyv_input_stride_y);
1509 luma = (uchar8)(yuyv.s0, yuyv.s2, yuyv.s4, yuyv.s6, yuyv.s8, yuyv.sa, yuyv.sc, yuyv.se);
1510 ushort4 cb_1 = (ushort4)(yuyv.s1, yuyv.s5, yuyv.s9, yuyv.sd);
1511 ushort4 cr_1 = (ushort4)(yuyv.s3, yuyv.s7, yuyv.sb, yuyv.sf);
1512 vstore8(luma, 0, out_y.
ptr + luma_output_stride_y);
1514 uchar4 cb = convert_uchar4((cb_0 + cb_1) / (ushort4)(2));
1515 uchar4 cr = convert_uchar4((cr_0 + cr_1) / (ushort4)(2));
1516 vstore4(cb, 0, out_u.
ptr);
1517 vstore4(cr, 0, out_v.
ptr);
1562 uchar4 luma_0 = vload4(0, in_y.
ptr);
1563 uchar4 luma_1 = vload4(0, in_y.
ptr + luma_input_stride_y);
1564 uchar4 cbcr = (uchar4)(vload2(0, in_u.
ptr), vload2(0, in_v.
ptr));
1565 char4 cb = (char4)(cbcr.s0, cbcr.s0, cbcr.s1, cbcr.s1) - (char4)(128);
1566 char4 cr = (char4)(cbcr.s2, cbcr.s2, cbcr.s3, cbcr.s3) - (char4)(128);
1568 float4 temp0 = (float4)(0.0000f) + (float4)(0.0000f) * convert_float4(cb) + (float4)(1.5748f) * convert_float4(cr);
1569 float4 temp1 = (float4)(0.0000f) - (float4)(0.1873f) * convert_float4(cb) - (float4)(0.4681f) * convert_float4(cr);
1570 float4 temp2 = (float4)(0.0000f) + (float4)(1.8556f) * convert_float4(cb) + (float4)(0.0000f) * convert_float4(cr);
1572 float4 f_r = convert_float4(luma_0) + temp0;
1573 float4 f_g = convert_float4(luma_0) + temp1;
1574 float4 f_b = convert_float4(luma_0) + temp2;
1576 uchar4 r_0 = convert_uchar4_sat_rtz(f_r);
1577 uchar4 g_0 = convert_uchar4_sat_rtz(f_g);
1578 uchar4 b_0 = convert_uchar4_sat_rtz(f_b);
1580 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);
1581 uchar4 rgb_1 = (uchar4)(b_0.s2, r_0.s3, g_0.s3, b_0.s3);
1582 vstore8(rgb_0, 0, out_rgb.
ptr);
1583 vstore4(rgb_1, 0, out_rgb.
ptr + 8);
1585 f_r = convert_float4(luma_1) + temp0;
1586 f_g = convert_float4(luma_1) + temp1;
1587 f_b = convert_float4(luma_1) + temp2;
1589 r_0 = convert_uchar4_sat_rtz(f_r);
1590 g_0 = convert_uchar4_sat_rtz(f_g);
1591 b_0 = convert_uchar4_sat_rtz(f_b);
1593 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);
1594 rgb_1 = (uchar4)(b_0.s2, r_0.s3, g_0.s3, b_0.s3);
1595 vstore8(rgb_0, 0, out_rgb.
ptr + rgb_output_stride_y);
1596 vstore4(rgb_1, 0, out_rgb.
ptr + rgb_output_stride_y + 8);
1641 uchar4 luma_0 = vload4(0, in_y.
ptr);
1642 uchar4 luma_1 = vload4(0, in_y.
ptr + luma_input_stride_y);
1643 uchar4 cbcr = (uchar4)(vload2(0, in_u.
ptr), vload2(0, in_v.
ptr));
1644 char4 cb = (char4)(cbcr.s0, cbcr.s0, cbcr.s1, cbcr.s1) - (char4)(128);
1645 char4 cr = (char4)(cbcr.s2, cbcr.s2, cbcr.s3, cbcr.s3) - (char4)(128);
1647 float4 temp0 = (float4)(0.0000f) + (float4)(0.0000f) * convert_float4(cb) + (float4)(1.5748f) * convert_float4(cr);
1648 float4 temp1 = (float4)(0.0000f) - (float4)(0.1873f) * convert_float4(cb) - (float4)(0.4681f) * convert_float4(cr);
1649 float4 temp2 = (float4)(0.0000f) + (float4)(1.8556f) * convert_float4(cb) + (float4)(0.0000f) * convert_float4(cr);
1651 float4 f_r = convert_float4(luma_0) + temp0;
1652 float4 f_g = convert_float4(luma_0) + temp1;
1653 float4 f_b = convert_float4(luma_0) + temp2;
1655 uchar4 r_0 = convert_uchar4_sat_rtz(f_r);
1656 uchar4 g_0 = convert_uchar4_sat_rtz(f_g);
1657 uchar4 b_0 = convert_uchar4_sat_rtz(f_b);
1659 uchar8 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255);
1660 uchar8 rgb_1 = (uchar8)(r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
1661 vstore8(rgb_0, 0, out_rgb.
ptr);
1662 vstore8(rgb_1, 0, out_rgb.
ptr + 8);
1664 f_r = convert_float4(luma_1) + temp0;
1665 f_g = convert_float4(luma_1) + temp1;
1666 f_b = convert_float4(luma_1) + temp2;
1668 r_0 = convert_uchar4_sat_rtz(f_r);
1669 g_0 = convert_uchar4_sat_rtz(f_g);
1670 b_0 = convert_uchar4_sat_rtz(f_b);
1672 rgb_0 = (uchar8)(r_0.s0, g_0.s0, b_0.s0, 255, r_0.s1, g_0.s1, b_0.s1, 255);
1673 rgb_1 = (uchar8)(r_0.s2, g_0.s2, b_0.s2, 255, r_0.s3, g_0.s3, b_0.s3, 255);
1674 vstore8(rgb_0, 0, out_rgb.
ptr + rgba_output_stride_y);
1675 vstore8(rgb_1, 0, out_rgb.
ptr + rgba_output_stride_y + 8);
1737 uchar16 luma_0 = vload16(0, in_y.
ptr);
1738 uchar16 luma_1 = vload16(0, in_y.
ptr + luma_input_stride_y);
1739 uchar8 cb_src = vload8(0, in_u.
ptr);
1740 uchar8 cr_src = vload8(0, in_v.
ptr);
1741 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,
1742 cb_src.s4, cb_src.s4, cb_src.s5, cb_src.s5, cb_src.s6, cb_src.s6, cb_src.s7, cb_src.s7);
1743 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,
1744 cr_src.s4, cr_src.s4, cr_src.s5, cr_src.s5, cr_src.s6, cr_src.s6, cr_src.s7, cr_src.s7);
1746 vstore16(luma_0, 0, out_y.
ptr);
1747 vstore16(luma_1, 0, out_y.
ptr + luma_output_stride_y);
1748 vstore16(cb, 0, out_u.
ptr);
1749 vstore16(cb, 0, out_u.
ptr + u_output_stride_y);
1750 vstore16(cr, 0, out_v.
ptr);
1751 vstore16(cr, 0, out_v.
ptr + v_output_stride_y);
1805 uchar16 luma_0 = vload16(0, in_y.
ptr);
1806 uchar16 luma_1 = vload16(0, in_y.
ptr + luma_input_stride_y);
1807 uchar8 cb = vload8(0, in_u.
ptr);
1808 uchar8 cr = vload8(0, in_v.
ptr);
1809 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,
1810 cr.s6, cb.s7, cr.s7);
1812 vstore16(luma_0, 0, out_y.
ptr);
1813 vstore16(luma_1, 0, out_y.
ptr + luma_output_stride_y);
1814 vstore16(cbcr, 0, out_uv.
ptr);
1852 uchar16 yuyv = vload16(0, in_yuyv.
ptr);
1853 ushort8 cbcr_0 = (ushort8)(yuyv.s1, yuyv.s3, yuyv.s5, yuyv.s7, yuyv.s9, yuyv.sb, yuyv.sd, yuyv.sf);
1854 uchar8 luma = (uchar8)(yuyv.s0, yuyv.s2, yuyv.s4, yuyv.s6, yuyv.s8, yuyv.sa, yuyv.sc, yuyv.se);
1855 vstore8(luma, 0, out_y.
ptr);
1857 yuyv = vload16(0, in_yuyv.
ptr + yuyv_input_stride_y);
1858 ushort8 cbcr_1 = (ushort8)(yuyv.s1, yuyv.s3, yuyv.s5, yuyv.s7, yuyv.s9, yuyv.sb, yuyv.sd, yuyv.sf);
1859 luma = (uchar8)(yuyv.s0, yuyv.s2, yuyv.s4, yuyv.s6, yuyv.s8, yuyv.sa, yuyv.sc, yuyv.se);
1860 vstore8(luma, 0, out_y.
ptr + luma_output_stride_y);
1862 uchar8 cbcr = convert_uchar8((cbcr_0 + cbcr_1) / (ushort8)(2));
1863 vstore8(cbcr, 0, out_uv.
ptr);
1901 const uchar16 uyvy_t = vload16(0, in.
ptr);
1902 vstore8(uyvy_t.s13579bdf, 0, out_y.
ptr);
1904 const uchar16 uyvy_b = vload16(0, in.
ptr + input_uyvy_stride_y);
1905 vstore8(uyvy_b.s13579bdf, 0, out_y.
ptr + luma_stride_y);
1907 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);
1908 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);
1909 const uchar8 cbcr = convert_uchar8((cbcr_t + cbcr_b) / (ushort8)(2));
1910 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.
constexpr float blue_coef_bt709
__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.
#define CONVERT_TO_IMAGE_STRUCT(name)
constexpr float green_coef_bt709
__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)
constexpr float green_coef2_bt709
const size_t input_stride_y
constexpr float red_coef_bt709
__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 RGB888_to_U8_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 U8.
__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.