chromium/third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.h

/*
 *  Copyright (c) 2012 The WebM project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

#ifndef VPX_VP9_COMMON_VP9_SEG_COMMON_H_
#define VPX_VP9_COMMON_VP9_SEG_COMMON_H_

#include "vpx_dsp/prob.h"

#ifdef __cplusplus
extern "C" {
#endif

#define SEGMENT_DELTADATA
#define SEGMENT_ABSDATA

#define MAX_SEGMENTS
#define SEG_TREE_PROBS

#define PREDICTION_PROBS

// Segment ID used to skip background encoding
#define BACKGROUND_SEG_SKIP_ID
// Number of frames that don't skip after a key frame
#define FRAMES_NO_SKIPPING_AFTER_KEY

// Segment level features.
SEG_LVL_FEATURES;

struct segmentation {};

static INLINE int segfeature_active(const struct segmentation *seg,
                                    int segment_id,
                                    SEG_LVL_FEATURES feature_id) {}

void vp9_clearall_segfeatures(struct segmentation *seg);

void vp9_enable_segfeature(struct segmentation *seg, int segment_id,
                           SEG_LVL_FEATURES feature_id);

int vp9_seg_feature_data_max(SEG_LVL_FEATURES feature_id);

int vp9_is_segfeature_signed(SEG_LVL_FEATURES feature_id);

void vp9_set_segdata(struct segmentation *seg, int segment_id,
                     SEG_LVL_FEATURES feature_id, int seg_data);

static INLINE int get_segdata(const struct segmentation *seg, int segment_id,
                              SEG_LVL_FEATURES feature_id) {}

extern const vpx_tree_index vp9_segment_tree[TREE_SIZE(MAX_SEGMENTS)];

#ifdef __cplusplus
}  // extern "C"
#endif

#endif  // VPX_VP9_COMMON_VP9_SEG_COMMON_H_