OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 #ifndef VP8CX_H | 10 #ifndef VP8CX_H |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 * | 186 * |
187 */ | 187 */ |
188 VP8E_SET_MAX_INTRA_BITRATE_PCT, | 188 VP8E_SET_MAX_INTRA_BITRATE_PCT, |
189 | 189 |
190 | 190 |
191 /* TODO(jkoleszar): Move to vp9cx.h */ | 191 /* TODO(jkoleszar): Move to vp9cx.h */ |
192 VP9E_SET_LOSSLESS, | 192 VP9E_SET_LOSSLESS, |
193 VP9E_SET_TILE_COLUMNS, | 193 VP9E_SET_TILE_COLUMNS, |
194 VP9E_SET_TILE_ROWS, | 194 VP9E_SET_TILE_ROWS, |
195 VP9E_SET_FRAME_PARALLEL_DECODING, | 195 VP9E_SET_FRAME_PARALLEL_DECODING, |
| 196 VP9E_SET_AQ_MODE, |
196 | 197 |
197 VP9E_SET_WIDTH = 99, | |
198 VP9E_SET_HEIGHT, | |
199 VP9E_SET_LAYER, | |
200 VP9E_SET_SVC, | 198 VP9E_SET_SVC, |
201 | 199 VP9E_SET_SVC_PARAMETERS |
202 VP9E_SET_MAX_Q, | |
203 VP9E_SET_MIN_Q | |
204 }; | 200 }; |
205 | 201 |
206 /*!\brief vpx 1-D scaling mode | 202 /*!\brief vpx 1-D scaling mode |
207 * | 203 * |
208 * This set of constants define 1-D vpx scaling modes | 204 * This set of constants define 1-D vpx scaling modes |
209 */ | 205 */ |
210 typedef enum vpx_scaling_mode_1d { | 206 typedef enum vpx_scaling_mode_1d { |
211 VP8E_NORMAL = 0, | 207 VP8E_NORMAL = 0, |
212 VP8E_FOURFIVE = 1, | 208 VP8E_FOURFIVE = 1, |
213 VP8E_THREEFIVE = 2, | 209 VP8E_THREEFIVE = 2, |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
276 /*!\brief VP8 model tuning parameters | 272 /*!\brief VP8 model tuning parameters |
277 * | 273 * |
278 * Changes the encoder to tune for certain types of input material. | 274 * Changes the encoder to tune for certain types of input material. |
279 * | 275 * |
280 */ | 276 */ |
281 typedef enum { | 277 typedef enum { |
282 VP8_TUNE_PSNR, | 278 VP8_TUNE_PSNR, |
283 VP8_TUNE_SSIM | 279 VP8_TUNE_SSIM |
284 } vp8e_tuning; | 280 } vp8e_tuning; |
285 | 281 |
| 282 /*!\brief vp9 svc parameters |
| 283 * |
| 284 * This defines parameters for svc encoding. |
| 285 * |
| 286 */ |
| 287 typedef struct vpx_svc_parameters { |
| 288 unsigned int width; /**< width of current spatial layer */ |
| 289 unsigned int height; /**< height of current spatial layer */ |
| 290 int layer; /**< current layer number - 0 = base */ |
| 291 int flags; /**< encode frame flags */ |
| 292 int max_quantizer; /**< max quantizer for current layer */ |
| 293 int min_quantizer; /**< min quantizer for current layer */ |
| 294 int distance_from_i_frame; /**< frame number within current gop */ |
| 295 int lst_fb_idx; /**< last frame frame buffer index */ |
| 296 int gld_fb_idx; /**< golden frame frame buffer index */ |
| 297 int alt_fb_idx; /**< alt reference frame frame buffer index */ |
| 298 } vpx_svc_parameters_t; |
286 | 299 |
287 /*!\brief VP8 encoder control function parameter type | 300 /*!\brief VP8 encoder control function parameter type |
288 * | 301 * |
289 * Defines the data types that VP8E control functions take. Note that | 302 * Defines the data types that VP8E control functions take. Note that |
290 * additional common controls are defined in vp8.h | 303 * additional common controls are defined in vp8.h |
291 * | 304 * |
292 */ | 305 */ |
293 | 306 |
294 | 307 |
295 /* These controls have been deprecated in favor of the flags parameter to | 308 /* These controls have been deprecated in favor of the flags parameter to |
296 * vpx_codec_encode(). See the definition of VP8_EFLAG_* above. | 309 * vpx_codec_encode(). See the definition of VP8_EFLAG_* above. |
297 */ | 310 */ |
298 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_UPD_ENTROPY, int) | 311 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_UPD_ENTROPY, int) |
299 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_UPD_REFERENCE, int) | 312 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_UPD_REFERENCE, int) |
300 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_USE_REFERENCE, int) | 313 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_USE_REFERENCE, int) |
301 | 314 |
302 VPX_CTRL_USE_TYPE(VP8E_SET_ROI_MAP, vpx_roi_map_t *) | 315 VPX_CTRL_USE_TYPE(VP8E_SET_ROI_MAP, vpx_roi_map_t *) |
303 VPX_CTRL_USE_TYPE(VP8E_SET_ACTIVEMAP, vpx_active_map_t *) | 316 VPX_CTRL_USE_TYPE(VP8E_SET_ACTIVEMAP, vpx_active_map_t *) |
304 VPX_CTRL_USE_TYPE(VP8E_SET_SCALEMODE, vpx_scaling_mode_t *) | 317 VPX_CTRL_USE_TYPE(VP8E_SET_SCALEMODE, vpx_scaling_mode_t *) |
305 | 318 |
306 VPX_CTRL_USE_TYPE(VP9E_SET_LAYER, int *) | |
307 VPX_CTRL_USE_TYPE(VP9E_SET_SVC, int) | 319 VPX_CTRL_USE_TYPE(VP9E_SET_SVC, int) |
308 | 320 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_PARAMETERS, vpx_svc_parameters_t *) |
309 VPX_CTRL_USE_TYPE(VP9E_SET_WIDTH, unsigned int *) | |
310 VPX_CTRL_USE_TYPE(VP9E_SET_HEIGHT, unsigned int *) | |
311 | 321 |
312 VPX_CTRL_USE_TYPE(VP8E_SET_CPUUSED, int) | 322 VPX_CTRL_USE_TYPE(VP8E_SET_CPUUSED, int) |
313 VPX_CTRL_USE_TYPE(VP8E_SET_ENABLEAUTOALTREF, unsigned int) | 323 VPX_CTRL_USE_TYPE(VP8E_SET_ENABLEAUTOALTREF, unsigned int) |
314 VPX_CTRL_USE_TYPE(VP8E_SET_NOISE_SENSITIVITY, unsigned int) | 324 VPX_CTRL_USE_TYPE(VP8E_SET_NOISE_SENSITIVITY, unsigned int) |
315 VPX_CTRL_USE_TYPE(VP8E_SET_SHARPNESS, unsigned int) | 325 VPX_CTRL_USE_TYPE(VP8E_SET_SHARPNESS, unsigned int) |
316 VPX_CTRL_USE_TYPE(VP8E_SET_STATIC_THRESHOLD, unsigned int) | 326 VPX_CTRL_USE_TYPE(VP8E_SET_STATIC_THRESHOLD, unsigned int) |
317 VPX_CTRL_USE_TYPE(VP8E_SET_TOKEN_PARTITIONS, int) /* vp8e_token_partitions */ | 327 VPX_CTRL_USE_TYPE(VP8E_SET_TOKEN_PARTITIONS, int) /* vp8e_token_partitions */ |
318 | 328 |
319 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_MAXFRAMES, unsigned int) | 329 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_MAXFRAMES, unsigned int) |
320 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_STRENGTH, unsigned int) | 330 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_STRENGTH, unsigned int) |
321 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_TYPE, unsigned int) | 331 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_TYPE, unsigned int) |
322 VPX_CTRL_USE_TYPE(VP8E_SET_TUNING, int) /* vp8e_tuning */ | 332 VPX_CTRL_USE_TYPE(VP8E_SET_TUNING, int) /* vp8e_tuning */ |
323 VPX_CTRL_USE_TYPE(VP8E_SET_CQ_LEVEL, unsigned int) | 333 VPX_CTRL_USE_TYPE(VP8E_SET_CQ_LEVEL, unsigned int) |
324 | 334 |
325 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_COLUMNS, int) | 335 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_COLUMNS, int) |
326 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_ROWS, int) | 336 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_ROWS, int) |
327 | 337 |
328 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER, int *) | 338 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER, int *) |
329 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER_64, int *) | 339 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER_64, int *) |
330 | 340 |
331 VPX_CTRL_USE_TYPE(VP8E_SET_MAX_INTRA_BITRATE_PCT, unsigned int) | 341 VPX_CTRL_USE_TYPE(VP8E_SET_MAX_INTRA_BITRATE_PCT, unsigned int) |
332 | 342 |
333 VPX_CTRL_USE_TYPE(VP9E_SET_LOSSLESS, unsigned int) | 343 VPX_CTRL_USE_TYPE(VP9E_SET_LOSSLESS, unsigned int) |
334 | 344 |
335 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PARALLEL_DECODING, unsigned int) | 345 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PARALLEL_DECODING, unsigned int) |
336 | 346 |
337 VPX_CTRL_USE_TYPE(VP9E_SET_MAX_Q, unsigned int) | 347 VPX_CTRL_USE_TYPE(VP9E_SET_AQ_MODE, unsigned int) |
338 VPX_CTRL_USE_TYPE(VP9E_SET_MIN_Q, unsigned int) | 348 |
339 /*! @} - end defgroup vp8_encoder */ | 349 /*! @} - end defgroup vp8_encoder */ |
340 #ifdef __cplusplus | 350 #ifdef __cplusplus |
341 } // extern "C" | 351 } // extern "C" |
342 #endif | 352 #endif |
343 | 353 |
344 #endif | 354 #endif |
OLD | NEW |