Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2012 The LibYuv Project Authors. All rights reserved. | 2 * Copyright 2012 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 540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 551 } | 551 } |
| 552 #endif | 552 #endif |
| 553 #if defined(HAS_I422TORGB24ROW_NEON) | 553 #if defined(HAS_I422TORGB24ROW_NEON) |
| 554 if (TestCpuFlag(kCpuHasNEON)) { | 554 if (TestCpuFlag(kCpuHasNEON)) { |
| 555 I422ToRGB24Row = I422ToRGB24Row_Any_NEON; | 555 I422ToRGB24Row = I422ToRGB24Row_Any_NEON; |
| 556 if (IS_ALIGNED(width, 8)) { | 556 if (IS_ALIGNED(width, 8)) { |
| 557 I422ToRGB24Row = I422ToRGB24Row_NEON; | 557 I422ToRGB24Row = I422ToRGB24Row_NEON; |
| 558 } | 558 } |
| 559 } | 559 } |
| 560 #endif | 560 #endif |
| 561 #if defined(HAS_I422TORGB24ROW_MSA) | |
| 562 if (TestCpuFlag(kCpuHasMSA)) { | |
| 563 I422ToRGB24Row = I422ToRGB24Row_Any_MSA; | |
|
fbarchard1
2016/10/26 17:56:31
when doing RGB24, its good to do RAW at the same t
| |
| 564 if (IS_ALIGNED(width, 16)) { | |
| 565 I422ToRGB24Row = I422ToRGB24Row_MSA; | |
| 566 } | |
| 567 } | |
| 568 #endif | |
| 561 | 569 |
| 562 for (y = 0; y < height; ++y) { | 570 for (y = 0; y < height; ++y) { |
| 563 I422ToRGB24Row(src_y, src_u, src_v, dst_rgb24, yuvconstants, width); | 571 I422ToRGB24Row(src_y, src_u, src_v, dst_rgb24, yuvconstants, width); |
| 564 dst_rgb24 += dst_stride_rgb24; | 572 dst_rgb24 += dst_stride_rgb24; |
| 565 src_y += src_stride_y; | 573 src_y += src_stride_y; |
| 566 if (y & 1) { | 574 if (y & 1) { |
| 567 src_u += src_stride_u; | 575 src_u += src_stride_u; |
| 568 src_v += src_stride_v; | 576 src_v += src_stride_v; |
| 569 } | 577 } |
| 570 } | 578 } |
| (...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1111 default: | 1119 default: |
| 1112 return -1; // unknown fourcc - return failure code. | 1120 return -1; // unknown fourcc - return failure code. |
| 1113 } | 1121 } |
| 1114 return r; | 1122 return r; |
| 1115 } | 1123 } |
| 1116 | 1124 |
| 1117 #ifdef __cplusplus | 1125 #ifdef __cplusplus |
| 1118 } // extern "C" | 1126 } // extern "C" |
| 1119 } // namespace libyuv | 1127 } // namespace libyuv |
| 1120 #endif | 1128 #endif |
| OLD | NEW |