LCOV - code coverage report
Current view: top level - media/libvpx/libvpx/vp9/common - vp9_seg_common.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 4 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) 2012 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_SEG_COMMON_H_
      12             : #define VP9_COMMON_VP9_SEG_COMMON_H_
      13             : 
      14             : #include "vpx_dsp/prob.h"
      15             : 
      16             : #ifdef __cplusplus
      17             : extern "C" {
      18             : #endif
      19             : 
      20             : #define SEGMENT_DELTADATA 0
      21             : #define SEGMENT_ABSDATA 1
      22             : 
      23             : #define MAX_SEGMENTS 8
      24             : #define SEG_TREE_PROBS (MAX_SEGMENTS - 1)
      25             : 
      26             : #define PREDICTION_PROBS 3
      27             : 
      28             : // Segment level features.
      29             : typedef enum {
      30             :   SEG_LVL_ALT_Q = 0,      // Use alternate Quantizer ....
      31             :   SEG_LVL_ALT_LF = 1,     // Use alternate loop filter value...
      32             :   SEG_LVL_REF_FRAME = 2,  // Optional Segment reference frame
      33             :   SEG_LVL_SKIP = 3,       // Optional Segment (0,0) + skip mode
      34             :   SEG_LVL_MAX = 4         // Number of features supported
      35             : } SEG_LVL_FEATURES;
      36             : 
      37             : struct segmentation {
      38             :   uint8_t enabled;
      39             :   uint8_t update_map;
      40             :   uint8_t update_data;
      41             :   uint8_t abs_delta;
      42             :   uint8_t temporal_update;
      43             : 
      44             :   vpx_prob tree_probs[SEG_TREE_PROBS];
      45             :   vpx_prob pred_probs[PREDICTION_PROBS];
      46             : 
      47             :   int16_t feature_data[MAX_SEGMENTS][SEG_LVL_MAX];
      48             :   uint32_t feature_mask[MAX_SEGMENTS];
      49             :   int aq_av_offset;
      50             : };
      51             : 
      52           0 : static INLINE int segfeature_active(const struct segmentation *seg,
      53             :                                     int segment_id,
      54             :                                     SEG_LVL_FEATURES feature_id) {
      55           0 :   return seg->enabled && (seg->feature_mask[segment_id] & (1 << feature_id));
      56             : }
      57             : 
      58             : void vp9_clearall_segfeatures(struct segmentation *seg);
      59             : 
      60             : void vp9_enable_segfeature(struct segmentation *seg, int segment_id,
      61             :                            SEG_LVL_FEATURES feature_id);
      62             : 
      63             : int vp9_seg_feature_data_max(SEG_LVL_FEATURES feature_id);
      64             : 
      65             : int vp9_is_segfeature_signed(SEG_LVL_FEATURES feature_id);
      66             : 
      67             : void vp9_set_segdata(struct segmentation *seg, int segment_id,
      68             :                      SEG_LVL_FEATURES feature_id, int seg_data);
      69             : 
      70           0 : static INLINE int get_segdata(const struct segmentation *seg, int segment_id,
      71             :                               SEG_LVL_FEATURES feature_id) {
      72           0 :   return seg->feature_data[segment_id][feature_id];
      73             : }
      74             : 
      75             : extern const vpx_tree_index vp9_segment_tree[TREE_SIZE(MAX_SEGMENTS)];
      76             : 
      77             : #ifdef __cplusplus
      78             : }  // extern "C"
      79             : #endif
      80             : 
      81             : #endif  // VP9_COMMON_VP9_SEG_COMMON_H_

Generated by: LCOV version 1.13