| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  *  Copyright 2014 The LibYuv Project Authors. All rights reserved. |    2  *  Copyright 2014 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  | 
|   11 #include "libyuv/row.h" |   11 #include "libyuv/row.h" | 
 |   12 #include "libyuv/rotate_row.h" | 
|   12  |   13  | 
|   13 #include "libyuv/basic_types.h" |   14 #include "libyuv/basic_types.h" | 
|   14  |   15  | 
|   15 #ifdef __cplusplus |   16 #ifdef __cplusplus | 
|   16 namespace libyuv { |   17 namespace libyuv { | 
|   17 extern "C" { |   18 extern "C" { | 
|   18 #endif |   19 #endif | 
|   19  |   20  | 
|   20 // This module is for GCC Neon armv8 64 bit. |   21 // This module is for GCC Neon armv8 64 bit. | 
|   21 #if !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) |   22 #if !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) | 
|   22  |   23  | 
|   23 static uvec8 kVTbl4x4Transpose = |   24 static uvec8 kVTbl4x4Transpose = | 
|   24   { 0,  4,  8, 12,  1,  5,  9, 13,  2,  6, 10, 14,  3,  7, 11, 15 }; |   25   { 0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15 }; | 
|   25  |   26  | 
|   26 void TransposeWx8_NEON(const uint8* src, int src_stride, |   27 void TransposeWx8_NEON(const uint8* src, int src_stride, | 
|   27                        uint8* dst, int dst_stride, |   28                        uint8* dst, int dst_stride, int width) { | 
|   28                        int width) { |  | 
|   29   const uint8* src_temp = NULL; |   29   const uint8* src_temp = NULL; | 
|   30   int64 width64 = (int64) width;  // Work around clang 3.4 warning. |   30   int64 width64 = (int64) width;  // Work around clang 3.4 warning. | 
|   31   asm volatile ( |   31   asm volatile ( | 
|   32     // loops are on blocks of 8. loop will stop when |   32     // loops are on blocks of 8. loop will stop when | 
|   33     // counter gets to or below 0. starting the counter |   33     // counter gets to or below 0. starting the counter | 
|   34     // at w-8 allow for this |   34     // at w-8 allow for this | 
|   35     "sub         %3, %3, #8                      \n" |   35     "sub         %3, %3, #8                      \n" | 
|   36  |   36  | 
|   37     // handle 8x8 blocks. this should be the majority of the plane |   37     // handle 8x8 blocks. this should be the majority of the plane | 
|   38     "1:                                          \n" |   38     "1:                                          \n" | 
| (...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  534       "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23", |  534       "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23", | 
|  535       "v30", "v31" |  535       "v30", "v31" | 
|  536   ); |  536   ); | 
|  537 } |  537 } | 
|  538 #endif  // !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) |  538 #endif  // !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) | 
|  539  |  539  | 
|  540 #ifdef __cplusplus |  540 #ifdef __cplusplus | 
|  541 }  // extern "C" |  541 }  // extern "C" | 
|  542 }  // namespace libyuv |  542 }  // namespace libyuv | 
|  543 #endif |  543 #endif | 
| OLD | NEW |