589 int U, V, R, G, B, V2, U5, UV;
595 unsigned int size = width * height;
596 unsigned char *iU = yuv + size;
597 unsigned char *iV = yuv + ((val_5 * size) / val_4);
598 const unsigned int halfHeight = height / val_2, halfWidth = width / val_2;
599 const unsigned int val_128 = 128;
600 for (
unsigned int i = 0; i < halfHeight; ++i) {
601 for (
unsigned int j = 0; j < halfWidth; ++j) {
602 U =
static_cast<int>(((*iU) - val_128) * 0.354);
605 V =
static_cast<int>(((*iV) - val_128) * 0.707);
612 yuv = yuv + (width - 1);
616 yuv = (yuv - width) + 1;
631 *rgba++ =
static_cast<unsigned char>(R);
632 *rgba++ =
static_cast<unsigned char>(G);
633 *rgba++ =
static_cast<unsigned char>(B);
646 *rgba++ =
static_cast<unsigned char>(R);
647 *rgba++ =
static_cast<unsigned char>(G);
648 *rgba++ =
static_cast<unsigned char>(B);
650 rgba = (rgba + (val_4 * width)) - val_7;
662 *rgba++ =
static_cast<unsigned char>(R);
663 *rgba++ =
static_cast<unsigned char>(G);
664 *rgba++ =
static_cast<unsigned char>(B);
677 *rgba++ =
static_cast<unsigned char>(R);
678 *rgba++ =
static_cast<unsigned char>(G);
679 *rgba++ =
static_cast<unsigned char>(B);
681 rgba = (rgba - (val_4 * width)) + 1;
684 rgba += val_4 * width;
699 int U, V, R, G, B, V2, U5, UV;
701 const unsigned int val_2 = 2;
702 const unsigned int val_3 = 3;
703 const unsigned int val_4 = 4;
704 const unsigned int val_5 = 5;
705 unsigned int size = width * height;
706 unsigned char *iU = yuv + size;
707 unsigned char *iV = yuv + ((val_5 * size) / val_4);
708 const unsigned int halfHeight = height / val_2, halfWidth = width / val_2;
709 const unsigned int val_128 = 128;
710 for (
unsigned int i = 0; i < halfHeight; ++i) {
711 for (
unsigned int j = 0; j < halfWidth; ++j) {
712 U =
static_cast<int>(((*iU) - val_128) * 0.354);
715 V =
static_cast<int>(((*iV) - val_128) * 0.707);
722 yuv = yuv + (width - 1);
726 yuv = (yuv - width) + 1;
741 *rgb++ =
static_cast<unsigned char>(R);
742 *rgb++ =
static_cast<unsigned char>(G);
743 *rgb++ =
static_cast<unsigned char>(B);
755 *rgb++ =
static_cast<unsigned char>(R);
756 *rgb++ =
static_cast<unsigned char>(G);
757 *rgb =
static_cast<unsigned char>(B);
758 rgb = rgb + ((val_3 * width) - val_5);
770 *rgb++ =
static_cast<unsigned char>(R);
771 *rgb++ =
static_cast<unsigned char>(G);
772 *rgb++ =
static_cast<unsigned char>(B);
784 *rgb++ =
static_cast<unsigned char>(R);
785 *rgb++ =
static_cast<unsigned char>(G);
786 *rgb =
static_cast<unsigned char>(B);
787 rgb = (rgb - (val_3 * width)) + 1;
790 rgb += val_3 * width;
919 int U, V, R, G, B, V2, U5, UV;
921 const unsigned int val_2 = 2;
922 const unsigned int val_4 = 4;
923 const unsigned int val_5 = 5;
924 const unsigned int val_7 = 7;
925 unsigned int size = width * height;
926 unsigned char *iV = yuv + size;
927 unsigned char *iU = yuv + ((val_5 * size) / val_4);
928 const unsigned int halfHeight = height / val_2, halfWidth = width / val_2;
929 const unsigned int val_128 = 128;
930 for (
unsigned int i = 0; i < halfHeight; ++i) {
931 for (
unsigned int j = 0; j < halfWidth; ++j) {
932 U =
static_cast<int>(((*iU) - val_128) * 0.354);
935 V =
static_cast<int>(((*iV) - val_128) * 0.707);
942 yuv = yuv + (width - 1);
946 yuv = (yuv - width) + 1;
961 *rgba++ =
static_cast<unsigned char>(R);
962 *rgba++ =
static_cast<unsigned char>(G);
963 *rgba++ =
static_cast<unsigned char>(B);
976 *rgba++ =
static_cast<unsigned char>(R);
977 *rgba++ =
static_cast<unsigned char>(G);
978 *rgba++ =
static_cast<unsigned char>(B);
980 rgba = rgba + ((val_4 * width) - val_7);
992 *rgba++ =
static_cast<unsigned char>(R);
993 *rgba++ =
static_cast<unsigned char>(G);
994 *rgba++ =
static_cast<unsigned char>(B);
1007 *rgba++ =
static_cast<unsigned char>(R);
1008 *rgba++ =
static_cast<unsigned char>(G);
1009 *rgba++ =
static_cast<unsigned char>(B);
1011 rgba = (rgba - (val_4 * width)) + 1;
1014 rgba += val_4 * width;
1029 int U, V, R, G, B, V2, U5, UV;
1031 const unsigned int val_2 = 2;
1032 const unsigned int val_3 = 3;
1033 const unsigned int val_4 = 4;
1034 const unsigned int val_5 = 5;
1035 unsigned int size = width * height;
1036 unsigned char *iV = yuv + size;
1037 unsigned char *iU = yuv + ((val_5 * size) / val_4);
1038 const unsigned int halfHeight = height / val_2, halfWidth = width / val_2;
1039 const unsigned int val_128 = 128;
1040 for (
unsigned int i = 0; i < halfHeight; ++i) {
1041 for (
unsigned int j = 0; j < halfWidth; ++j) {
1042 U =
static_cast<int>(((*iU) - val_128) * 0.354);
1045 V =
static_cast<int>(((*iV) - val_128) * 0.707);
1052 yuv = yuv + (width - 1);
1056 yuv = (yuv - width) + 1;
1071 *rgb++ =
static_cast<unsigned char>(R);
1072 *rgb++ =
static_cast<unsigned char>(G);
1073 *rgb++ =
static_cast<unsigned char>(B);
1085 *rgb++ =
static_cast<unsigned char>(R);
1086 *rgb++ =
static_cast<unsigned char>(G);
1087 *rgb =
static_cast<unsigned char>(B);
1088 rgb = rgb + ((val_3 * width) - val_5);
1100 *rgb++ =
static_cast<unsigned char>(R);
1101 *rgb++ =
static_cast<unsigned char>(G);
1102 *rgb++ =
static_cast<unsigned char>(B);
1114 *rgb++ =
static_cast<unsigned char>(R);
1115 *rgb++ =
static_cast<unsigned char>(G);
1116 *rgb =
static_cast<unsigned char>(B);
1117 rgb = (rgb - (val_3 * width)) + 1;
1120 rgb += val_3 * width;
1160 int U, V, R, G, B, V2, U5, UV;
1161 int Y0, Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8, Y9, Y10, Y11, Y12, Y13, Y14, Y15;
1162 const unsigned int val_2 = 2;
1163 const unsigned int val_3 = 3;
1164 const unsigned int val_4 = 4;
1165 const unsigned int val_5 = 5;
1166 const unsigned int val_12 = 12;
1167 const unsigned int val_15 = 15;
1168 const unsigned int val_16 = 16;
1169 const unsigned int val_17 = 17;
1170 unsigned int size = width * height;
1171 unsigned char *iV = yuv + size;
1172 unsigned char *iU = yuv + ((val_17 * size) / val_16);
1173 const unsigned int quarterHeight = height / val_4, quarterWidth = width / val_4;
1174 const unsigned int val_128 = 128;
1175 for (
unsigned int i = 0; i < quarterHeight; ++i) {
1176 for (
unsigned int j = 0; j < quarterWidth; ++j) {
1177 U =
static_cast<int>(((*iU) - val_128) * 0.354);
1180 V =
static_cast<int>(((*iV) - val_128) * 0.707);
1191 yuv = yuv + (width - val_3);
1199 yuv = yuv + (width - val_3);
1207 yuv = yuv + (width - val_3);
1215 yuv = (yuv - (val_3 * width)) + 1;
1243 rgba = rgba + ((val_4 * width) - val_15);
1267 rgba = rgba + ((val_4 * width) - val_15);
1291 rgba = rgba + ((val_4 * width) - val_15);
1315 rgba = (rgba - (val_12 * width)) + 1;
1317 yuv += val_3 * width;
1318 rgba += val_12 * width;
1354 int U, V, R, G, B, V2, U5, UV;
1355 int Y0, Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8, Y9, Y10, Y11, Y12, Y13, Y14, Y15;
1356 const unsigned int val_2 = 2;
1357 const unsigned int val_3 = 3;
1358 const unsigned int val_4 = 4;
1359 const unsigned int val_5 = 5;
1360 const unsigned int val_9 = 9;
1361 const unsigned int val_11 = 11;
1362 const unsigned int val_16 = 16;
1363 const unsigned int val_17 = 17;
1364 unsigned int size = width * height;
1365 unsigned char *iV = yuv + size;
1366 unsigned char *iU = yuv + ((val_17 * size) / val_16);
1367 const unsigned int quarterHeight = height / val_4, quarterWidth = width / val_4;
1368 const unsigned int val_128 = 128;
1369 for (
unsigned int i = 0; i < quarterHeight; ++i) {
1370 for (
unsigned int j = 0; j < quarterWidth; ++j) {
1371 U =
static_cast<int>((*iU - val_128) * 0.354);
1374 V =
static_cast<int>((*iV - val_128) * 0.707);
1385 yuv = yuv + (width - val_3);
1393 yuv = yuv + (width - val_3);
1401 yuv = yuv + (width - val_3);
1409 yuv = (yuv - (val_3 * width)) + 1;
1418 YVU9ToRGBsubroutine(rgb, R, G, B);
1424 YVU9ToRGBsubroutine(rgb, R, G, B);
1430 YVU9ToRGBsubroutine(rgb, R, G, B);
1436 YVU9ToRGBsubroutine(rgb, R, G, B);
1437 rgb = rgb + ((val_3 * width) - val_11);
1442 YVU9ToRGBsubroutine(rgb, R, G, B);
1448 YVU9ToRGBsubroutine(rgb, R, G, B);
1454 YVU9ToRGBsubroutine(rgb, R, G, B);
1460 YVU9ToRGBsubroutine(rgb, R, G, B);
1461 rgb = rgb + ((val_3 * width) - val_11);
1466 YVU9ToRGBsubroutine(rgb, R, G, B);
1472 YVU9ToRGBsubroutine(rgb, R, G, B);
1478 YVU9ToRGBsubroutine(rgb, R, G, B);
1484 YVU9ToRGBsubroutine(rgb, R, G, B);
1485 rgb = (rgb + (val_3 * width)) - val_11;
1490 YVU9ToRGBsubroutine(rgb, R, G, B);
1496 YVU9ToRGBsubroutine(rgb, R, G, B);
1502 YVU9ToRGBsubroutine(rgb, R, G, B);
1508 YVU9ToRGBsubroutine(rgb, R, G, B);
1509 rgb = (rgb - (val_9 * width)) + 1;
1511 yuv += val_3 * width;
1512 rgb += val_9 * width;