Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(155)

Side by Side Diff: source/libvpx/vp9/encoder/vp9_speed_features.h

Issue 668403002: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « source/libvpx/vp9/encoder/vp9_sad.c ('k') | source/libvpx/vp9/encoder/vp9_speed_features.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « source/libvpx/vp9/encoder/vp9_sad.c ('k') | source/libvpx/vp9/encoder/vp9_speed_features.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698