| 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 16 matching lines...) Expand all Loading... |
| 27 INTRA_DC = (1 << DC_PRED), | 27 INTRA_DC = (1 << DC_PRED), |
| 28 INTRA_DC_TM = (1 << DC_PRED) | (1 << TM_PRED), | 28 INTRA_DC_TM = (1 << DC_PRED) | (1 << TM_PRED), |
| 29 INTRA_DC_H_V = (1 << DC_PRED) | (1 << V_PRED) | (1 << H_PRED), | 29 INTRA_DC_H_V = (1 << DC_PRED) | (1 << V_PRED) | (1 << H_PRED), |
| 30 INTRA_DC_TM_H_V = (1 << DC_PRED) | (1 << TM_PRED) | (1 << V_PRED) | | 30 INTRA_DC_TM_H_V = (1 << DC_PRED) | (1 << TM_PRED) | (1 << V_PRED) | |
| 31 (1 << H_PRED) | 31 (1 << H_PRED) |
| 32 }; | 32 }; |
| 33 | 33 |
| 34 enum { | 34 enum { |
| 35 INTER_ALL = (1 << NEARESTMV) | (1 << NEARMV) | (1 << ZEROMV) | (1 << NEWMV), | 35 INTER_ALL = (1 << NEARESTMV) | (1 << NEARMV) | (1 << ZEROMV) | (1 << NEWMV), |
| 36 INTER_NEAREST = (1 << NEARESTMV), | 36 INTER_NEAREST = (1 << NEARESTMV), |
| 37 INTER_NEAREST_NEW = (1 << NEARESTMV) | (1 << NEWMV), |
| 38 INTER_NEAREST_ZERO = (1 << NEARESTMV) | (1 << ZEROMV), |
| 39 INTER_NEAREST_NEW_ZERO = (1 << NEARESTMV) | (1 << ZEROMV) | (1 << NEWMV), |
| 37 INTER_NEAREST_NEAR_NEW = (1 << NEARESTMV) | (1 << NEARMV) | (1 << NEWMV), | 40 INTER_NEAREST_NEAR_NEW = (1 << NEARESTMV) | (1 << NEARMV) | (1 << NEWMV), |
| 38 INTER_NEAREST_NEAR_ZERO = (1 << NEARESTMV) | (1 << NEARMV) | (1 << ZEROMV), | 41 INTER_NEAREST_NEAR_ZERO = (1 << NEARESTMV) | (1 << NEARMV) | (1 << ZEROMV), |
| 39 }; | 42 }; |
| 40 | 43 |
| 41 enum { | 44 enum { |
| 42 DISABLE_ALL_INTER_SPLIT = (1 << THR_COMP_GA) | | 45 DISABLE_ALL_INTER_SPLIT = (1 << THR_COMP_GA) | |
| 43 (1 << THR_COMP_LA) | | 46 (1 << THR_COMP_LA) | |
| 44 (1 << THR_ALTR) | | 47 (1 << THR_ALTR) | |
| 45 (1 << THR_GOLD) | | 48 (1 << THR_GOLD) | |
| 46 (1 << THR_LAST), | 49 (1 << THR_LAST), |
| (...skipping 24 matching lines...) Expand all Loading... |
| 71 // Allow recode for KF and exceeding maximum frame bandwidth. | 74 // Allow recode for KF and exceeding maximum frame bandwidth. |
| 72 ALLOW_RECODE_KFMAXBW = 1, | 75 ALLOW_RECODE_KFMAXBW = 1, |
| 73 // Allow recode only for KF/ARF/GF frames. | 76 // Allow recode only for KF/ARF/GF frames. |
| 74 ALLOW_RECODE_KFARFGF = 2, | 77 ALLOW_RECODE_KFARFGF = 2, |
| 75 // Allow recode for all frames based on bitrate constraints. | 78 // Allow recode for all frames based on bitrate constraints. |
| 76 ALLOW_RECODE = 3, | 79 ALLOW_RECODE = 3, |
| 77 } RECODE_LOOP_TYPE; | 80 } RECODE_LOOP_TYPE; |
| 78 | 81 |
| 79 typedef enum { | 82 typedef enum { |
| 80 SUBPEL_TREE = 0, | 83 SUBPEL_TREE = 0, |
| 81 SUBPEL_TREE_PRUNED = 1, | 84 SUBPEL_TREE_PRUNED = 1, // Prunes 1/2-pel searches |
| 85 SUBPEL_TREE_PRUNED_MORE = 2, // Prunes 1/2-pel searches more aggressively |
| 86 SUBPEL_TREE_PRUNED_EVENMORE = 3, // Prunes 1/2- and 1/4-pel searches |
| 82 // Other methods to come | 87 // Other methods to come |
| 83 } SUBPEL_SEARCH_METHODS; | 88 } SUBPEL_SEARCH_METHODS; |
| 84 | 89 |
| 85 typedef enum { | 90 typedef enum { |
| 86 NO_MOTION_THRESHOLD = 0, | 91 NO_MOTION_THRESHOLD = 0, |
| 87 LOW_MOTION_THRESHOLD = 7 | 92 LOW_MOTION_THRESHOLD = 7 |
| 88 } MOTION_THRESHOLD; | 93 } MOTION_THRESHOLD; |
| 89 | 94 |
| 90 typedef enum { | 95 typedef enum { |
| 91 LAST_FRAME_PARTITION_OFF = 0, | 96 LAST_FRAME_PARTITION_OFF = 0, |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 } MODE_SEARCH_SKIP_LOGIC; | 142 } MODE_SEARCH_SKIP_LOGIC; |
| 138 | 143 |
| 139 typedef enum { | 144 typedef enum { |
| 140 FLAG_SKIP_EIGHTTAP = 1 << EIGHTTAP, | 145 FLAG_SKIP_EIGHTTAP = 1 << EIGHTTAP, |
| 141 FLAG_SKIP_EIGHTTAP_SMOOTH = 1 << EIGHTTAP_SMOOTH, | 146 FLAG_SKIP_EIGHTTAP_SMOOTH = 1 << EIGHTTAP_SMOOTH, |
| 142 FLAG_SKIP_EIGHTTAP_SHARP = 1 << EIGHTTAP_SHARP, | 147 FLAG_SKIP_EIGHTTAP_SHARP = 1 << EIGHTTAP_SHARP, |
| 143 } INTERP_FILTER_MASK; | 148 } INTERP_FILTER_MASK; |
| 144 | 149 |
| 145 typedef enum { | 150 typedef enum { |
| 146 // Search partitions using RD/NONRD criterion | 151 // Search partitions using RD/NONRD criterion |
| 147 SEARCH_PARTITION = 0, | 152 SEARCH_PARTITION, |
| 148 | 153 |
| 149 // Always use a fixed size partition | 154 // Always use a fixed size partition |
| 150 FIXED_PARTITION = 1, | 155 FIXED_PARTITION, |
| 151 | 156 |
| 152 // Use a fixed size partition in every 64X64 SB, where the size is | 157 REFERENCE_PARTITION, |
| 153 // determined based on source variance | |
| 154 VAR_BASED_FIXED_PARTITION = 2, | |
| 155 | |
| 156 REFERENCE_PARTITION = 3, | |
| 157 | 158 |
| 158 // Use an arbitrary partitioning scheme based on source variance within | 159 // Use an arbitrary partitioning scheme based on source variance within |
| 159 // a 64X64 SB | 160 // a 64X64 SB |
| 160 VAR_BASED_PARTITION, | 161 VAR_BASED_PARTITION, |
| 161 | 162 |
| 162 // Use non-fixed partitions based on source variance | 163 // Use non-fixed partitions based on source variance |
| 163 SOURCE_VAR_BASED_PARTITION | 164 SOURCE_VAR_BASED_PARTITION |
| 164 } PARTITION_SEARCH_TYPE; | 165 } PARTITION_SEARCH_TYPE; |
| 165 | 166 |
| 166 typedef enum { | 167 typedef enum { |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 428 | 429 |
| 429 // adaptive interp_filter search to allow skip of certain filter types. | 430 // adaptive interp_filter search to allow skip of certain filter types. |
| 430 int adaptive_interp_filter_search; | 431 int adaptive_interp_filter_search; |
| 431 | 432 |
| 432 // mask for skip evaluation of certain interp_filter type. | 433 // mask for skip evaluation of certain interp_filter type. |
| 433 INTERP_FILTER_MASK interp_filter_search_mask; | 434 INTERP_FILTER_MASK interp_filter_search_mask; |
| 434 | 435 |
| 435 // Partition search early breakout thresholds. | 436 // Partition search early breakout thresholds. |
| 436 int64_t partition_search_breakout_dist_thr; | 437 int64_t partition_search_breakout_dist_thr; |
| 437 int partition_search_breakout_rate_thr; | 438 int partition_search_breakout_rate_thr; |
| 439 |
| 440 // Allow skipping partition search for still image frame |
| 441 int allow_partition_search_skip; |
| 438 } SPEED_FEATURES; | 442 } SPEED_FEATURES; |
| 439 | 443 |
| 440 struct VP9_COMP; | 444 struct VP9_COMP; |
| 441 | 445 |
| 442 void vp9_set_speed_features(struct VP9_COMP *cpi); | 446 void vp9_set_speed_features(struct VP9_COMP *cpi); |
| 443 | 447 |
| 444 #ifdef __cplusplus | 448 #ifdef __cplusplus |
| 445 } // extern "C" | 449 } // extern "C" |
| 446 #endif | 450 #endif |
| 447 | 451 |
| 448 #endif // VP9_ENCODER_VP9_SPEED_FEATURES_H_ | 452 #endif // VP9_ENCODER_VP9_SPEED_FEATURES_H_ |
| 449 | 453 |
| OLD | NEW |