Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Side by Side Diff: source/row_common.cc

Issue 2152623002: fix typo in YUV (Closed) Base URL: https://chromium.googlesource.com/libyuv/libyuv@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « include/libyuv/row.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2011 The LibYuv Project Authors. All rights reserved. 2 * Copyright 2011 The LibYuv Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 971 matching lines...) Expand 10 before | Expand all | Expand 10 after
982 #define UG 25 /* round(0.391 * 64) */ 982 #define UG 25 /* round(0.391 * 64) */
983 #define VG 52 /* round(0.813 * 64) */ 983 #define VG 52 /* round(0.813 * 64) */
984 #define VR -102 /* round(-1.596 * 64) */ 984 #define VR -102 /* round(-1.596 * 64) */
985 985
986 // Bias values to subtract 16 from Y and 128 from U and V. 986 // Bias values to subtract 16 from Y and 128 from U and V.
987 #define BB (UB * 128 + YGB) 987 #define BB (UB * 128 + YGB)
988 #define BG (UG * 128 + VG * 128 + YGB) 988 #define BG (UG * 128 + VG * 128 + YGB)
989 #define BR (VR * 128 + YGB) 989 #define BR (VR * 128 + YGB)
990 990
991 #if defined(__aarch64__) // 64 bit arm 991 #if defined(__aarch64__) // 64 bit arm
992 const YuvConstants SIMD_ALIGNED(kYuvI601Constants) = { 992 const struct YuvConstants SIMD_ALIGNED(kYuvI601Constants) = {
993 { -UB, -VR, -UB, -VR, -UB, -VR, -UB, -VR }, 993 { -UB, -VR, -UB, -VR, -UB, -VR, -UB, -VR },
994 { -UB, -VR, -UB, -VR, -UB, -VR, -UB, -VR }, 994 { -UB, -VR, -UB, -VR, -UB, -VR, -UB, -VR },
995 { UG, VG, UG, VG, UG, VG, UG, VG }, 995 { UG, VG, UG, VG, UG, VG, UG, VG },
996 { UG, VG, UG, VG, UG, VG, UG, VG }, 996 { UG, VG, UG, VG, UG, VG, UG, VG },
997 { BB, BG, BR, 0, 0, 0, 0, 0 }, 997 { BB, BG, BR, 0, 0, 0, 0, 0 },
998 { 0x0101 * YG, 0, 0, 0 } 998 { 0x0101 * YG, 0, 0, 0 }
999 }; 999 };
1000 const YuvConstants SIMD_ALIGNED(kYvuI601Constants) = { 1000 const struct YuvConstants SIMD_ALIGNED(kYvuI601Constants) = {
1001 { -VR, -UB, -VR, -UB, -VR, -UB, -VR, -UB }, 1001 { -VR, -UB, -VR, -UB, -VR, -UB, -VR, -UB },
1002 { -VR, -UB, -VR, -UB, -VR, -UB, -VR, -UB }, 1002 { -VR, -UB, -VR, -UB, -VR, -UB, -VR, -UB },
1003 { VG, UG, VG, UG, VG, UG, VG, UG }, 1003 { VG, UG, VG, UG, VG, UG, VG, UG },
1004 { VG, UG, VG, UG, VG, UG, VG, UG }, 1004 { VG, UG, VG, UG, VG, UG, VG, UG },
1005 { BR, BG, BB, 0, 0, 0, 0, 0 }, 1005 { BR, BG, BB, 0, 0, 0, 0, 0 },
1006 { 0x0101 * YG, 0, 0, 0 } 1006 { 0x0101 * YG, 0, 0, 0 }
1007 }; 1007 };
1008 #elif defined(__arm__) // 32 bit arm 1008 #elif defined(__arm__) // 32 bit arm
1009 const YuvConstants SIMD_ALIGNED(kYuvI601Constants) = { 1009 const struct YuvConstants SIMD_ALIGNED(kYuvI601Constants) = {
1010 { -UB, -UB, -UB, -UB, -VR, -VR, -VR, -VR, 0, 0, 0, 0, 0, 0, 0, 0 }, 1010 { -UB, -UB, -UB, -UB, -VR, -VR, -VR, -VR, 0, 0, 0, 0, 0, 0, 0, 0 },
1011 { UG, UG, UG, UG, VG, VG, VG, VG, 0, 0, 0, 0, 0, 0, 0, 0 }, 1011 { UG, UG, UG, UG, VG, VG, VG, VG, 0, 0, 0, 0, 0, 0, 0, 0 },
1012 { BB, BG, BR, 0, 0, 0, 0, 0 }, 1012 { BB, BG, BR, 0, 0, 0, 0, 0 },
1013 { 0x0101 * YG, 0, 0, 0 } 1013 { 0x0101 * YG, 0, 0, 0 }
1014 }; 1014 };
1015 const YuvConstants SIMD_ALIGNED(kYvuI601Constants) = { 1015 const struct YuvConstants SIMD_ALIGNED(kYvuI601Constants) = {
1016 { -VR, -VR, -VR, -VR, -UB, -UB, -UB, -UB, 0, 0, 0, 0, 0, 0, 0, 0 }, 1016 { -VR, -VR, -VR, -VR, -UB, -UB, -UB, -UB, 0, 0, 0, 0, 0, 0, 0, 0 },
1017 { VG, VG, VG, VG, UG, UG, UG, UG, 0, 0, 0, 0, 0, 0, 0, 0 }, 1017 { VG, VG, VG, VG, UG, UG, UG, UG, 0, 0, 0, 0, 0, 0, 0, 0 },
1018 { BR, BG, BB, 0, 0, 0, 0, 0 }, 1018 { BR, BG, BB, 0, 0, 0, 0, 0 },
1019 { 0x0101 * YG, 0, 0, 0 } 1019 { 0x0101 * YG, 0, 0, 0 }
1020 }; 1020 };
1021 #else 1021 #else
1022 const YuvConstants SIMD_ALIGNED32(kYuvI601Constants) = { 1022 const struct YuvConstants SIMD_ALIGNED32(kYuvI601Constants) = {
1023 { UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, 1023 { UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0,
1024 UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0 }, 1024 UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0 },
1025 { UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, 1025 { UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG,
1026 UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG }, 1026 UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG },
1027 { 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 1027 { 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR,
1028 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR }, 1028 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR },
1029 { BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB }, 1029 { BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB },
1030 { BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG }, 1030 { BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG },
1031 { BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR }, 1031 { BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR },
1032 { YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG } 1032 { YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG }
1033 }; 1033 };
1034 const YuvConstants SIMD_ALIGNED32(kYvuI601Constants) = { 1034 const struct YuvConstants SIMD_ALIGNED32(kYvuI601Constants) = {
1035 { VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, 1035 { VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0,
1036 VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0 }, 1036 VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0 },
1037 { VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, 1037 { VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG,
1038 VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG }, 1038 VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG },
1039 { 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 1039 { 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB,
1040 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB }, 1040 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB },
1041 { BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR }, 1041 { BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR },
1042 { BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG }, 1042 { BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG },
1043 { BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB }, 1043 { BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB },
1044 { YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG } 1044 { YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG }
(...skipping 24 matching lines...) Expand all
1069 #define UG 22 /* round(0.34414 * 64) */ 1069 #define UG 22 /* round(0.34414 * 64) */
1070 #define VG 46 /* round(0.71414 * 64) */ 1070 #define VG 46 /* round(0.71414 * 64) */
1071 #define VR -90 /* round(-1.40200 * 64) */ 1071 #define VR -90 /* round(-1.40200 * 64) */
1072 1072
1073 // Bias values to round, and subtract 128 from U and V. 1073 // Bias values to round, and subtract 128 from U and V.
1074 #define BB (UB * 128 + YGB) 1074 #define BB (UB * 128 + YGB)
1075 #define BG (UG * 128 + VG * 128 + YGB) 1075 #define BG (UG * 128 + VG * 128 + YGB)
1076 #define BR (VR * 128 + YGB) 1076 #define BR (VR * 128 + YGB)
1077 1077
1078 #if defined(__aarch64__) 1078 #if defined(__aarch64__)
1079 const YuvConstants SIMD_ALIGNED(kYuvJPEGConstants) = { 1079 const struct YuvConstants SIMD_ALIGNED(kYuvJPEGConstants) = {
1080 { -UB, -VR, -UB, -VR, -UB, -VR, -UB, -VR }, 1080 { -UB, -VR, -UB, -VR, -UB, -VR, -UB, -VR },
1081 { -UB, -VR, -UB, -VR, -UB, -VR, -UB, -VR }, 1081 { -UB, -VR, -UB, -VR, -UB, -VR, -UB, -VR },
1082 { UG, VG, UG, VG, UG, VG, UG, VG }, 1082 { UG, VG, UG, VG, UG, VG, UG, VG },
1083 { UG, VG, UG, VG, UG, VG, UG, VG }, 1083 { UG, VG, UG, VG, UG, VG, UG, VG },
1084 { BB, BG, BR, 0, 0, 0, 0, 0 }, 1084 { BB, BG, BR, 0, 0, 0, 0, 0 },
1085 { 0x0101 * YG, 0, 0, 0 } 1085 { 0x0101 * YG, 0, 0, 0 }
1086 }; 1086 };
1087 const YuvConstants SIMD_ALIGNED(kYvuJPEGConstants) = { 1087 const struct YuvConstants SIMD_ALIGNED(kYvuJPEGConstants) = {
1088 { -VR, -UB, -VR, -UB, -VR, -UB, -VR, -UB }, 1088 { -VR, -UB, -VR, -UB, -VR, -UB, -VR, -UB },
1089 { -VR, -UB, -VR, -UB, -VR, -UB, -VR, -UB }, 1089 { -VR, -UB, -VR, -UB, -VR, -UB, -VR, -UB },
1090 { VG, UG, VG, UG, VG, UG, VG, UG }, 1090 { VG, UG, VG, UG, VG, UG, VG, UG },
1091 { VG, UG, VG, UG, VG, UG, VG, UG }, 1091 { VG, UG, VG, UG, VG, UG, VG, UG },
1092 { BR, BG, BB, 0, 0, 0, 0, 0 }, 1092 { BR, BG, BB, 0, 0, 0, 0, 0 },
1093 { 0x0101 * YG, 0, 0, 0 } 1093 { 0x0101 * YG, 0, 0, 0 }
1094 }; 1094 };
1095 #elif defined(__arm__) 1095 #elif defined(__arm__)
1096 const YuvConstants SIMD_ALIGNED(kYuvJPEGConstants) = { 1096 const struct YuvConstants SIMD_ALIGNED(kYuvJPEGConstants) = {
1097 { -UB, -UB, -UB, -UB, -VR, -VR, -VR, -VR, 0, 0, 0, 0, 0, 0, 0, 0 }, 1097 { -UB, -UB, -UB, -UB, -VR, -VR, -VR, -VR, 0, 0, 0, 0, 0, 0, 0, 0 },
1098 { UG, UG, UG, UG, VG, VG, VG, VG, 0, 0, 0, 0, 0, 0, 0, 0 }, 1098 { UG, UG, UG, UG, VG, VG, VG, VG, 0, 0, 0, 0, 0, 0, 0, 0 },
1099 { BB, BG, BR, 0, 0, 0, 0, 0 }, 1099 { BB, BG, BR, 0, 0, 0, 0, 0 },
1100 { 0x0101 * YG, 0, 0, 0 } 1100 { 0x0101 * YG, 0, 0, 0 }
1101 }; 1101 };
1102 const YuvConstants SIMD_ALIGNED(kYvuJPEGConstants) = { 1102 const struct YuvConstants SIMD_ALIGNED(kYvuJPEGConstants) = {
1103 { -VR, -VR, -VR, -VR, -UB, -UB, -UB, -UB, 0, 0, 0, 0, 0, 0, 0, 0 }, 1103 { -VR, -VR, -VR, -VR, -UB, -UB, -UB, -UB, 0, 0, 0, 0, 0, 0, 0, 0 },
1104 { VG, VG, VG, VG, UG, UG, UG, UG, 0, 0, 0, 0, 0, 0, 0, 0 }, 1104 { VG, VG, VG, VG, UG, UG, UG, UG, 0, 0, 0, 0, 0, 0, 0, 0 },
1105 { BR, BG, BB, 0, 0, 0, 0, 0 }, 1105 { BR, BG, BB, 0, 0, 0, 0, 0 },
1106 { 0x0101 * YG, 0, 0, 0 } 1106 { 0x0101 * YG, 0, 0, 0 }
1107 }; 1107 };
1108 #else 1108 #else
1109 const YuvConstants SIMD_ALIGNED32(kYuvJPEGConstants) = { 1109 const struct YuvConstants SIMD_ALIGNED32(kYuvJPEGConstants) = {
1110 { UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, 1110 { UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0,
1111 UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0 }, 1111 UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0 },
1112 { UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, 1112 { UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG,
1113 UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG }, 1113 UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG },
1114 { 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 1114 { 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR,
1115 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR }, 1115 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR },
1116 { BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB }, 1116 { BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB },
1117 { BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG }, 1117 { BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG },
1118 { BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR }, 1118 { BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR },
1119 { YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG } 1119 { YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG }
1120 }; 1120 };
1121 const YuvConstants SIMD_ALIGNED32(kYvuJPEGConstants) = { 1121 const struct YuvConstants SIMD_ALIGNED32(kYvuJPEGConstants) = {
1122 { VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, 1122 { VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0,
1123 VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0 }, 1123 VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0 },
1124 { VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, 1124 { VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG,
1125 VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG }, 1125 VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG },
1126 { 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 1126 { 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB,
1127 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB }, 1127 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB },
1128 { BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR }, 1128 { BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR },
1129 { BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG }, 1129 { BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG },
1130 { BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB }, 1130 { BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB },
1131 { YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG } 1131 { YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG }
(...skipping 25 matching lines...) Expand all
1157 #define UG 14 /* round(0.21482 * 64) */ 1157 #define UG 14 /* round(0.21482 * 64) */
1158 #define VG 24 /* round(0.38059 * 64) */ 1158 #define VG 24 /* round(0.38059 * 64) */
1159 #define VR -82 /* round(-1.28033 * 64) */ 1159 #define VR -82 /* round(-1.28033 * 64) */
1160 1160
1161 // Bias values to round, and subtract 128 from U and V. 1161 // Bias values to round, and subtract 128 from U and V.
1162 #define BB (UB * 128 + YGB) 1162 #define BB (UB * 128 + YGB)
1163 #define BG (UG * 128 + VG * 128 + YGB) 1163 #define BG (UG * 128 + VG * 128 + YGB)
1164 #define BR (VR * 128 + YGB) 1164 #define BR (VR * 128 + YGB)
1165 1165
1166 #if defined(__aarch64__) 1166 #if defined(__aarch64__)
1167 const YuvConstants SIMD_ALIGNED(kYuvH709Constants) = { 1167 const struct YuvConstants SIMD_ALIGNED(kYuvH709Constants) = {
1168 { -UB, -VR, -UB, -VR, -UB, -VR, -UB, -VR }, 1168 { -UB, -VR, -UB, -VR, -UB, -VR, -UB, -VR },
1169 { -UB, -VR, -UB, -VR, -UB, -VR, -UB, -VR }, 1169 { -UB, -VR, -UB, -VR, -UB, -VR, -UB, -VR },
1170 { UG, VG, UG, VG, UG, VG, UG, VG }, 1170 { UG, VG, UG, VG, UG, VG, UG, VG },
1171 { UG, VG, UG, VG, UG, VG, UG, VG }, 1171 { UG, VG, UG, VG, UG, VG, UG, VG },
1172 { BB, BG, BR, 0, 0, 0, 0, 0 }, 1172 { BB, BG, BR, 0, 0, 0, 0, 0 },
1173 { 0x0101 * YG, 0, 0, 0 } 1173 { 0x0101 * YG, 0, 0, 0 }
1174 }; 1174 };
1175 const YuvConstants SIMD_ALIGNED(kYvuH709Constants) = { 1175 const struct YuvConstants SIMD_ALIGNED(kYvuH709Constants) = {
1176 { -VR, -UB, -VR, -UB, -VR, -UB, -VR, -UB }, 1176 { -VR, -UB, -VR, -UB, -VR, -UB, -VR, -UB },
1177 { -VR, -UB, -VR, -UB, -VR, -UB, -VR, -UB }, 1177 { -VR, -UB, -VR, -UB, -VR, -UB, -VR, -UB },
1178 { VG, UG, VG, UG, VG, UG, VG, UG }, 1178 { VG, UG, VG, UG, VG, UG, VG, UG },
1179 { VG, UG, VG, UG, VG, UG, VG, UG }, 1179 { VG, UG, VG, UG, VG, UG, VG, UG },
1180 { BR, BG, BB, 0, 0, 0, 0, 0 }, 1180 { BR, BG, BB, 0, 0, 0, 0, 0 },
1181 { 0x0101 * YG, 0, 0, 0 } 1181 { 0x0101 * YG, 0, 0, 0 }
1182 }; 1182 };
1183 #elif defined(__arm__) 1183 #elif defined(__arm__)
1184 const YuvConstants SIMD_ALIGNED(kYuvH709Constants) = { 1184 const struct YuvConstants SIMD_ALIGNED(kYuvH709Constants) = {
1185 { -UB, -UB, -UB, -UB, -VR, -VR, -VR, -VR, 0, 0, 0, 0, 0, 0, 0, 0 }, 1185 { -UB, -UB, -UB, -UB, -VR, -VR, -VR, -VR, 0, 0, 0, 0, 0, 0, 0, 0 },
1186 { UG, UG, UG, UG, VG, VG, VG, VG, 0, 0, 0, 0, 0, 0, 0, 0 }, 1186 { UG, UG, UG, UG, VG, VG, VG, VG, 0, 0, 0, 0, 0, 0, 0, 0 },
1187 { BB, BG, BR, 0, 0, 0, 0, 0 }, 1187 { BB, BG, BR, 0, 0, 0, 0, 0 },
1188 { 0x0101 * YG, 0, 0, 0 } 1188 { 0x0101 * YG, 0, 0, 0 }
1189 }; 1189 };
1190 const YuvConstants SIMD_ALIGNED(kYvuH709Constants) = { 1190 const struct YuvConstants SIMD_ALIGNED(kYvuH709Constants) = {
1191 { -VR, -VR, -VR, -VR, -UB, -UB, -UB, -UB, 0, 0, 0, 0, 0, 0, 0, 0 }, 1191 { -VR, -VR, -VR, -VR, -UB, -UB, -UB, -UB, 0, 0, 0, 0, 0, 0, 0, 0 },
1192 { VG, VG, VG, VG, UG, UG, UG, UG, 0, 0, 0, 0, 0, 0, 0, 0 }, 1192 { VG, VG, VG, VG, UG, UG, UG, UG, 0, 0, 0, 0, 0, 0, 0, 0 },
1193 { BR, BG, BB, 0, 0, 0, 0, 0 }, 1193 { BR, BG, BB, 0, 0, 0, 0, 0 },
1194 { 0x0101 * YG, 0, 0, 0 } 1194 { 0x0101 * YG, 0, 0, 0 }
1195 }; 1195 };
1196 #else 1196 #else
1197 const YuvConstants SIMD_ALIGNED32(kYuvH709Constants) = { 1197 const struct YuvConstants SIMD_ALIGNED32(kYuvH709Constants) = {
1198 { UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, 1198 { UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0,
1199 UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0 }, 1199 UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0 },
1200 { UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, 1200 { UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG,
1201 UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG }, 1201 UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG },
1202 { 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 1202 { 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR,
1203 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR }, 1203 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR },
1204 { BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB }, 1204 { BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB },
1205 { BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG }, 1205 { BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG },
1206 { BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR }, 1206 { BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR },
1207 { YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG } 1207 { YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG }
1208 }; 1208 };
1209 const YuvConstants SIMD_ALIGNED32(kYvuH709Constants) = { 1209 const struct YuvConstants SIMD_ALIGNED32(kYvuH709Constants) = {
1210 { VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, 1210 { VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0,
1211 VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0 }, 1211 VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0, VR, 0 },
1212 { VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, 1212 { VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG,
1213 VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG }, 1213 VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG, VG, UG },
1214 { 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 1214 { 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB,
1215 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB }, 1215 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB, 0, UB },
1216 { BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR }, 1216 { BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR, BR },
1217 { BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG }, 1217 { BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG, BG },
1218 { BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB }, 1218 { BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB, BB },
1219 { YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG } 1219 { YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG, YG }
(...skipping 1398 matching lines...) Expand 10 before | Expand all | Expand 10 after
2618 dst_rgb565 += twidth * 2; 2618 dst_rgb565 += twidth * 2;
2619 width -= twidth; 2619 width -= twidth;
2620 } 2620 }
2621 } 2621 }
2622 #endif 2622 #endif
2623 2623
2624 #ifdef __cplusplus 2624 #ifdef __cplusplus
2625 } // extern "C" 2625 } // extern "C"
2626 } // namespace libyuv 2626 } // namespace libyuv
2627 #endif 2627 #endif
OLDNEW
« no previous file with comments | « include/libyuv/row.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698