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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 | 56 |
57 typedef enum { | 57 typedef enum { |
58 USE_FULL_RD = 0, | 58 USE_FULL_RD = 0, |
59 USE_LARGESTALL, | 59 USE_LARGESTALL, |
60 USE_TX_8X8 | 60 USE_TX_8X8 |
61 } TX_SIZE_SEARCH_METHOD; | 61 } TX_SIZE_SEARCH_METHOD; |
62 | 62 |
63 typedef enum { | 63 typedef enum { |
64 NOT_IN_USE = 0, | 64 NOT_IN_USE = 0, |
65 RELAXED_NEIGHBORING_MIN_MAX = 1, | 65 RELAXED_NEIGHBORING_MIN_MAX = 1, |
66 STRICT_NEIGHBORING_MIN_MAX = 2 | 66 CONSTRAIN_NEIGHBORING_MIN_MAX = 2, |
| 67 STRICT_NEIGHBORING_MIN_MAX = 3 |
67 } AUTO_MIN_MAX_MODE; | 68 } AUTO_MIN_MAX_MODE; |
68 | 69 |
69 typedef enum { | 70 typedef enum { |
70 // Try the full image with different values. | 71 // Try the full image with different values. |
71 LPF_PICK_FROM_FULL_IMAGE, | 72 LPF_PICK_FROM_FULL_IMAGE, |
72 // Try a small portion of the image with different values. | 73 // Try a small portion of the image with different values. |
73 LPF_PICK_FROM_SUBIMAGE, | 74 LPF_PICK_FROM_SUBIMAGE, |
74 // Estimate the level based on quantizer and frame type | 75 // Estimate the level based on quantizer and frame type |
75 LPF_PICK_FROM_Q, | 76 LPF_PICK_FROM_Q, |
76 // Pick 0 to disable LPF if LPF was enabled last frame | 77 // Pick 0 to disable LPF if LPF was enabled last frame |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 // was selected, and 2 means we use 8 tap if no 8x8 filter mode was selected. | 284 // was selected, and 2 means we use 8 tap if no 8x8 filter mode was selected. |
284 int adaptive_pred_interp_filter; | 285 int adaptive_pred_interp_filter; |
285 | 286 |
286 // Chessboard pattern prediction filter type search | 287 // Chessboard pattern prediction filter type search |
287 int cb_pred_filter_search; | 288 int cb_pred_filter_search; |
288 | 289 |
289 int cb_partition_search; | 290 int cb_partition_search; |
290 | 291 |
291 int motion_field_mode_search; | 292 int motion_field_mode_search; |
292 | 293 |
| 294 int alt_ref_search_fp; |
| 295 |
293 // Fast quantization process path | 296 // Fast quantization process path |
294 int use_quant_fp; | 297 int use_quant_fp; |
295 | 298 |
296 // Search through variable block partition types in non-RD mode decision | 299 // Search through variable block partition types in non-RD mode decision |
297 // encoding process for RTC. | 300 // encoding process for RTC. |
298 int partition_check; | 301 int partition_check; |
299 | 302 |
300 // Use finer quantizer in every other few frames that run variable block | 303 // Use finer quantizer in every other few frames that run variable block |
301 // partition type search. | 304 // partition type search. |
302 int force_frame_boost; | 305 int force_frame_boost; |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 | 369 |
367 // This variable sets the encode_breakout threshold. Currently, it is only | 370 // This variable sets the encode_breakout threshold. Currently, it is only |
368 // enabled in real time mode. | 371 // enabled in real time mode. |
369 int encode_breakout_thresh; | 372 int encode_breakout_thresh; |
370 | 373 |
371 // In real time encoding, increase the threshold for NEWMV. | 374 // In real time encoding, increase the threshold for NEWMV. |
372 int elevate_newmv_thresh; | 375 int elevate_newmv_thresh; |
373 | 376 |
374 // default interp filter choice | 377 // default interp filter choice |
375 INTERP_FILTER default_interp_filter; | 378 INTERP_FILTER default_interp_filter; |
| 379 |
| 380 // Early termination in transform size search, which only applies while |
| 381 // tx_size_search_method is USE_FULL_RD. |
| 382 int tx_size_search_breakout; |
376 } SPEED_FEATURES; | 383 } SPEED_FEATURES; |
377 | 384 |
378 struct VP9_COMP; | 385 struct VP9_COMP; |
379 | 386 |
380 void vp9_set_speed_features(struct VP9_COMP *cpi); | 387 void vp9_set_speed_features(struct VP9_COMP *cpi); |
381 | 388 |
382 #ifdef __cplusplus | 389 #ifdef __cplusplus |
383 } // extern "C" | 390 } // extern "C" |
384 #endif | 391 #endif |
385 | 392 |
386 #endif // VP9_ENCODER_VP9_SPEED_FEATURES_H_ | 393 #endif // VP9_ENCODER_VP9_SPEED_FEATURES_H_ |
387 | 394 |
OLD | NEW |