WebM VP8 Codec SDK
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 
125 {
167 
181 };
182 
188 {
189  VP8E_NORMAL = 0,
190  VP8E_FOURFIVE = 1,
191  VP8E_THREEFIVE = 2,
192  VP8E_ONETWO = 3
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;
225 
231 typedef struct vpx_scaling_mode
232 {
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
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  */
279 
283 
289 VPX_CTRL_USE_TYPE(VP8E_SET_TOKEN_PARTITIONS, int) /* vp8e_token_partitions */
290 
294 VPX_CTRL_USE_TYPE(VP8E_SET_TUNING, int) /* vp8e_tuning */
295 VPX_CTRL_USE_TYPE(VP8E_SET_CQ_LEVEL , unsigned int)
296 
299 
301 
302 
304 #include "vpx_codec_impl_bottom.h"
305 #endif