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 VPX_VP8CX_H_ | 10 #ifndef VPX_VP8CX_H_ |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 * of motion estimation methods. Values greater than 0 will increase encoder | 141 * of motion estimation methods. Values greater than 0 will increase encoder |
142 * speed at the expense of quality. | 142 * speed at the expense of quality. |
143 * The full set of adjustments can be found in | 143 * The full set of adjustments can be found in |
144 * onyx_if.c:vp8_set_speed_features(). | 144 * onyx_if.c:vp8_set_speed_features(). |
145 * \todo List highlights of the changes at various levels. | 145 * \todo List highlights of the changes at various levels. |
146 * | 146 * |
147 * \note Valid range: -16..16 | 147 * \note Valid range: -16..16 |
148 */ | 148 */ |
149 VP8E_SET_CPUUSED = 13, | 149 VP8E_SET_CPUUSED = 13, |
150 VP8E_SET_ENABLEAUTOALTREF, /**< control function to enable vp8 to automa
tic set and use altref frame */ | 150 VP8E_SET_ENABLEAUTOALTREF, /**< control function to enable vp8 to automa
tic set and use altref frame */ |
151 VP8E_SET_NOISE_SENSITIVITY, /**< control function to set noise sensitivit
y */ | 151 /*!\brief control function to set noise sensitivity |
| 152 * |
| 153 * 0: off, 1: OnYOnly, 2: OnYUV, |
| 154 * 3: OnYUVAggressive, 4: Adaptive |
| 155 */ |
| 156 VP8E_SET_NOISE_SENSITIVITY, |
152 VP8E_SET_SHARPNESS, /**< control function to set sharpness */ | 157 VP8E_SET_SHARPNESS, /**< control function to set sharpness */ |
153 VP8E_SET_STATIC_THRESHOLD, /**< control function to set the threshold fo
r macroblocks treated static */ | 158 VP8E_SET_STATIC_THRESHOLD, /**< control function to set the threshold fo
r macroblocks treated static */ |
154 VP8E_SET_TOKEN_PARTITIONS, /**< control function to set the number of to
ken partitions */ | 159 VP8E_SET_TOKEN_PARTITIONS, /**< control function to set the number of to
ken partitions */ |
155 VP8E_GET_LAST_QUANTIZER, /**< return the quantizer chosen by the | 160 VP8E_GET_LAST_QUANTIZER, /**< return the quantizer chosen by the |
156 encoder for the last frame using the i
nternal | 161 encoder for the last frame using the i
nternal |
157 scale */ | 162 scale */ |
158 VP8E_GET_LAST_QUANTIZER_64, /**< return the quantizer chosen by the | 163 VP8E_GET_LAST_QUANTIZER_64, /**< return the quantizer chosen by the |
159 encoder for the last frame, using the
0..63 | 164 encoder for the last frame, using the
0..63 |
160 scale as used by the rc_*_quantizer co
nfig | 165 scale as used by the rc_*_quantizer co
nfig |
161 parameters */ | 166 parameters */ |
(...skipping 28 matching lines...) Expand all Loading... |
190 VP8E_SET_MAX_INTRA_BITRATE_PCT, | 195 VP8E_SET_MAX_INTRA_BITRATE_PCT, |
191 | 196 |
192 | 197 |
193 /* TODO(jkoleszar): Move to vp9cx.h */ | 198 /* TODO(jkoleszar): Move to vp9cx.h */ |
194 VP9E_SET_LOSSLESS, | 199 VP9E_SET_LOSSLESS, |
195 VP9E_SET_TILE_COLUMNS, | 200 VP9E_SET_TILE_COLUMNS, |
196 VP9E_SET_TILE_ROWS, | 201 VP9E_SET_TILE_ROWS, |
197 VP9E_SET_FRAME_PARALLEL_DECODING, | 202 VP9E_SET_FRAME_PARALLEL_DECODING, |
198 VP9E_SET_AQ_MODE, | 203 VP9E_SET_AQ_MODE, |
199 VP9E_SET_FRAME_PERIODIC_BOOST, | 204 VP9E_SET_FRAME_PERIODIC_BOOST, |
| 205 /*!\brief control function to set noise sensitivity |
| 206 * |
| 207 * 0: off, 1: OnYOnly |
| 208 */ |
| 209 VP9E_SET_NOISE_SENSITIVITY, |
200 | 210 |
201 VP9E_SET_SVC, | 211 VP9E_SET_SVC, |
202 VP9E_SET_SVC_PARAMETERS, | 212 VP9E_SET_SVC_PARAMETERS, |
203 /*!\brief control function to set svc layer for spatial and temporal. | 213 /*!\brief control function to set svc layer for spatial and temporal. |
204 * \note Valid ranges: 0..#vpx_codec_enc_cfg::ss_number_layers for spatial | 214 * \note Valid ranges: 0..#vpx_codec_enc_cfg::ss_number_layers for spatial |
205 * layer and 0..#vpx_codec_enc_cfg::ts_number_layers for | 215 * layer and 0..#vpx_codec_enc_cfg::ts_number_layers for |
206 * temporal layer. | 216 * temporal layer. |
207 */ | 217 */ |
208 VP9E_SET_SVC_LAYER_ID, | 218 VP9E_SET_SVC_LAYER_ID, |
209 VP9E_SET_TUNE_CONTENT | 219 VP9E_SET_TUNE_CONTENT |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 /*!\brief VP8 model tuning parameters | 298 /*!\brief VP8 model tuning parameters |
289 * | 299 * |
290 * Changes the encoder to tune for certain types of input material. | 300 * Changes the encoder to tune for certain types of input material. |
291 * | 301 * |
292 */ | 302 */ |
293 typedef enum { | 303 typedef enum { |
294 VP8_TUNE_PSNR, | 304 VP8_TUNE_PSNR, |
295 VP8_TUNE_SSIM | 305 VP8_TUNE_SSIM |
296 } vp8e_tuning; | 306 } vp8e_tuning; |
297 | 307 |
298 /*!\brief vp9 svc parameters | |
299 * | |
300 * This defines parameters for svc encoding. | |
301 * | |
302 */ | |
303 typedef struct vpx_svc_parameters { | |
304 unsigned int width; /**< width of current spatial layer */ | |
305 unsigned int height; /**< height of current spatial layer */ | |
306 int spatial_layer; /**< current spatial layer number - 0 = base */ | |
307 int temporal_layer; /**< current temporal layer number - 0 = base */ | |
308 int max_quantizer; /**< max quantizer for current layer */ | |
309 int min_quantizer; /**< min quantizer for current layer */ | |
310 int distance_from_i_frame; /**< frame number within current gop */ | |
311 int lst_fb_idx; /**< last frame frame buffer index */ | |
312 int gld_fb_idx; /**< golden frame frame buffer index */ | |
313 int alt_fb_idx; /**< alt reference frame frame buffer index */ | |
314 } vpx_svc_parameters_t; | |
315 | |
316 /*!\brief vp9 svc layer parameters | 308 /*!\brief vp9 svc layer parameters |
317 * | 309 * |
318 * This defines the spatial and temporal layer id numbers for svc encoding. | 310 * This defines the spatial and temporal layer id numbers for svc encoding. |
319 * This is used with the #VP9E_SET_SVC_LAYER_ID control to set the spatial and | 311 * This is used with the #VP9E_SET_SVC_LAYER_ID control to set the spatial and |
320 * temporal layer id for the current frame. | 312 * temporal layer id for the current frame. |
321 * | 313 * |
322 */ | 314 */ |
323 typedef struct vpx_svc_layer_id { | 315 typedef struct vpx_svc_layer_id { |
324 int spatial_layer_id; /**< Spatial layer id number. */ | 316 int spatial_layer_id; /**< Spatial layer id number. */ |
325 int temporal_layer_id; /**< Temporal layer id number. */ | 317 int temporal_layer_id; /**< Temporal layer id number. */ |
(...skipping 12 matching lines...) Expand all Loading... |
338 */ | 330 */ |
339 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_UPD_ENTROPY, int) | 331 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_UPD_ENTROPY, int) |
340 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_UPD_REFERENCE, int) | 332 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_UPD_REFERENCE, int) |
341 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_USE_REFERENCE, int) | 333 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_USE_REFERENCE, int) |
342 | 334 |
343 VPX_CTRL_USE_TYPE(VP8E_SET_ROI_MAP, vpx_roi_map_t *) | 335 VPX_CTRL_USE_TYPE(VP8E_SET_ROI_MAP, vpx_roi_map_t *) |
344 VPX_CTRL_USE_TYPE(VP8E_SET_ACTIVEMAP, vpx_active_map_t *) | 336 VPX_CTRL_USE_TYPE(VP8E_SET_ACTIVEMAP, vpx_active_map_t *) |
345 VPX_CTRL_USE_TYPE(VP8E_SET_SCALEMODE, vpx_scaling_mode_t *) | 337 VPX_CTRL_USE_TYPE(VP8E_SET_SCALEMODE, vpx_scaling_mode_t *) |
346 | 338 |
347 VPX_CTRL_USE_TYPE(VP9E_SET_SVC, int) | 339 VPX_CTRL_USE_TYPE(VP9E_SET_SVC, int) |
348 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_PARAMETERS, vpx_svc_parameters_t *) | 340 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_PARAMETERS, void *) |
349 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_LAYER_ID, vpx_svc_layer_id_t *) | 341 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_LAYER_ID, vpx_svc_layer_id_t *) |
350 | 342 |
351 VPX_CTRL_USE_TYPE(VP8E_SET_CPUUSED, int) | 343 VPX_CTRL_USE_TYPE(VP8E_SET_CPUUSED, int) |
352 VPX_CTRL_USE_TYPE(VP8E_SET_ENABLEAUTOALTREF, unsigned int) | 344 VPX_CTRL_USE_TYPE(VP8E_SET_ENABLEAUTOALTREF, unsigned int) |
353 VPX_CTRL_USE_TYPE(VP8E_SET_NOISE_SENSITIVITY, unsigned int) | 345 VPX_CTRL_USE_TYPE(VP8E_SET_NOISE_SENSITIVITY, unsigned int) |
354 VPX_CTRL_USE_TYPE(VP8E_SET_SHARPNESS, unsigned int) | 346 VPX_CTRL_USE_TYPE(VP8E_SET_SHARPNESS, unsigned int) |
355 VPX_CTRL_USE_TYPE(VP8E_SET_STATIC_THRESHOLD, unsigned int) | 347 VPX_CTRL_USE_TYPE(VP8E_SET_STATIC_THRESHOLD, unsigned int) |
356 VPX_CTRL_USE_TYPE(VP8E_SET_TOKEN_PARTITIONS, int) /* vp8e_token_partitions */ | 348 VPX_CTRL_USE_TYPE(VP8E_SET_TOKEN_PARTITIONS, int) /* vp8e_token_partitions */ |
357 | 349 |
358 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_MAXFRAMES, unsigned int) | 350 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_MAXFRAMES, unsigned int) |
(...skipping 11 matching lines...) Expand all Loading... |
370 VPX_CTRL_USE_TYPE(VP8E_SET_MAX_INTRA_BITRATE_PCT, unsigned int) | 362 VPX_CTRL_USE_TYPE(VP8E_SET_MAX_INTRA_BITRATE_PCT, unsigned int) |
371 | 363 |
372 VPX_CTRL_USE_TYPE(VP9E_SET_LOSSLESS, unsigned int) | 364 VPX_CTRL_USE_TYPE(VP9E_SET_LOSSLESS, unsigned int) |
373 | 365 |
374 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PARALLEL_DECODING, unsigned int) | 366 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PARALLEL_DECODING, unsigned int) |
375 | 367 |
376 VPX_CTRL_USE_TYPE(VP9E_SET_AQ_MODE, unsigned int) | 368 VPX_CTRL_USE_TYPE(VP9E_SET_AQ_MODE, unsigned int) |
377 | 369 |
378 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PERIODIC_BOOST, unsigned int) | 370 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PERIODIC_BOOST, unsigned int) |
379 | 371 |
| 372 VPX_CTRL_USE_TYPE(VP9E_SET_NOISE_SENSITIVITY, unsigned int) |
| 373 |
380 VPX_CTRL_USE_TYPE(VP9E_SET_TUNE_CONTENT, int) /* vp9e_tune_content */ | 374 VPX_CTRL_USE_TYPE(VP9E_SET_TUNE_CONTENT, int) /* vp9e_tune_content */ |
381 /*! @} - end defgroup vp8_encoder */ | 375 /*! @} - end defgroup vp8_encoder */ |
382 #ifdef __cplusplus | 376 #ifdef __cplusplus |
383 } // extern "C" | 377 } // extern "C" |
384 #endif | 378 #endif |
385 | 379 |
386 #endif // VPX_VP8CX_H_ | 380 #endif // VPX_VP8CX_H_ |
OLD | NEW |