WebM Codec SDK
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_VP8_H_
31 #define VPX_VP8_H_
32 
33 #include "./vpx_codec.h"
34 #include "./vpx_image.h"
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
55  /* TODO(jkoleszar): The encoder incorrectly reuses some of these values (5+)
56  * for its control ids. These should be migrated to something like the
57  * VP8_DECODER_CTRL_ID_START range next time we're ready to break the ABI.
58  */
60  VP8_COMMON_CTRL_ID_MAX,
61  VP8_DECODER_CTRL_ID_START = 256
62 };
63 
69  VP8_NOFILTERING = 0,
70  VP8_DEBLOCK = 1 << 0,
71  VP8_DEMACROBLOCK = 1 << 1,
72  VP8_ADDNOISE = 1 << 2,
75  1 << 4,
78  VP8_MFQE = 1 << 10
79 };
80 
88 typedef struct vp8_postproc_cfg {
95 
100 typedef enum vpx_ref_frame_type {
101  VP8_LAST_FRAME = 1,
102  VP8_GOLD_FRAME = 2,
103  VP8_ALTR_FRAME = 4
105 
110 typedef struct vpx_ref_frame {
114 
119 typedef struct vp9_ref_frame {
120  int idx;
123 
130 #define VPX_CTRL_VP8_SET_REFERENCE
132 #define VPX_CTRL_VP8_COPY_REFERENCE
134 #define VPX_CTRL_VP8_SET_POSTPROC
136 #define VPX_CTRL_VP8_SET_DBG_COLOR_REF_FRAME
138 #define VPX_CTRL_VP8_SET_DBG_COLOR_MB_MODES
140 #define VPX_CTRL_VP8_SET_DBG_COLOR_B_MODES
142 #define VPX_CTRL_VP8_SET_DBG_DISPLAY_MV
144 #define VPX_CTRL_VP9_GET_REFERENCE
145 
149 #ifdef __cplusplus
150 } // extern "C"
151 #endif
152 
153 #endif // VPX_VP8_H_
VP8_DEBUG_TXT_MBLK_MODES
@ VP8_DEBUG_TXT_MBLK_MODES
Definition: vp8.h:74
vp8_postproc_cfg_t
struct vp8_postproc_cfg vp8_postproc_cfg_t
post process flags
VP8_SET_POSTPROC
@ VP8_SET_POSTPROC
Definition: vp8.h:49
VPX_CTRL_USE_TYPE
#define VPX_CTRL_USE_TYPE(id, typ)
vpx_codec_control type definition macro
Definition: vpx_codec.h:419
VP8_DEBUG_TXT_DC_DIFF
@ VP8_DEBUG_TXT_DC_DIFF
Definition: vp8.h:76
vpx_ref_frame::img
vpx_image_t img
Definition: vp8.h:112
vp9_ref_frame::idx
int idx
Definition: vp8.h:120
vp9_ref_frame
VP9 specific reference frame data struct.
Definition: vp8.h:119
VP8_DEBUG_TXT_RATE_INFO
@ VP8_DEBUG_TXT_RATE_INFO
Definition: vp8.h:77
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:91
vpx_ref_frame::frame_type
vpx_ref_frame_type_t frame_type
Definition: vp8.h:111
vpx_ref_frame
reference frame data struct
Definition: vp8.h:110
vpx_ref_frame_type_t
enum vpx_ref_frame_type vpx_ref_frame_type_t
reference frame type
vpx_image
Image Descriptor.
Definition: vpx_image.h:88
VP9_GET_REFERENCE
@ VP9_GET_REFERENCE
Definition: vp8.h:59
VPX_CTRL_USE_TYPE_DEPRECATED
#define VPX_CTRL_USE_TYPE_DEPRECATED(id, typ)
vpx_codec_control deprecated type definition macro
Definition: vpx_codec.h:445
vpx_ref_frame_t
struct vpx_ref_frame vpx_ref_frame_t
reference frame data struct
vp8_postproc_cfg
post process flags
Definition: vp8.h:88
VP8_SET_DBG_COLOR_B_MODES
@ VP8_SET_DBG_COLOR_B_MODES
Definition: vp8.h:52
VP8_SET_REFERENCE
@ VP8_SET_REFERENCE
pass in an external frame into decoder to be used as reference frame
Definition: vp8.h:47
vp8_postproc_level
vp8_postproc_level
post process flags
Definition: vp8.h:68
vp8_postproc_cfg::deblocking_level
int deblocking_level
Definition: vp8.h:92
VP8_DEBUG_TXT_FRAME_INFO
@ VP8_DEBUG_TXT_FRAME_INFO
Definition: vp8.h:73
VP8_COPY_REFERENCE
@ VP8_COPY_REFERENCE
Definition: vp8.h:48
vp9_ref_frame::img
vpx_image_t img
Definition: vp8.h:121
vpx_ref_frame_type
vpx_ref_frame_type
reference frame type
Definition: vp8.h:100
vp8_postproc_cfg::noise_level
int noise_level
Definition: vp8.h:93
vp8_com_control_id
vp8_com_control_id
Control functions.
Definition: vp8.h:44
vp9_ref_frame_t
struct vp9_ref_frame vp9_ref_frame_t
VP9 specific reference frame data struct.
vpx_codec.h
Describes the codec algorithm interface to applications.
VP8_SET_DBG_DISPLAY_MV
@ VP8_SET_DBG_DISPLAY_MV
Definition: vp8.h:53
VP8_SET_DBG_COLOR_MB_MODES
@ VP8_SET_DBG_COLOR_MB_MODES
Definition: vp8.h:51
VP8_SET_DBG_COLOR_REF_FRAME
@ VP8_SET_DBG_COLOR_REF_FRAME
Definition: vp8.h:50
vpx_image.h
Describes the vpx image descriptor and associated operations.