WebM VP8 Codec SDK
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
vpx
vp8.h
Go to the documentation of this file.
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
30
#ifndef VP8_H
31
#define VP8_H
32
33
#include "
./vpx_codec.h
"
34
#include "
./vpx_image.h
"
35
36
#ifdef __cplusplus
37
extern
"C"
{
38
#endif
39
44
enum
vp8_com_control_id
{
45
VP8_SET_REFERENCE
= 1,
46
VP8_COPY_REFERENCE
= 2,
47
VP8_SET_POSTPROC
= 3,
48
VP8_SET_DBG_COLOR_REF_FRAME
= 4,
49
VP8_SET_DBG_COLOR_MB_MODES
= 5,
50
VP8_SET_DBG_COLOR_B_MODES
= 6,
51
VP8_SET_DBG_DISPLAY_MV
= 7,
53
/* TODO(jkoleszar): The encoder incorrectly reuses some of these values (5+)
54
* for its control ids. These should be migrated to something like the
55
* VP8_DECODER_CTRL_ID_START range next time we're ready to break the ABI.
56
*/
57
VP9_GET_REFERENCE
= 128,
58
VP8_COMMON_CTRL_ID_MAX,
59
VP8_DECODER_CTRL_ID_START = 256
60
};
61
66
enum
vp8_postproc_level
{
67
VP8_NOFILTERING = 0,
68
VP8_DEBLOCK = 1 << 0,
69
VP8_DEMACROBLOCK = 1 << 1,
70
VP8_ADDNOISE = 1 << 2,
71
VP8_DEBUG_TXT_FRAME_INFO
= 1 << 3,
72
VP8_DEBUG_TXT_MBLK_MODES
= 1 << 4,
73
VP8_DEBUG_TXT_DC_DIFF
= 1 << 5,
74
VP8_DEBUG_TXT_RATE_INFO
= 1 << 6,
75
VP8_MFQE = 1 << 10
76
};
77
85
typedef
struct
vp8_postproc_cfg
{
86
int
post_proc_flag
;
87
int
deblocking_level
;
88
int
noise_level
;
89
}
vp8_postproc_cfg_t
;
90
95
typedef
enum
vpx_ref_frame_type
{
96
VP8_LAST_FRAME = 1,
97
VP8_GOLD_FRAME = 2,
98
VP8_ALTR_FRAME = 4
99
}
vpx_ref_frame_type_t
;
100
105
typedef
struct
vpx_ref_frame
{
106
vpx_ref_frame_type_t
frame_type
;
107
vpx_image_t
img
;
108
}
vpx_ref_frame_t
;
109
114
typedef
struct
vp9_ref_frame
{
115
int
idx
;
116
vpx_image_t
img
;
117
}
vp9_ref_frame_t
;
118
123
VPX_CTRL_USE_TYPE
(
VP8_SET_REFERENCE
,
vpx_ref_frame_t
*)
124
VPX_CTRL_USE_TYPE
(
VP8_COPY_REFERENCE
,
vpx_ref_frame_t
*)
125
VPX_CTRL_USE_TYPE
(
VP8_SET_POSTPROC
,
vp8_postproc_cfg_t
*)
126
VPX_CTRL_USE_TYPE
(
VP8_SET_DBG_COLOR_REF_FRAME
,
int
)
127
VPX_CTRL_USE_TYPE
(
VP8_SET_DBG_COLOR_MB_MODES
,
int
)
128
VPX_CTRL_USE_TYPE
(
VP8_SET_DBG_COLOR_B_MODES
,
int
)
129
VPX_CTRL_USE_TYPE
(
VP8_SET_DBG_DISPLAY_MV
,
int
)
130
VPX_CTRL_USE_TYPE
(
VP9_GET_REFERENCE
,
vp9_ref_frame_t
*)
131
134
#ifdef __cplusplus
135
}
// extern "C"
136
#endif
137
138
#endif
Generated on Wed Oct 15 2014 19:17:31 for WebM VP8 Codec SDK by
1.8.3