#ifndef AOM_AV1_COMMON_SEG_COMMON_H_
#define AOM_AV1_COMMON_SEG_COMMON_H_
#include "aom_dsp/prob.h"
#ifdef __cplusplus
extern "C" {
#endif
#define MAX_SEGMENTS …
#define SEG_TREE_PROBS …
#define SEG_TEMPORAL_PRED_CTXS …
#define SPATIAL_PREDICTION_PROBS …
enum { … } UENUM1BYTE(…) …;
struct segmentation { … };
struct segmentation_probs { … };
static inline int segfeature_active(const struct segmentation *seg,
uint8_t segment_id,
SEG_LVL_FEATURES feature_id) { … }
static inline void segfeatures_copy(struct segmentation *dst,
const struct segmentation *src) { … }
void av1_clearall_segfeatures(struct segmentation *seg);
void av1_enable_segfeature(struct segmentation *seg, int segment_id,
SEG_LVL_FEATURES feature_id);
void av1_calculate_segdata(struct segmentation *seg);
int av1_seg_feature_data_max(SEG_LVL_FEATURES feature_id);
int av1_is_segfeature_signed(SEG_LVL_FEATURES feature_id);
void av1_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) { … }
static inline void set_segment_id(uint8_t *segment_ids, int mi_offset,
int x_mis, int y_mis, int mi_stride,
uint8_t segment_id) { … }
#ifdef __cplusplus
}
#endif
#endif