| 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 |