WebM VP8 Codec SDK
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
vpx
vp8cx.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
11
17
#include "
vp8.h
"
18
23
#ifndef VP8CX_H
24
#define VP8CX_H
25
#include "vpx_codec_impl_top.h"
26
33
extern
vpx_codec_iface_t
vpx_codec_vp8_cx_algo;
34
extern
vpx_codec_iface_t
* vpx_codec_vp8_cx(
void
);
38
/*
39
* Algorithm Flags
40
*/
41
48
#define VP8_EFLAG_NO_REF_LAST (1<<16)
49
50
57
#define VP8_EFLAG_NO_REF_GF (1<<17)
58
59
66
#define VP8_EFLAG_NO_REF_ARF (1<<21)
67
68
74
#define VP8_EFLAG_NO_UPD_LAST (1<<18)
75
76
82
#define VP8_EFLAG_NO_UPD_GF (1<<22)
83
84
90
#define VP8_EFLAG_NO_UPD_ARF (1<<23)
91
92
98
#define VP8_EFLAG_FORCE_GF (1<<19)
99
100
106
#define VP8_EFLAG_FORCE_ARF (1<<24)
107
108
114
#define VP8_EFLAG_NO_UPD_ENTROPY (1<<20)
115
116
124
enum
vp8e_enc_control_id
125
{
126
VP8E_UPD_ENTROPY
= 5,
127
VP8E_UPD_REFERENCE
,
128
VP8E_USE_REFERENCE
,
129
VP8E_SET_ROI_MAP
,
130
VP8E_SET_ACTIVEMAP
,
131
VP8E_SET_SCALEMODE
= 11,
143
VP8E_SET_CPUUSED
= 13,
144
VP8E_SET_ENABLEAUTOALTREF
,
145
VP8E_SET_NOISE_SENSITIVITY
,
146
VP8E_SET_SHARPNESS
,
147
VP8E_SET_STATIC_THRESHOLD
,
148
VP8E_SET_TOKEN_PARTITIONS
,
149
VP8E_GET_LAST_QUANTIZER
,
152
VP8E_GET_LAST_QUANTIZER_64
,
156
VP8E_SET_ARNR_MAXFRAMES
,
157
VP8E_SET_ARNR_STRENGTH
,
158
VP8E_SET_ARNR_TYPE
,
159
VP8E_SET_TUNING
,
166
VP8E_SET_CQ_LEVEL
,
167
180
VP8E_SET_MAX_INTRA_BITRATE_PCT
181
};
182
187
typedef
enum
vpx_scaling_mode_1d
188
{
189
VP8E_NORMAL = 0,
190
VP8E_FOURFIVE = 1,
191
VP8E_THREEFIVE = 2,
192
VP8E_ONETWO = 3
193
}
VPX_SCALING_MODE
;
194
195
202
typedef
struct
vpx_roi_map
203
{
204
unsigned
char
*
roi_map
;
205
unsigned
int
rows
;
206
unsigned
int
cols
;
207
int
delta_q
[4];
208
int
delta_lf
[4];
209
unsigned
int
static_threshold
[4];
210
}
vpx_roi_map_t
;
211
219
typedef
struct
vpx_active_map
220
{
221
unsigned
char
*
active_map
;
222
unsigned
int
rows
;
223
unsigned
int
cols
;
224
}
vpx_active_map_t
;
225
231
typedef
struct
vpx_scaling_mode
232
{
233
VPX_SCALING_MODE
h_scaling_mode
;
234
VPX_SCALING_MODE
v_scaling_mode
;
235
}
vpx_scaling_mode_t
;
236
244
typedef
enum
245
{
246
VP8_ONE_TOKENPARTITION = 0,
247
VP8_TWO_TOKENPARTITION = 1,
248
VP8_FOUR_TOKENPARTITION = 2,
249
VP8_EIGHT_TOKENPARTITION = 3
250
}
vp8e_token_partitions
;
251
252
258
typedef
enum
259
{
260
VP8_TUNE_PSNR,
261
VP8_TUNE_SSIM
262
}
vp8e_tuning
;
263
264
273
/* These controls have been deprecated in favor of the flags parameter to
274
* vpx_codec_encode(). See the definition of VP8_EFLAG_* above.
275
*/
276
VPX_CTRL_USE_TYPE_DEPRECATED
(
VP8E_UPD_ENTROPY
,
int
)
277
VPX_CTRL_USE_TYPE_DEPRECATED
(
VP8E_UPD_REFERENCE
,
int
)
278
VPX_CTRL_USE_TYPE_DEPRECATED
(
VP8E_USE_REFERENCE
,
int
)
279
280
VPX_CTRL_USE_TYPE
(
VP8E_SET_ROI_MAP
,
vpx_roi_map_t
*)
281
VPX_CTRL_USE_TYPE
(
VP8E_SET_ACTIVEMAP
,
vpx_active_map_t
*)
282
VPX_CTRL_USE_TYPE
(
VP8E_SET_SCALEMODE
,
vpx_scaling_mode_t
*)
283
284
VPX_CTRL_USE_TYPE
(
VP8E_SET_CPUUSED
,
int
)
285
VPX_CTRL_USE_TYPE
(
VP8E_SET_ENABLEAUTOALTREF
,
unsigned
int
)
286
VPX_CTRL_USE_TYPE
(
VP8E_SET_NOISE_SENSITIVITY
,
unsigned
int
)
287
VPX_CTRL_USE_TYPE
(
VP8E_SET_SHARPNESS
,
unsigned
int
)
288
VPX_CTRL_USE_TYPE
(
VP8E_SET_STATIC_THRESHOLD
,
unsigned
int
)
289
VPX_CTRL_USE_TYPE
(
VP8E_SET_TOKEN_PARTITIONS
,
int
)
/* vp8e_token_partitions */
290
291
VPX_CTRL_USE_TYPE
(
VP8E_SET_ARNR_MAXFRAMES
,
unsigned
int
)
292
VPX_CTRL_USE_TYPE
(
VP8E_SET_ARNR_STRENGTH
,
unsigned
int
)
293
VPX_CTRL_USE_TYPE
(
VP8E_SET_ARNR_TYPE
,
unsigned
int
)
294
VPX_CTRL_USE_TYPE
(
VP8E_SET_TUNING
,
int
)
/* vp8e_tuning */
295
VPX_CTRL_USE_TYPE
(
VP8E_SET_CQ_LEVEL
,
unsigned
int
)
296
297
VPX_CTRL_USE_TYPE
(
VP8E_GET_LAST_QUANTIZER
,
int
*)
298
VPX_CTRL_USE_TYPE
(
VP8E_GET_LAST_QUANTIZER_64
,
int
*)
299
300
VPX_CTRL_USE_TYPE
(
VP8E_SET_MAX_INTRA_BITRATE_PCT
,
unsigned
int
)
301
302
304
#include "vpx_codec_impl_bottom.h"
305
#endif
Generated by
1.8.4