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 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 * per-frame bitrate, with the special (and default) value 0 meaning | 187 * per-frame bitrate, with the special (and default) value 0 meaning |
188 * unlimited, or no additional clamping beyond the codec's built-in | 188 * unlimited, or no additional clamping beyond the codec's built-in |
189 * algorithm. | 189 * algorithm. |
190 * | 190 * |
191 * For example, to allocate no more than 4.5 frames worth of bitrate | 191 * For example, to allocate no more than 4.5 frames worth of bitrate |
192 * to a keyframe, set this to 450. | 192 * to a keyframe, set this to 450. |
193 * | 193 * |
194 */ | 194 */ |
195 VP8E_SET_MAX_INTRA_BITRATE_PCT, | 195 VP8E_SET_MAX_INTRA_BITRATE_PCT, |
196 | 196 |
| 197 /*!\brief Max data rate for Inter frames |
| 198 * |
| 199 * This value controls additional clamping on the maximum size of an |
| 200 * inter frame. It is expressed as a percentage of the average |
| 201 * per-frame bitrate, with the special (and default) value 0 meaning |
| 202 * unlimited, or no additional clamping beyond the codec's built-in |
| 203 * algorithm. |
| 204 * |
| 205 * For example, to allow no more than 4.5 frames worth of bitrate |
| 206 * to an inter frame, set this to 450. |
| 207 * |
| 208 */ |
| 209 VP8E_SET_MAX_INTER_BITRATE_PCT, |
| 210 |
| 211 /*!\brief Boost percentage for Golden Frame in CBR mode |
| 212 * |
| 213 * This value controls the amount of boost given to Golden Frame in |
| 214 * CBR mode. It is expressed as a percentage of the average |
| 215 * per-frame bitrate, with the special (and default) value 0 meaning |
| 216 * the feature is off, i.e., no golden frame boost in CBR mode and |
| 217 * average bitrate target is used. |
| 218 * |
| 219 * For example, to allow 100% more bits, i.e, 2X, in a golden frame |
| 220 * than average frame, set this to 100. |
| 221 * |
| 222 */ |
| 223 VP8E_SET_GF_CBR_BOOST_PCT, |
197 | 224 |
198 /* TODO(jkoleszar): Move to vp9cx.h */ | 225 /* TODO(jkoleszar): Move to vp9cx.h */ |
199 VP9E_SET_LOSSLESS, | 226 VP9E_SET_LOSSLESS, |
200 VP9E_SET_TILE_COLUMNS, | 227 VP9E_SET_TILE_COLUMNS, |
201 VP9E_SET_TILE_ROWS, | 228 VP9E_SET_TILE_ROWS, |
202 VP9E_SET_FRAME_PARALLEL_DECODING, | 229 VP9E_SET_FRAME_PARALLEL_DECODING, |
203 VP9E_SET_AQ_MODE, | 230 VP9E_SET_AQ_MODE, |
204 VP9E_SET_FRAME_PERIODIC_BOOST, | 231 VP9E_SET_FRAME_PERIODIC_BOOST, |
205 /*!\brief control function to set noise sensitivity | 232 /*!\brief control function to set noise sensitivity |
206 * | 233 * |
207 * 0: off, 1: OnYOnly | 234 * 0: off, 1: OnYOnly |
208 */ | 235 */ |
209 VP9E_SET_NOISE_SENSITIVITY, | 236 VP9E_SET_NOISE_SENSITIVITY, |
210 | 237 |
211 VP9E_SET_SVC, | 238 VP9E_SET_SVC, |
212 VP9E_SET_SVC_PARAMETERS, | 239 VP9E_SET_SVC_PARAMETERS, |
| 240 |
213 /*!\brief control function to set svc layer for spatial and temporal. | 241 /*!\brief control function to set svc layer for spatial and temporal. |
214 * \note Valid ranges: 0..#vpx_codec_enc_cfg::ss_number_layers for spatial | 242 * \note Valid ranges: 0..#vpx_codec_enc_cfg::ss_number_layers for spatial |
215 * layer and 0..#vpx_codec_enc_cfg::ts_number_layers for | 243 * layer and 0..#vpx_codec_enc_cfg::ts_number_layers for |
216 * temporal layer. | 244 * temporal layer. |
217 */ | 245 */ |
218 VP9E_SET_SVC_LAYER_ID, | 246 VP9E_SET_SVC_LAYER_ID, |
219 VP9E_SET_TUNE_CONTENT | 247 VP9E_SET_TUNE_CONTENT, |
| 248 VP9E_GET_SVC_LAYER_ID, |
| 249 VP9E_REGISTER_CX_CALLBACK, |
220 }; | 250 }; |
221 | 251 |
222 /*!\brief vpx 1-D scaling mode | 252 /*!\brief vpx 1-D scaling mode |
223 * | 253 * |
224 * This set of constants define 1-D vpx scaling modes | 254 * This set of constants define 1-D vpx scaling modes |
225 */ | 255 */ |
226 typedef enum vpx_scaling_mode_1d { | 256 typedef enum vpx_scaling_mode_1d { |
227 VP8E_NORMAL = 0, | 257 VP8E_NORMAL = 0, |
228 VP8E_FOURFIVE = 1, | 258 VP8E_FOURFIVE = 1, |
229 VP8E_THREEFIVE = 2, | 259 VP8E_THREEFIVE = 2, |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
331 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_UPD_ENTROPY, int) | 361 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_UPD_ENTROPY, int) |
332 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_UPD_REFERENCE, int) | 362 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_UPD_REFERENCE, int) |
333 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_USE_REFERENCE, int) | 363 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_USE_REFERENCE, int) |
334 | 364 |
335 VPX_CTRL_USE_TYPE(VP8E_SET_ROI_MAP, vpx_roi_map_t *) | 365 VPX_CTRL_USE_TYPE(VP8E_SET_ROI_MAP, vpx_roi_map_t *) |
336 VPX_CTRL_USE_TYPE(VP8E_SET_ACTIVEMAP, vpx_active_map_t *) | 366 VPX_CTRL_USE_TYPE(VP8E_SET_ACTIVEMAP, vpx_active_map_t *) |
337 VPX_CTRL_USE_TYPE(VP8E_SET_SCALEMODE, vpx_scaling_mode_t *) | 367 VPX_CTRL_USE_TYPE(VP8E_SET_SCALEMODE, vpx_scaling_mode_t *) |
338 | 368 |
339 VPX_CTRL_USE_TYPE(VP9E_SET_SVC, int) | 369 VPX_CTRL_USE_TYPE(VP9E_SET_SVC, int) |
340 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_PARAMETERS, void *) | 370 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_PARAMETERS, void *) |
| 371 VPX_CTRL_USE_TYPE(VP9E_REGISTER_CX_CALLBACK, void *) |
341 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_LAYER_ID, vpx_svc_layer_id_t *) | 372 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_LAYER_ID, vpx_svc_layer_id_t *) |
342 | 373 |
343 VPX_CTRL_USE_TYPE(VP8E_SET_CPUUSED, int) | 374 VPX_CTRL_USE_TYPE(VP8E_SET_CPUUSED, int) |
344 VPX_CTRL_USE_TYPE(VP8E_SET_ENABLEAUTOALTREF, unsigned int) | 375 VPX_CTRL_USE_TYPE(VP8E_SET_ENABLEAUTOALTREF, unsigned int) |
345 VPX_CTRL_USE_TYPE(VP8E_SET_NOISE_SENSITIVITY, unsigned int) | 376 VPX_CTRL_USE_TYPE(VP8E_SET_NOISE_SENSITIVITY, unsigned int) |
346 VPX_CTRL_USE_TYPE(VP8E_SET_SHARPNESS, unsigned int) | 377 VPX_CTRL_USE_TYPE(VP8E_SET_SHARPNESS, unsigned int) |
347 VPX_CTRL_USE_TYPE(VP8E_SET_STATIC_THRESHOLD, unsigned int) | 378 VPX_CTRL_USE_TYPE(VP8E_SET_STATIC_THRESHOLD, unsigned int) |
348 VPX_CTRL_USE_TYPE(VP8E_SET_TOKEN_PARTITIONS, int) /* vp8e_token_partitions */ | 379 VPX_CTRL_USE_TYPE(VP8E_SET_TOKEN_PARTITIONS, int) /* vp8e_token_partitions */ |
349 | 380 |
350 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_MAXFRAMES, unsigned int) | 381 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_MAXFRAMES, unsigned int) |
351 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_STRENGTH, unsigned int) | 382 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_STRENGTH, unsigned int) |
352 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_SET_ARNR_TYPE, unsigned int) | 383 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_SET_ARNR_TYPE, unsigned int) |
353 VPX_CTRL_USE_TYPE(VP8E_SET_TUNING, int) /* vp8e_tuning */ | 384 VPX_CTRL_USE_TYPE(VP8E_SET_TUNING, int) /* vp8e_tuning */ |
354 VPX_CTRL_USE_TYPE(VP8E_SET_CQ_LEVEL, unsigned int) | 385 VPX_CTRL_USE_TYPE(VP8E_SET_CQ_LEVEL, unsigned int) |
355 | 386 |
356 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_COLUMNS, int) | 387 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_COLUMNS, int) |
357 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_ROWS, int) | 388 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_ROWS, int) |
358 | 389 |
359 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER, int *) | 390 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER, int *) |
360 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER_64, int *) | 391 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER_64, int *) |
| 392 VPX_CTRL_USE_TYPE(VP9E_GET_SVC_LAYER_ID, vpx_svc_layer_id_t *) |
361 | 393 |
362 VPX_CTRL_USE_TYPE(VP8E_SET_MAX_INTRA_BITRATE_PCT, unsigned int) | 394 VPX_CTRL_USE_TYPE(VP8E_SET_MAX_INTRA_BITRATE_PCT, unsigned int) |
| 395 VPX_CTRL_USE_TYPE(VP8E_SET_MAX_INTER_BITRATE_PCT, unsigned int) |
363 | 396 |
| 397 VPX_CTRL_USE_TYPE(VP8E_SET_GF_CBR_BOOST_PCT, unsigned int) |
364 VPX_CTRL_USE_TYPE(VP9E_SET_LOSSLESS, unsigned int) | 398 VPX_CTRL_USE_TYPE(VP9E_SET_LOSSLESS, unsigned int) |
365 | 399 |
366 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PARALLEL_DECODING, unsigned int) | 400 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PARALLEL_DECODING, unsigned int) |
367 | 401 |
368 VPX_CTRL_USE_TYPE(VP9E_SET_AQ_MODE, unsigned int) | 402 VPX_CTRL_USE_TYPE(VP9E_SET_AQ_MODE, unsigned int) |
369 | 403 |
370 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PERIODIC_BOOST, unsigned int) | 404 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PERIODIC_BOOST, unsigned int) |
371 | 405 |
372 VPX_CTRL_USE_TYPE(VP9E_SET_NOISE_SENSITIVITY, unsigned int) | 406 VPX_CTRL_USE_TYPE(VP9E_SET_NOISE_SENSITIVITY, unsigned int) |
373 | 407 |
374 VPX_CTRL_USE_TYPE(VP9E_SET_TUNE_CONTENT, int) /* vp9e_tune_content */ | 408 VPX_CTRL_USE_TYPE(VP9E_SET_TUNE_CONTENT, int) /* vp9e_tune_content */ |
375 /*! @} - end defgroup vp8_encoder */ | 409 /*! @} - end defgroup vp8_encoder */ |
376 #ifdef __cplusplus | 410 #ifdef __cplusplus |
377 } // extern "C" | 411 } // extern "C" |
378 #endif | 412 #endif |
379 | 413 |
380 #endif // VPX_VP8CX_H_ | 414 #endif // VPX_VP8CX_H_ |
OLD | NEW |