|
1 /* |
|
2 * Copyright (c) 2010 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 |
|
12 #ifndef VP9_ENCODER_VP9_SEGMENTATION_H_ |
|
13 #define VP9_ENCODER_VP9_SEGMENTATION_H_ |
|
14 |
|
15 #include "vp9/common/vp9_blockd.h" |
|
16 #include "vp9/encoder/vp9_onyx_int.h" |
|
17 |
|
18 void vp9_enable_segmentation(VP9_PTR ptr); |
|
19 void vp9_disable_segmentation(VP9_PTR ptr); |
|
20 |
|
21 // Valid values for a segment are 0 to 3 |
|
22 // Segmentation map is arrange as [Rows][Columns] |
|
23 void vp9_set_segmentation_map(VP9_PTR ptr, unsigned char *segmentation_map); |
|
24 |
|
25 // The values given for each segment can be either deltas (from the default |
|
26 // value chosen for the frame) or absolute values. |
|
27 // |
|
28 // Valid range for abs values is (0-127 for MB_LVL_ALT_Q), (0-63 for |
|
29 // SEGMENT_ALT_LF) |
|
30 // Valid range for delta values are (+/-127 for MB_LVL_ALT_Q), (+/-63 for |
|
31 // SEGMENT_ALT_LF) |
|
32 // |
|
33 // abs_delta = SEGMENT_DELTADATA (deltas) abs_delta = SEGMENT_ABSDATA (use |
|
34 // the absolute values given). |
|
35 void vp9_set_segment_data(VP9_PTR ptr, signed char *feature_data, |
|
36 unsigned char abs_delta); |
|
37 |
|
38 void vp9_choose_segmap_coding_method(VP9_COMP *cpi); |
|
39 |
|
40 #endif // VP9_ENCODER_VP9_SEGMENTATION_H_ |