vp9_segmentation.h 1.64 KB
Newer Older
John Koleszar's avatar
John Koleszar committed
1
/*
2
 *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
John Koleszar's avatar
John Koleszar committed
3
 *
4
 *  Use of this source code is governed by a BSD-style license
5
6
 *  that can be found in the LICENSE file in the root of the source
 *  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.
John Koleszar's avatar
John Koleszar committed
9
10
11
12
 */


#include "string.h"
13
#include "vp9/common/vp9_blockd.h"
14
#include "vp9/encoder/vp9_onyx_int.h"
John Koleszar's avatar
John Koleszar committed
15

16
17
#ifndef VP9_ENCODER_VP9_SEGMENTATION_H_
#define VP9_ENCODER_VP9_SEGMENTATION_H_
18

19
extern void vp9_update_gf_useage_maps(VP9_COMP *cpi, VP9_COMMON *cm,
20
                                      MACROBLOCK *x);
21

22
23
extern void vp9_enable_segmentation(VP9_PTR ptr);
extern void vp9_disable_segmentation(VP9_PTR ptr);
24
25
26

// Valid values for a segment are 0 to 3
// Segmentation map is arrange as [Rows][Columns]
27
extern void vp9_set_segmentation_map(VP9_PTR ptr,
28
                                     unsigned char *segmentation_map);
29
30
31
32

// The values given for each segment can be either deltas (from the default
// value chosen for the frame) or absolute values.
//
John Koleszar's avatar
John Koleszar committed
33
// Valid range for abs values is (0-127 for MB_LVL_ALT_Q), (0-63 for
34
// SEGMENT_ALT_LF)
John Koleszar's avatar
John Koleszar committed
35
// Valid range for delta values are (+/-127 for MB_LVL_ALT_Q), (+/-63 for
36
37
38
39
40
// SEGMENT_ALT_LF)
//
// abs_delta = SEGMENT_DELTADATA (deltas) abs_delta = SEGMENT_ABSDATA (use
// the absolute values given).
//
41
extern void vp9_set_segment_data(VP9_PTR ptr, signed char *feature_data,
42
                                 unsigned char abs_delta);
43

44
extern void vp9_choose_segmap_coding_method(VP9_COMP *cpi);
45
46

#endif /* __INC_SEGMENTATION_H__ */