WebM Codec SDK
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 VPX_VPX_VP8_H_
31
#define VPX_VPX_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
{
47
VP8_SET_REFERENCE
= 1,
48
VP8_COPY_REFERENCE
= 2,
49
VP8_SET_POSTPROC
= 3,
51
/* TODO(jkoleszar): The encoder incorrectly reuses some of these values (5+)
52
* for its control ids. These should be migrated to something like the
53
* VP8_DECODER_CTRL_ID_START range next time we're ready to break the ABI.
54
*/
55
VP9_GET_REFERENCE
= 128,
56
VP8_COMMON_CTRL_ID_MAX,
57
VP8_DECODER_CTRL_ID_START = 256
58
};
59
64
enum
vp8_postproc_level
{
65
VP8_NOFILTERING = 0,
66
VP8_DEBLOCK = 1 << 0,
67
VP8_DEMACROBLOCK = 1 << 1,
68
VP8_ADDNOISE = 1 << 2,
69
VP8_MFQE = 1 << 3
70
};
71
79
typedef
struct
vp8_postproc_cfg
{
82
int
post_proc_flag
;
83
int
deblocking_level
;
84
int
noise_level
;
85
}
vp8_postproc_cfg_t
;
86
91
typedef
enum
vpx_ref_frame_type
{
92
VP8_LAST_FRAME = 1,
93
VP8_GOLD_FRAME = 2,
94
VP8_ALTR_FRAME = 4
95
}
vpx_ref_frame_type_t
;
96
101
typedef
struct
vpx_ref_frame
{
102
vpx_ref_frame_type_t
frame_type
;
103
vpx_image_t
img
;
104
}
vpx_ref_frame_t
;
105
110
typedef
struct
vp9_ref_frame
{
111
int
idx
;
112
vpx_image_t
img
;
113
}
vp9_ref_frame_t
;
114
120
VPX_CTRL_USE_TYPE
(
VP8_SET_REFERENCE
,
vpx_ref_frame_t
*)
121
#define VPX_CTRL_VP8_SET_REFERENCE
122
VPX_CTRL_USE_TYPE
(
VP8_COPY_REFERENCE
,
vpx_ref_frame_t
*)
123
#define VPX_CTRL_VP8_COPY_REFERENCE
124
VPX_CTRL_USE_TYPE
(
VP8_SET_POSTPROC
,
vp8_postproc_cfg_t
*)
125
#define VPX_CTRL_VP8_SET_POSTPROC
126
VPX_CTRL_USE_TYPE
(
VP9_GET_REFERENCE
,
vp9_ref_frame_t
*)
127
#define VPX_CTRL_VP9_GET_REFERENCE
128
132
#ifdef __cplusplus
133
}
// extern "C"
134
#endif
135
136
#endif
// VPX_VPX_VP8_H_
VPX_CTRL_USE_TYPE
#define VPX_CTRL_USE_TYPE(id, typ)
vpx_codec_control type definition macro
Definition
vpx_codec.h:422
vp8_postproc_cfg_t
struct vp8_postproc_cfg vp8_postproc_cfg_t
post process flags
vp9_ref_frame_t
struct vp9_ref_frame vp9_ref_frame_t
VP9 specific reference frame data struct.
vp8_com_control_id
vp8_com_control_id
Control functions.
Definition
vp8.h:44
vpx_ref_frame_type_t
enum vpx_ref_frame_type vpx_ref_frame_type_t
reference frame type
vp8_postproc_level
vp8_postproc_level
post process flags
Definition
vp8.h:64
vpx_ref_frame_t
struct vpx_ref_frame vpx_ref_frame_t
reference frame data struct
vpx_ref_frame_type
vpx_ref_frame_type
reference frame type
Definition
vp8.h:91
VP8_SET_POSTPROC
@ VP8_SET_POSTPROC
Definition
vp8.h:49
VP8_COPY_REFERENCE
@ VP8_COPY_REFERENCE
Definition
vp8.h:48
VP8_SET_REFERENCE
@ VP8_SET_REFERENCE
pass in an external frame into decoder to be used as reference frame
Definition
vp8.h:47
VP9_GET_REFERENCE
@ VP9_GET_REFERENCE
Definition
vp8.h:55
vp8_postproc_cfg
post process flags
Definition
vp8.h:79
vp8_postproc_cfg::noise_level
int noise_level
Definition
vp8.h:84
vp8_postproc_cfg::post_proc_flag
int post_proc_flag
the types of post processing to be done, should be combination of "vp8_postproc_level"
Definition
vp8.h:82
vp8_postproc_cfg::deblocking_level
int deblocking_level
Definition
vp8.h:83
vp9_ref_frame
VP9 specific reference frame data struct.
Definition
vp8.h:110
vp9_ref_frame::idx
int idx
Definition
vp8.h:111
vp9_ref_frame::img
vpx_image_t img
Definition
vp8.h:112
vpx_image
Image Descriptor.
Definition
vpx_image.h:72
vpx_ref_frame
reference frame data struct
Definition
vp8.h:101
vpx_ref_frame::frame_type
vpx_ref_frame_type_t frame_type
Definition
vp8.h:102
vpx_ref_frame::img
vpx_image_t img
Definition
vp8.h:103
vpx_codec.h
Describes the codec algorithm interface to applications.
vpx_image.h
Describes the vpx image descriptor and associated operations.
Generated by
1.10.0