LCOV - code coverage report
Current view: top level - media/libyuv/libyuv/source - rotate_any.cc (source / functions) Hit Total Coverage
Test: output.info Lines: 0 3 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 3 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  *  Copyright 2015 The LibYuv Project Authors. All rights reserved.
       3             :  *
       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
       6             :  *  tree. An additional intellectual property rights grant can be found
       7             :  *  in the file PATENTS. All contributing project authors may
       8             :  *  be found in the AUTHORS file in the root of the source tree.
       9             :  */
      10             : 
      11             : #include "libyuv/rotate.h"
      12             : #include "libyuv/rotate_row.h"
      13             : 
      14             : #include "libyuv/basic_types.h"
      15             : 
      16             : #ifdef __cplusplus
      17             : namespace libyuv {
      18             : extern "C" {
      19             : #endif
      20             : 
      21             : #define TANY(NAMEANY, TPOS_SIMD, MASK)                                        \
      22             :   void NAMEANY(const uint8* src, int src_stride, uint8* dst, int dst_stride,  \
      23             :                int width) {                                                   \
      24             :     int r = width & MASK;                                                     \
      25             :     int n = width - r;                                                        \
      26             :     if (n > 0) {                                                              \
      27             :       TPOS_SIMD(src, src_stride, dst, dst_stride, n);                         \
      28             :     }                                                                         \
      29             :     TransposeWx8_C(src + n, src_stride, dst + n * dst_stride, dst_stride, r); \
      30             :   }
      31             : 
      32             : #ifdef HAS_TRANSPOSEWX8_NEON
      33             : TANY(TransposeWx8_Any_NEON, TransposeWx8_NEON, 7)
      34             : #endif
      35             : #ifdef HAS_TRANSPOSEWX8_SSSE3
      36           0 : TANY(TransposeWx8_Any_SSSE3, TransposeWx8_SSSE3, 7)
      37             : #endif
      38             : #ifdef HAS_TRANSPOSEWX8_FAST_SSSE3
      39           0 : TANY(TransposeWx8_Fast_Any_SSSE3, TransposeWx8_Fast_SSSE3, 15)
      40             : #endif
      41             : #ifdef HAS_TRANSPOSEWX8_DSPR2
      42             : TANY(TransposeWx8_Any_DSPR2, TransposeWx8_DSPR2, 7)
      43             : #endif
      44             : #ifdef HAS_TRANSPOSEWX16_MSA
      45             : TANY(TransposeWx16_Any_MSA, TransposeWx16_MSA, 15)
      46             : #endif
      47             : #undef TANY
      48             : 
      49             : #define TUVANY(NAMEANY, TPOS_SIMD, MASK)                                       \
      50             :   void NAMEANY(const uint8* src, int src_stride, uint8* dst_a,                 \
      51             :                int dst_stride_a, uint8* dst_b, int dst_stride_b, int width) {  \
      52             :     int r = width & MASK;                                                      \
      53             :     int n = width - r;                                                         \
      54             :     if (n > 0) {                                                               \
      55             :       TPOS_SIMD(src, src_stride, dst_a, dst_stride_a, dst_b, dst_stride_b, n); \
      56             :     }                                                                          \
      57             :     TransposeUVWx8_C(src + n * 2, src_stride, dst_a + n * dst_stride_a,        \
      58             :                      dst_stride_a, dst_b + n * dst_stride_b, dst_stride_b, r); \
      59             :   }
      60             : 
      61             : #ifdef HAS_TRANSPOSEUVWX8_NEON
      62             : TUVANY(TransposeUVWx8_Any_NEON, TransposeUVWx8_NEON, 7)
      63             : #endif
      64             : #ifdef HAS_TRANSPOSEUVWX8_SSE2
      65           0 : TUVANY(TransposeUVWx8_Any_SSE2, TransposeUVWx8_SSE2, 7)
      66             : #endif
      67             : #ifdef HAS_TRANSPOSEUVWX8_DSPR2
      68             : TUVANY(TransposeUVWx8_Any_DSPR2, TransposeUVWx8_DSPR2, 7)
      69             : #endif
      70             : #ifdef HAS_TRANSPOSEUVWX16_MSA
      71             : TUVANY(TransposeUVWx16_Any_MSA, TransposeUVWx16_MSA, 7)
      72             : #endif
      73             : #undef TUVANY
      74             : 
      75             : #ifdef __cplusplus
      76             : }  // extern "C"
      77             : }  // namespace libyuv
      78             : #endif

Generated by: LCOV version 1.13