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

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

Issue 554673004: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years, 3 months 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_rdopt.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 22 matching lines...) Expand all
33 // Allow recode for KF and exceeding maximum frame bandwidth. 33 // Allow recode for KF and exceeding maximum frame bandwidth.
34 ALLOW_RECODE_KFMAXBW = 1, 34 ALLOW_RECODE_KFMAXBW = 1,
35 // Allow recode only for KF/ARF/GF frames. 35 // Allow recode only for KF/ARF/GF frames.
36 ALLOW_RECODE_KFARFGF = 2, 36 ALLOW_RECODE_KFARFGF = 2,
37 // Allow recode for all frames based on bitrate constraints. 37 // Allow recode for all frames based on bitrate constraints.
38 ALLOW_RECODE = 3, 38 ALLOW_RECODE = 3,
39 } RECODE_LOOP_TYPE; 39 } RECODE_LOOP_TYPE;
40 40
41 typedef enum { 41 typedef enum {
42 SUBPEL_TREE = 0, 42 SUBPEL_TREE = 0,
43 SUBPEL_TREE_PRUNED = 1,
43 // Other methods to come 44 // Other methods to come
44 } SUBPEL_SEARCH_METHODS; 45 } SUBPEL_SEARCH_METHODS;
45 46
46 typedef enum { 47 typedef enum {
47 NO_MOTION_THRESHOLD = 0, 48 NO_MOTION_THRESHOLD = 0,
48 LOW_MOTION_THRESHOLD = 7 49 LOW_MOTION_THRESHOLD = 7
49 } MOTION_THRESHOLD; 50 } MOTION_THRESHOLD;
50 51
51 typedef enum { 52 typedef enum {
52 LAST_FRAME_PARTITION_OFF = 0, 53 LAST_FRAME_PARTITION_OFF = 0,
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 97
97 // Skips oblique intra modes at angles 27, 63, 117, 153 if the best 98 // Skips oblique intra modes at angles 27, 63, 117, 153 if the best
98 // intra so far is not one of the neighboring directions. 99 // intra so far is not one of the neighboring directions.
99 FLAG_SKIP_INTRA_DIRMISMATCH = 1 << 4, 100 FLAG_SKIP_INTRA_DIRMISMATCH = 1 << 4,
100 101
101 // Skips intra modes other than DC_PRED if the source variance is small 102 // Skips intra modes other than DC_PRED if the source variance is small
102 FLAG_SKIP_INTRA_LOWVAR = 1 << 5, 103 FLAG_SKIP_INTRA_LOWVAR = 1 << 5,
103 } MODE_SEARCH_SKIP_LOGIC; 104 } MODE_SEARCH_SKIP_LOGIC;
104 105
105 typedef enum { 106 typedef enum {
107 FLAG_SKIP_EIGHTTAP = 1 << EIGHTTAP,
108 FLAG_SKIP_EIGHTTAP_SMOOTH = 1 << EIGHTTAP_SMOOTH,
109 FLAG_SKIP_EIGHTTAP_SHARP = 1 << EIGHTTAP_SHARP,
110 } INTERP_FILTER_MASK;
111
112 typedef enum {
106 // Search partitions using RD/NONRD criterion 113 // Search partitions using RD/NONRD criterion
107 SEARCH_PARTITION = 0, 114 SEARCH_PARTITION = 0,
108 115
109 // Always use a fixed size partition 116 // Always use a fixed size partition
110 FIXED_PARTITION = 1, 117 FIXED_PARTITION = 1,
111 118
112 // Use a fixed size partition in every 64X64 SB, where the size is 119 // Use a fixed size partition in every 64X64 SB, where the size is
113 // determined based on source variance 120 // determined based on source variance
114 VAR_BASED_FIXED_PARTITION = 2, 121 VAR_BASED_FIXED_PARTITION = 2,
115 122
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 // This allows us to use motion search at other sizes as a starting 284 // This allows us to use motion search at other sizes as a starting
278 // point for this motion search and limits the search range around it. 285 // point for this motion search and limits the search range around it.
279 int adaptive_motion_search; 286 int adaptive_motion_search;
280 287
281 // Allows sub 8x8 modes to use the prediction filter that was determined 288 // Allows sub 8x8 modes to use the prediction filter that was determined
282 // best for 8x8 mode. If set to 0 we always re check all the filters for 289 // best for 8x8 mode. If set to 0 we always re check all the filters for
283 // sizes less than 8x8, 1 means we check all filter modes if no 8x8 filter 290 // sizes less than 8x8, 1 means we check all filter modes if no 8x8 filter
284 // was selected, and 2 means we use 8 tap if no 8x8 filter mode was selected. 291 // was selected, and 2 means we use 8 tap if no 8x8 filter mode was selected.
285 int adaptive_pred_interp_filter; 292 int adaptive_pred_interp_filter;
286 293
294 // Adaptive prediction mode search
295 int adaptive_mode_search;
296
287 // Chessboard pattern prediction filter type search 297 // Chessboard pattern prediction filter type search
288 int cb_pred_filter_search; 298 int cb_pred_filter_search;
289 299
290 int cb_partition_search; 300 int cb_partition_search;
291 301
292 int motion_field_mode_search; 302 int motion_field_mode_search;
293 303
294 int alt_ref_search_fp; 304 int alt_ref_search_fp;
295 305
296 // Fast quantization process path 306 // Fast quantization process path
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 383
374 // In real time encoding, increase the threshold for NEWMV. 384 // In real time encoding, increase the threshold for NEWMV.
375 int elevate_newmv_thresh; 385 int elevate_newmv_thresh;
376 386
377 // default interp filter choice 387 // default interp filter choice
378 INTERP_FILTER default_interp_filter; 388 INTERP_FILTER default_interp_filter;
379 389
380 // Early termination in transform size search, which only applies while 390 // Early termination in transform size search, which only applies while
381 // tx_size_search_method is USE_FULL_RD. 391 // tx_size_search_method is USE_FULL_RD.
382 int tx_size_search_breakout; 392 int tx_size_search_breakout;
393
394 // adaptive interp_filter search to allow skip of certain filter types.
395 int adaptive_interp_filter_search;
396
397 // mask for skip evaluation of certain interp_filter type.
398 INTERP_FILTER_MASK interp_filter_search_mask;
399
400 // Partition search early breakout thresholds.
401 int64_t partition_search_breakout_dist_thr;
402 int partition_search_breakout_rate_thr;
383 } SPEED_FEATURES; 403 } SPEED_FEATURES;
384 404
385 struct VP9_COMP; 405 struct VP9_COMP;
386 406
387 void vp9_set_speed_features(struct VP9_COMP *cpi); 407 void vp9_set_speed_features(struct VP9_COMP *cpi);
388 408
389 #ifdef __cplusplus 409 #ifdef __cplusplus
390 } // extern "C" 410 } // extern "C"
391 #endif 411 #endif
392 412
393 #endif // VP9_ENCODER_VP9_SPEED_FEATURES_H_ 413 #endif // VP9_ENCODER_VP9_SPEED_FEATURES_H_
394 414
OLDNEW
« no previous file with comments | « source/libvpx/vp9/encoder/vp9_rdopt.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