LCOV - code coverage report
Current view: top level - media/libvpx/libvpx/vp9/common - vp9_scan.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 9 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 2 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  *  Copyright (c) 2013 The WebM 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             : #ifndef VP9_COMMON_VP9_SCAN_H_
      12             : #define VP9_COMMON_VP9_SCAN_H_
      13             : 
      14             : #include "vpx/vpx_integer.h"
      15             : #include "vpx_ports/mem.h"
      16             : 
      17             : #include "vp9/common/vp9_enums.h"
      18             : #include "vp9/common/vp9_blockd.h"
      19             : 
      20             : #ifdef __cplusplus
      21             : extern "C" {
      22             : #endif
      23             : 
      24             : #define MAX_NEIGHBORS 2
      25             : 
      26             : typedef struct {
      27             :   const int16_t *scan;
      28             :   const int16_t *iscan;
      29             :   const int16_t *neighbors;
      30             : } scan_order;
      31             : 
      32             : extern const scan_order vp9_default_scan_orders[TX_SIZES];
      33             : extern const scan_order vp9_scan_orders[TX_SIZES][TX_TYPES];
      34             : 
      35           0 : static INLINE int get_coef_context(const int16_t *neighbors,
      36             :                                    const uint8_t *token_cache, int c) {
      37           0 :   return (1 + token_cache[neighbors[MAX_NEIGHBORS * c + 0]] +
      38           0 :           token_cache[neighbors[MAX_NEIGHBORS * c + 1]]) >>
      39             :          1;
      40             : }
      41             : 
      42           0 : static INLINE const scan_order *get_scan(const MACROBLOCKD *xd, TX_SIZE tx_size,
      43             :                                          PLANE_TYPE type, int block_idx) {
      44           0 :   const MODE_INFO *const mi = xd->mi[0];
      45             : 
      46           0 :   if (is_inter_block(mi) || type != PLANE_TYPE_Y || xd->lossless) {
      47           0 :     return &vp9_default_scan_orders[tx_size];
      48             :   } else {
      49           0 :     const PREDICTION_MODE mode = get_y_mode(mi, block_idx);
      50           0 :     return &vp9_scan_orders[tx_size][intra_mode_to_tx_type_lookup[mode]];
      51             :   }
      52             : }
      53             : 
      54             : #ifdef __cplusplus
      55             : }  // extern "C"
      56             : #endif
      57             : 
      58             : #endif  // VP9_COMMON_VP9_SCAN_H_

Generated by: LCOV version 1.13