| 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 | 10 |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 | 94 |
| 95 typedef enum { | 95 typedef enum { |
| 96 USE_FULL_RD = 0, | 96 USE_FULL_RD = 0, |
| 97 USE_LARGESTALL, | 97 USE_LARGESTALL, |
| 98 USE_TX_8X8 | 98 USE_TX_8X8 |
| 99 } TX_SIZE_SEARCH_METHOD; | 99 } TX_SIZE_SEARCH_METHOD; |
| 100 | 100 |
| 101 typedef enum { | 101 typedef enum { |
| 102 NOT_IN_USE = 0, | 102 NOT_IN_USE = 0, |
| 103 RELAXED_NEIGHBORING_MIN_MAX = 1, | 103 RELAXED_NEIGHBORING_MIN_MAX = 1, |
| 104 CONSTRAIN_NEIGHBORING_MIN_MAX = 2, | 104 STRICT_NEIGHBORING_MIN_MAX = 2 |
| 105 STRICT_NEIGHBORING_MIN_MAX = 3 | |
| 106 } AUTO_MIN_MAX_MODE; | 105 } AUTO_MIN_MAX_MODE; |
| 107 | 106 |
| 108 typedef enum { | 107 typedef enum { |
| 109 // Try the full image with different values. | 108 // Try the full image with different values. |
| 110 LPF_PICK_FROM_FULL_IMAGE, | 109 LPF_PICK_FROM_FULL_IMAGE, |
| 111 // Try a small portion of the image with different values. | 110 // Try a small portion of the image with different values. |
| 112 LPF_PICK_FROM_SUBIMAGE, | 111 LPF_PICK_FROM_SUBIMAGE, |
| 113 // Estimate the level based on quantizer and frame type | 112 // Estimate the level based on quantizer and frame type |
| 114 LPF_PICK_FROM_Q, | 113 LPF_PICK_FROM_Q, |
| 115 // Pick 0 to disable LPF if LPF was enabled last frame | 114 // Pick 0 to disable LPF if LPF was enabled last frame |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 // Skip rectangular partition test when partition type none gives better | 264 // Skip rectangular partition test when partition type none gives better |
| 266 // rd than partition type split. | 265 // rd than partition type split. |
| 267 int less_rectangular_check; | 266 int less_rectangular_check; |
| 268 | 267 |
| 269 // Disable testing non square partitions. (eg 16x32) | 268 // Disable testing non square partitions. (eg 16x32) |
| 270 int use_square_partition_only; | 269 int use_square_partition_only; |
| 271 | 270 |
| 272 // Sets min and max partition sizes for this 64x64 region based on the | 271 // Sets min and max partition sizes for this 64x64 region based on the |
| 273 // same 64x64 in last encoded frame, and the left and above neighbor. | 272 // same 64x64 in last encoded frame, and the left and above neighbor. |
| 274 AUTO_MIN_MAX_MODE auto_min_max_partition_size; | 273 AUTO_MIN_MAX_MODE auto_min_max_partition_size; |
| 274 // Ensures the rd based auto partition search will always |
| 275 // go down at least to the specified level. |
| 276 BLOCK_SIZE rd_auto_partition_min_limit; |
| 275 | 277 |
| 276 // Min and max partition size we enable (block_size) as per auto | 278 // Min and max partition size we enable (block_size) as per auto |
| 277 // min max, but also used by adjust partitioning, and pick_partitioning. | 279 // min max, but also used by adjust partitioning, and pick_partitioning. |
| 278 BLOCK_SIZE default_min_partition_size; | 280 BLOCK_SIZE default_min_partition_size; |
| 279 BLOCK_SIZE default_max_partition_size; | 281 BLOCK_SIZE default_max_partition_size; |
| 280 | 282 |
| 281 // Whether or not we allow partitions one smaller or one greater than the last | 283 // Whether or not we allow partitions one smaller or one greater than the last |
| 282 // frame's partitioning. Only used if use_lastframe_partitioning is set. | 284 // frame's partitioning. Only used if use_lastframe_partitioning is set. |
| 283 int adjust_partitioning_from_last_frame; | 285 int adjust_partitioning_from_last_frame; |
| 284 | 286 |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 333 | 335 |
| 334 // A source variance threshold below which filter search is disabled | 336 // A source variance threshold below which filter search is disabled |
| 335 // Choose a very large value (UINT_MAX) to use 8-tap always | 337 // Choose a very large value (UINT_MAX) to use 8-tap always |
| 336 unsigned int disable_filter_search_var_thresh; | 338 unsigned int disable_filter_search_var_thresh; |
| 337 | 339 |
| 338 // These bit masks allow you to enable or disable intra modes for each | 340 // These bit masks allow you to enable or disable intra modes for each |
| 339 // transform size separately. | 341 // transform size separately. |
| 340 int intra_y_mode_mask[TX_SIZES]; | 342 int intra_y_mode_mask[TX_SIZES]; |
| 341 int intra_uv_mode_mask[TX_SIZES]; | 343 int intra_uv_mode_mask[TX_SIZES]; |
| 342 | 344 |
| 345 // These bit masks allow you to enable or disable intra modes for each |
| 346 // prediction block size separately. |
| 347 int intra_y_mode_bsize_mask[BLOCK_SIZES]; |
| 348 |
| 343 // This variable enables an early break out of mode testing if the model for | 349 // This variable enables an early break out of mode testing if the model for |
| 344 // rd built from the prediction signal indicates a value that's much | 350 // rd built from the prediction signal indicates a value that's much |
| 345 // higher than the best rd we've seen so far. | 351 // higher than the best rd we've seen so far. |
| 346 int use_rd_breakout; | 352 int use_rd_breakout; |
| 347 | 353 |
| 348 // This enables us to use an estimate for intra rd based on dc mode rather | 354 // This enables us to use an estimate for intra rd based on dc mode rather |
| 349 // than choosing an actual uv mode in the stage of encoding before the actual | 355 // than choosing an actual uv mode in the stage of encoding before the actual |
| 350 // final encode. | 356 // final encode. |
| 351 int use_uv_intra_rd_estimate; | 357 int use_uv_intra_rd_estimate; |
| 352 | 358 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 414 struct VP9_COMP; | 420 struct VP9_COMP; |
| 415 | 421 |
| 416 void vp9_set_speed_features_framesize_independent(struct VP9_COMP *cpi); | 422 void vp9_set_speed_features_framesize_independent(struct VP9_COMP *cpi); |
| 417 void vp9_set_speed_features_framesize_dependent(struct VP9_COMP *cpi); | 423 void vp9_set_speed_features_framesize_dependent(struct VP9_COMP *cpi); |
| 418 | 424 |
| 419 #ifdef __cplusplus | 425 #ifdef __cplusplus |
| 420 } // extern "C" | 426 } // extern "C" |
| 421 #endif | 427 #endif |
| 422 | 428 |
| 423 #endif // VP9_ENCODER_VP9_SPEED_FEATURES_H_ | 429 #endif // VP9_ENCODER_VP9_SPEED_FEATURES_H_ |
| OLD | NEW |