| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2016 The LibYuv Project Authors. All rights reserved. | 2 * Copyright 2016 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 #ifndef INCLUDE_LIBYUV_MACROS_MSA_H_ // NOLINT | 11 #ifndef INCLUDE_LIBYUV_MACROS_MSA_H_ |
| 12 #define INCLUDE_LIBYUV_MACROS_MSA_H_ | 12 #define INCLUDE_LIBYUV_MACROS_MSA_H_ |
| 13 | 13 |
| 14 #if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) | 14 #if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) |
| 15 #include <stdint.h> | 15 #include <stdint.h> |
| 16 #include <msa.h> | 16 #include <msa.h> |
| 17 | 17 |
| 18 #define LD_B(RTYPE, psrc) *((RTYPE*)(psrc)) | 18 #define LD_B(RTYPE, psrc) *((RTYPE*)(psrc)) /* NOLINT */ |
| 19 #define LD_UB(...) LD_B(v16u8, __VA_ARGS__) | 19 #define LD_UB(...) LD_B(v16u8, __VA_ARGS__) |
| 20 | 20 |
| 21 #define ST_B(RTYPE, in, pdst) *((RTYPE*)(pdst)) = (in) | 21 #define ST_B(RTYPE, in, pdst) *((RTYPE*)(pdst)) = (in) /* NOLINT */ |
| 22 #define ST_UB(...) ST_B(v16u8, __VA_ARGS__) | 22 #define ST_UB(...) ST_B(v16u8, __VA_ARGS__) |
| 23 | 23 |
| 24 /* Description : Load two vectors with 16 'byte' sized elements | 24 /* Description : Load two vectors with 16 'byte' sized elements |
| 25 Arguments : Inputs - psrc, stride | 25 Arguments : Inputs - psrc, stride |
| 26 Outputs - out0, out1 | 26 Outputs - out0, out1 |
| 27 Return Type - as per RTYPE | 27 Return Type - as per RTYPE |
| 28 Details : Load 16 byte elements in 'out0' from (psrc) | 28 Details : Load 16 byte elements in 'out0' from (psrc) |
| 29 Load 16 byte elements in 'out1' from (psrc + stride) | 29 Load 16 byte elements in 'out1' from (psrc + stride) |
| 30 */ | 30 */ |
| 31 #define LD_B2(RTYPE, psrc, stride, out0, out1) { \ | 31 #define LD_B2(RTYPE, psrc, stride, out0, out1) { \ |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 'out0' as per control vector 'mask0' | 66 'out0' as per control vector 'mask0' |
| 67 */ | 67 */ |
| 68 #define VSHF_B2(RTYPE, in0, in1, in2, in3, mask0, mask1, out0, out1) { \ | 68 #define VSHF_B2(RTYPE, in0, in1, in2, in3, mask0, mask1, out0, out1) { \ |
| 69 out0 = (RTYPE) __msa_vshf_b((v16i8) mask0, (v16i8) in1, (v16i8) in0); \ | 69 out0 = (RTYPE) __msa_vshf_b((v16i8) mask0, (v16i8) in1, (v16i8) in0); \ |
| 70 out1 = (RTYPE) __msa_vshf_b((v16i8) mask1, (v16i8) in3, (v16i8) in2); \ | 70 out1 = (RTYPE) __msa_vshf_b((v16i8) mask1, (v16i8) in3, (v16i8) in2); \ |
| 71 } | 71 } |
| 72 #define VSHF_B2_UB(...) VSHF_B2(v16u8, __VA_ARGS__) | 72 #define VSHF_B2_UB(...) VSHF_B2(v16u8, __VA_ARGS__) |
| 73 | 73 |
| 74 #endif /* !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) */ | 74 #endif /* !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) */ |
| 75 | 75 |
| 76 #endif // INCLUDE_LIBYUV_MACROS_MSA_H_ NOLINT | 76 #endif // INCLUDE_LIBYUV_MACROS_MSA_H_ |
| OLD | NEW |