Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 1125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1136 #undef BG | 1136 #undef BG |
| 1137 #undef BR | 1137 #undef BR |
| 1138 #undef YGB | 1138 #undef YGB |
| 1139 #undef UB | 1139 #undef UB |
| 1140 #undef UG | 1140 #undef UG |
| 1141 #undef VG | 1141 #undef VG |
| 1142 #undef VR | 1142 #undef VR |
| 1143 #undef YG | 1143 #undef YG |
| 1144 | 1144 |
| 1145 // BT.709 YUV to RGB reference | 1145 // BT.709 YUV to RGB reference |
| 1146 // * R = Y - V * -1.28033 | 1146 // R = (Y - 16) * 1.164 - V * -1.793 |
| 1147 // * G = Y - U * 0.21482 - V * 0.38059 | 1147 // G = (Y - 16) * 1.164 - U * 0.213 - V * 0.533 |
| 1148 // * B = Y - U * -2.12798 | 1148 // B = (Y - 16) * 1.164 - U * -2.112 |
| 1149 | 1149 |
| 1150 // Y contribution to R,G,B. Scale and bias. | 1150 // Y contribution to R,G,B. Scale and bias. |
| 1151 #define YG 16320 /* round(1.000 * 64 * 256 * 256 / 257) */ | 1151 #define YG 16320 /* round(1.000 * 64 * 256 * 256 / 257) */ |
|
fbarchard1
2016/09/27 22:12:43
These should now be same as bt601 to compensate fo
| |
| 1152 #define YGB 32 /* 64 / 2 */ | 1152 #define YGB 32 /* 64 / 2 */ |
| 1153 | 1153 |
| 1154 // TODO(fbarchard): Find way to express 2.12 instead of 2.0. | 1154 // TODO(fbarchard): Find way to express 2.12 instead of 2.0. |
| 1155 // U and V contributions to R,G,B. | 1155 // U and V contributions to R,G,B. |
| 1156 #define UB -128 /* max(-128, round(-2.12798 * 64)) */ | 1156 #define UB -128 /* max(-128, round(-2.112 * 64)) */ |
| 1157 #define UG 14 /* round(0.21482 * 64) */ | 1157 #define UG 14 /* round(0.213 * 64) */ |
| 1158 #define VG 24 /* round(0.38059 * 64) */ | 1158 #define VG 34 /* round(0.533 * 64) */ |
| 1159 #define VR -82 /* round(-1.28033 * 64) */ | 1159 #define VR -115 /* round(-1.793 * 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 struct 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 }, |
| (...skipping 1448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 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 |
| OLD | NEW |