LCOV - code coverage report
Current view: top level - third_party/aom/av1/common - reconintra.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 3 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 1 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright (c) 2016, Alliance for Open Media. All rights reserved
       3             :  *
       4             :  * This source code is subject to the terms of the BSD 2 Clause License and
       5             :  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
       6             :  * was not distributed with this source code in the LICENSE file, you can
       7             :  * obtain it at www.aomedia.org/license/software. If the Alliance for Open
       8             :  * Media Patent License 1.0 was not distributed with this source code in the
       9             :  * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
      10             :  */
      11             : 
      12             : #ifndef AV1_COMMON_RECONINTRA_H_
      13             : #define AV1_COMMON_RECONINTRA_H_
      14             : 
      15             : #include "aom/aom_integer.h"
      16             : #include "av1/common/blockd.h"
      17             : 
      18             : #ifdef __cplusplus
      19             : extern "C" {
      20             : #endif
      21             : 
      22             : #if CONFIG_DPCM_INTRA
      23             : static INLINE int av1_use_dpcm_intra(int plane, PREDICTION_MODE mode,
      24             :                                      TX_TYPE tx_type,
      25             :                                      const MB_MODE_INFO *const mbmi) {
      26             :   (void)mbmi;
      27             :   (void)plane;
      28             : #if CONFIG_EXT_INTRA
      29             :   if (mbmi->sb_type >= BLOCK_8X8 && mbmi->angle_delta[plane != 0]) return 0;
      30             : #endif  // CONFIG_EXT_INTRA
      31             :   return (mode == V_PRED && (tx_type == IDTX || tx_type == H_DCT)) ||
      32             :          (mode == H_PRED && (tx_type == IDTX || tx_type == V_DCT));
      33             : }
      34             : #endif  // CONFIG_DPCM_INTRA
      35             : 
      36             : void av1_init_intra_predictors(void);
      37             : void av1_predict_intra_block_facade(MACROBLOCKD *xd, int plane, int block_idx,
      38             :                                     int blk_col, int blk_row, TX_SIZE tx_size);
      39             : void av1_predict_intra_block(const MACROBLOCKD *xd, int bw, int bh,
      40             :                              BLOCK_SIZE bsize, PREDICTION_MODE mode,
      41             :                              const uint8_t *ref, int ref_stride, uint8_t *dst,
      42             :                              int dst_stride, int aoff, int loff, int plane);
      43             : 
      44             : #if CONFIG_EXT_INTER && CONFIG_INTERINTRA
      45             : // Mapping of interintra to intra mode for use in the intra component
      46             : static const PREDICTION_MODE interintra_to_intra_mode[INTERINTRA_MODES] = {
      47             :   DC_PRED, V_PRED, H_PRED,
      48             : #if CONFIG_ALT_INTRA
      49             :   SMOOTH_PRED
      50             : #else
      51             :   TM_PRED
      52             : #endif
      53             : };
      54             : 
      55             : // Mapping of intra mode to the interintra mode
      56             : static const INTERINTRA_MODE intra_to_interintra_mode[INTRA_MODES] = {
      57             :   II_DC_PRED,     II_V_PRED,     II_H_PRED, II_V_PRED,
      58             : #if CONFIG_ALT_INTRA
      59             :   II_SMOOTH_PRED,
      60             : #else
      61             :   II_TM_PRED,
      62             : #endif
      63             :   II_V_PRED,      II_H_PRED,     II_H_PRED, II_V_PRED,
      64             : #if CONFIG_ALT_INTRA
      65             :   II_SMOOTH_PRED, II_SMOOTH_PRED
      66             : #else
      67             :   II_TM_PRED
      68             : #endif
      69             : };
      70             : #endif  // CONFIG_EXT_INTER && CONFIG_INTERINTRA
      71             : 
      72             : #if CONFIG_FILTER_INTRA
      73             : #define FILTER_INTRA_PREC_BITS 10
      74             : #endif  // CONFIG_FILTER_INTRA
      75             : 
      76             : #if CONFIG_EXT_INTRA
      77           0 : static INLINE int av1_is_directional_mode(PREDICTION_MODE mode,
      78             :                                           BLOCK_SIZE bsize) {
      79           0 :   return mode != DC_PRED && mode != TM_PRED &&
      80             : #if CONFIG_ALT_INTRA
      81           0 :          mode != SMOOTH_PRED &&
      82             : #if CONFIG_SMOOTH_HV
      83             :          mode != SMOOTH_V_PRED && mode != SMOOTH_H_PRED &&
      84             : #endif  // CONFIG_SMOOTH_HV
      85             : #endif  // CONFIG_ALT_INTRA
      86             :          bsize >= BLOCK_8X8;
      87             : }
      88             : #endif  // CONFIG_EXT_INTRA
      89             : 
      90             : #ifdef __cplusplus
      91             : }  // extern "C"
      92             : #endif
      93             : #endif  // AV1_COMMON_RECONINTRA_H_

Generated by: LCOV version 1.13