| 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 sf->intra_uv_mode_mask[TX_32X32] = INTRA_DC_H_V; | 52 sf->intra_uv_mode_mask[TX_32X32] = INTRA_DC_H_V; |
| 53 sf->intra_y_mode_mask[TX_16X16] = INTRA_DC_H_V; | 53 sf->intra_y_mode_mask[TX_16X16] = INTRA_DC_H_V; |
| 54 sf->intra_uv_mode_mask[TX_16X16] = INTRA_DC_H_V; | 54 sf->intra_uv_mode_mask[TX_16X16] = INTRA_DC_H_V; |
| 55 | 55 |
| 56 sf->tx_size_search_breakout = 1; | 56 sf->tx_size_search_breakout = 1; |
| 57 | 57 |
| 58 if (MIN(cm->width, cm->height) >= 720) | 58 if (MIN(cm->width, cm->height) >= 720) |
| 59 sf->partition_search_breakout_dist_thr = (1 << 23); | 59 sf->partition_search_breakout_dist_thr = (1 << 23); |
| 60 else | 60 else |
| 61 sf->partition_search_breakout_dist_thr = (1 << 21); | 61 sf->partition_search_breakout_dist_thr = (1 << 21); |
| 62 sf->partition_search_breakout_rate_thr = 500; | 62 sf->partition_search_breakout_rate_thr = 80; |
| 63 } | 63 } |
| 64 | 64 |
| 65 if (speed >= 2) { | 65 if (speed >= 2) { |
| 66 sf->tx_size_search_method = frame_is_boosted(cpi) ? USE_FULL_RD | 66 sf->tx_size_search_method = frame_is_boosted(cpi) ? USE_FULL_RD |
| 67 : USE_LARGESTALL; | 67 : USE_LARGESTALL; |
| 68 | 68 |
| 69 if (MIN(cm->width, cm->height) >= 720) { | 69 if (MIN(cm->width, cm->height) >= 720) { |
| 70 sf->disable_split_mask = cm->show_frame ? DISABLE_ALL_SPLIT | 70 sf->disable_split_mask = cm->show_frame ? DISABLE_ALL_SPLIT |
| 71 : DISABLE_ALL_INTER_SPLIT; | 71 : DISABLE_ALL_INTER_SPLIT; |
| 72 sf->adaptive_pred_interp_filter = 0; | 72 sf->adaptive_pred_interp_filter = 0; |
| 73 sf->partition_search_breakout_dist_thr = (1 << 24); |
| 74 sf->partition_search_breakout_rate_thr = 120; |
| 73 } else { | 75 } else { |
| 74 sf->disable_split_mask = LAST_AND_INTRA_SPLIT_ONLY; | 76 sf->disable_split_mask = LAST_AND_INTRA_SPLIT_ONLY; |
| 77 sf->partition_search_breakout_dist_thr = (1 << 22); |
| 78 sf->partition_search_breakout_rate_thr = 100; |
| 75 } | 79 } |
| 76 | 80 |
| 77 sf->reference_masking = 1; | 81 sf->reference_masking = 1; |
| 78 sf->mode_search_skip_flags = FLAG_SKIP_INTRA_DIRMISMATCH | | 82 sf->mode_search_skip_flags = FLAG_SKIP_INTRA_DIRMISMATCH | |
| 79 FLAG_SKIP_INTRA_BESTINTER | | 83 FLAG_SKIP_INTRA_BESTINTER | |
| 80 FLAG_SKIP_COMP_BESTINTRA | | 84 FLAG_SKIP_COMP_BESTINTRA | |
| 81 FLAG_SKIP_INTRA_LOWVAR; | 85 FLAG_SKIP_INTRA_LOWVAR; |
| 82 sf->disable_filter_search_var_thresh = 100; | 86 sf->disable_filter_search_var_thresh = 100; |
| 83 sf->comp_inter_joint_search_thresh = BLOCK_SIZES; | 87 sf->comp_inter_joint_search_thresh = BLOCK_SIZES; |
| 84 sf->auto_min_max_partition_size = CONSTRAIN_NEIGHBORING_MIN_MAX; | 88 sf->auto_min_max_partition_size = CONSTRAIN_NEIGHBORING_MIN_MAX; |
| 85 | 89 |
| 86 if (MIN(cm->width, cm->height) >= 720) | 90 sf->allow_partition_search_skip = 1; |
| 87 sf->partition_search_breakout_dist_thr = (1 << 24); | |
| 88 else | |
| 89 sf->partition_search_breakout_dist_thr = (1 << 22); | |
| 90 sf->partition_search_breakout_rate_thr = 700; | |
| 91 } | 91 } |
| 92 | 92 |
| 93 if (speed >= 3) { | 93 if (speed >= 3) { |
| 94 sf->tx_size_search_method = frame_is_intra_only(cm) ? USE_FULL_RD | 94 sf->tx_size_search_method = frame_is_intra_only(cm) ? USE_FULL_RD |
| 95 : USE_LARGESTALL; | 95 : USE_LARGESTALL; |
| 96 if (MIN(cm->width, cm->height) >= 720) { | 96 if (MIN(cm->width, cm->height) >= 720) { |
| 97 sf->disable_split_mask = DISABLE_ALL_SPLIT; | 97 sf->disable_split_mask = DISABLE_ALL_SPLIT; |
| 98 sf->schedule_mode_search = cm->base_qindex < 220 ? 1 : 0; | 98 sf->schedule_mode_search = cm->base_qindex < 220 ? 1 : 0; |
| 99 sf->partition_search_breakout_dist_thr = (1 << 25); |
| 100 sf->partition_search_breakout_rate_thr = 200; |
| 99 } else { | 101 } else { |
| 100 sf->max_intra_bsize = BLOCK_32X32; | 102 sf->max_intra_bsize = BLOCK_32X32; |
| 101 sf->disable_split_mask = DISABLE_ALL_INTER_SPLIT; | 103 sf->disable_split_mask = DISABLE_ALL_INTER_SPLIT; |
| 102 sf->schedule_mode_search = cm->base_qindex < 175 ? 1 : 0; | 104 sf->schedule_mode_search = cm->base_qindex < 175 ? 1 : 0; |
| 105 sf->partition_search_breakout_dist_thr = (1 << 23); |
| 106 sf->partition_search_breakout_rate_thr = 120; |
| 103 } | 107 } |
| 108 sf->mv.subpel_search_method = SUBPEL_TREE_PRUNED; |
| 104 sf->adaptive_pred_interp_filter = 0; | 109 sf->adaptive_pred_interp_filter = 0; |
| 105 sf->adaptive_mode_search = 1; | 110 sf->adaptive_mode_search = 1; |
| 106 sf->cb_partition_search = !boosted; | 111 sf->cb_partition_search = !boosted; |
| 107 sf->cb_pred_filter_search = 1; | 112 sf->cb_pred_filter_search = 1; |
| 108 sf->alt_ref_search_fp = 1; | 113 sf->alt_ref_search_fp = 1; |
| 109 sf->motion_field_mode_search = !boosted; | |
| 110 sf->recode_loop = ALLOW_RECODE_KFMAXBW; | 114 sf->recode_loop = ALLOW_RECODE_KFMAXBW; |
| 111 sf->adaptive_rd_thresh = 3; | 115 sf->adaptive_rd_thresh = 3; |
| 112 sf->mode_skip_start = 6; | 116 sf->mode_skip_start = 6; |
| 113 sf->intra_y_mode_mask[TX_32X32] = INTRA_DC; | 117 sf->intra_y_mode_mask[TX_32X32] = INTRA_DC; |
| 114 sf->intra_uv_mode_mask[TX_32X32] = INTRA_DC; | 118 sf->intra_uv_mode_mask[TX_32X32] = INTRA_DC; |
| 115 sf->adaptive_interp_filter_search = 1; | 119 sf->adaptive_interp_filter_search = 1; |
| 116 | |
| 117 if (MIN(cm->width, cm->height) >= 720) | |
| 118 sf->partition_search_breakout_dist_thr = (1 << 25); | |
| 119 else | |
| 120 sf->partition_search_breakout_dist_thr = (1 << 23); | |
| 121 sf->partition_search_breakout_rate_thr = 1000; | |
| 122 } | 120 } |
| 123 | 121 |
| 124 if (speed >= 4) { | 122 if (speed >= 4) { |
| 125 sf->use_square_partition_only = 1; | 123 sf->use_square_partition_only = 1; |
| 126 sf->tx_size_search_method = USE_LARGESTALL; | 124 sf->tx_size_search_method = USE_LARGESTALL; |
| 127 sf->disable_split_mask = DISABLE_ALL_SPLIT; | 125 sf->disable_split_mask = DISABLE_ALL_SPLIT; |
| 128 sf->mv.search_method = BIGDIA; | 126 sf->mv.search_method = BIGDIA; |
| 129 sf->mv.subpel_search_method = SUBPEL_TREE_PRUNED; | 127 sf->mv.subpel_search_method = SUBPEL_TREE_PRUNED_MORE; |
| 130 sf->adaptive_rd_thresh = 4; | 128 sf->adaptive_rd_thresh = 4; |
| 131 sf->mode_search_skip_flags |= FLAG_EARLY_TERMINATE; | 129 sf->mode_search_skip_flags |= FLAG_EARLY_TERMINATE; |
| 132 sf->disable_filter_search_var_thresh = 200; | 130 sf->disable_filter_search_var_thresh = 200; |
| 133 sf->use_lp32x32fdct = 1; | 131 sf->use_lp32x32fdct = 1; |
| 134 sf->use_fast_coef_updates = ONE_LOOP_REDUCED; | 132 sf->use_fast_coef_updates = ONE_LOOP_REDUCED; |
| 135 sf->use_fast_coef_costing = 1; | 133 sf->use_fast_coef_costing = 1; |
| 134 sf->motion_field_mode_search = !boosted; |
| 136 | 135 |
| 137 if (MIN(cm->width, cm->height) >= 720) | 136 if (MIN(cm->width, cm->height) >= 720) |
| 138 sf->partition_search_breakout_dist_thr = (1 << 26); | 137 sf->partition_search_breakout_dist_thr = (1 << 26); |
| 139 else | 138 else |
| 140 sf->partition_search_breakout_dist_thr = (1 << 24); | 139 sf->partition_search_breakout_dist_thr = (1 << 24); |
| 141 sf->partition_search_breakout_rate_thr = 1500; | 140 sf->partition_search_breakout_rate_thr = 300; |
| 142 } | 141 } |
| 143 | 142 |
| 144 if (speed >= 5) { | 143 if (speed >= 5) { |
| 145 int i; | 144 int i; |
| 146 | 145 |
| 147 sf->partition_search_type = FIXED_PARTITION; | 146 sf->partition_search_type = FIXED_PARTITION; |
| 148 sf->optimize_coefficients = 0; | 147 sf->optimize_coefficients = 0; |
| 149 sf->mv.search_method = HEX; | 148 sf->mv.search_method = HEX; |
| 150 sf->disable_filter_search_var_thresh = 500; | 149 sf->disable_filter_search_var_thresh = 500; |
| 151 for (i = 0; i < TX_SIZES; ++i) { | 150 for (i = 0; i < TX_SIZES; ++i) { |
| 152 sf->intra_y_mode_mask[i] = INTRA_DC; | 151 sf->intra_y_mode_mask[i] = INTRA_DC; |
| 153 sf->intra_uv_mode_mask[i] = INTRA_DC; | 152 sf->intra_uv_mode_mask[i] = INTRA_DC; |
| 154 } | 153 } |
| 155 cpi->allow_encode_breakout = ENCODE_BREAKOUT_ENABLED; | |
| 156 } | 154 } |
| 157 if (speed >= 6) { | 155 if (speed >= 6) { |
| 158 sf->mv.reduce_first_step_size = 1; | 156 sf->mv.reduce_first_step_size = 1; |
| 159 } | 157 } |
| 160 } | 158 } |
| 161 | 159 |
| 162 static void set_rt_speed_feature(VP9_COMP *cpi, SPEED_FEATURES *sf, | 160 static void set_rt_speed_feature(VP9_COMP *cpi, SPEED_FEATURES *sf, |
| 163 int speed, vp9e_tune_content content) { | 161 int speed, vp9e_tune_content content) { |
| 164 VP9_COMMON *const cm = &cpi->common; | 162 VP9_COMMON *const cm = &cpi->common; |
| 165 const int is_keyframe = cm->frame_type == KEY_FRAME; | 163 const int is_keyframe = cm->frame_type == KEY_FRAME; |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 cm->last_frame_type != cm->frame_type || (0 == | 241 cm->last_frame_type != cm->frame_type || (0 == |
| 244 (frames_since_key + 1) % sf->last_partitioning_redo_frequency); | 242 (frames_since_key + 1) % sf->last_partitioning_redo_frequency); |
| 245 sf->mv.subpel_force_stop = 1; | 243 sf->mv.subpel_force_stop = 1; |
| 246 for (i = 0; i < TX_SIZES; i++) { | 244 for (i = 0; i < TX_SIZES; i++) { |
| 247 sf->intra_y_mode_mask[i] = INTRA_DC_H_V; | 245 sf->intra_y_mode_mask[i] = INTRA_DC_H_V; |
| 248 sf->intra_uv_mode_mask[i] = INTRA_DC; | 246 sf->intra_uv_mode_mask[i] = INTRA_DC; |
| 249 } | 247 } |
| 250 sf->intra_y_mode_mask[TX_32X32] = INTRA_DC; | 248 sf->intra_y_mode_mask[TX_32X32] = INTRA_DC; |
| 251 sf->frame_parameter_update = 0; | 249 sf->frame_parameter_update = 0; |
| 252 sf->mv.search_method = FAST_HEX; | 250 sf->mv.search_method = FAST_HEX; |
| 251 |
| 253 sf->inter_mode_mask[BLOCK_32X32] = INTER_NEAREST_NEAR_NEW; | 252 sf->inter_mode_mask[BLOCK_32X32] = INTER_NEAREST_NEAR_NEW; |
| 254 sf->inter_mode_mask[BLOCK_32X64] = INTER_NEAREST; | 253 sf->inter_mode_mask[BLOCK_32X64] = INTER_NEAREST; |
| 255 sf->inter_mode_mask[BLOCK_64X32] = INTER_NEAREST; | 254 sf->inter_mode_mask[BLOCK_64X32] = INTER_NEAREST; |
| 256 sf->inter_mode_mask[BLOCK_64X64] = INTER_NEAREST; | 255 sf->inter_mode_mask[BLOCK_64X64] = INTER_NEAREST; |
| 257 sf->max_intra_bsize = BLOCK_32X32; | 256 sf->max_intra_bsize = BLOCK_32X32; |
| 258 sf->allow_skip_recode = 1; | 257 sf->allow_skip_recode = 1; |
| 259 } | 258 } |
| 260 | 259 |
| 261 if (speed >= 5) { | 260 if (speed >= 5) { |
| 262 sf->use_quant_fp = !is_keyframe; | 261 sf->use_quant_fp = !is_keyframe; |
| 263 sf->auto_min_max_partition_size = is_keyframe ? RELAXED_NEIGHBORING_MIN_MAX | 262 sf->auto_min_max_partition_size = is_keyframe ? RELAXED_NEIGHBORING_MIN_MAX |
| 264 : STRICT_NEIGHBORING_MIN_MAX; | 263 : STRICT_NEIGHBORING_MIN_MAX; |
| 265 sf->max_partition_size = BLOCK_32X32; | 264 sf->max_partition_size = BLOCK_32X32; |
| 266 sf->min_partition_size = BLOCK_8X8; | 265 sf->min_partition_size = BLOCK_8X8; |
| 267 sf->partition_check = | 266 sf->partition_check = |
| 268 (frames_since_key % sf->last_partitioning_redo_frequency == 1); | 267 (frames_since_key % sf->last_partitioning_redo_frequency == 1); |
| 269 sf->force_frame_boost = is_keyframe || | 268 sf->force_frame_boost = is_keyframe || |
| 270 (frames_since_key % (sf->last_partitioning_redo_frequency << 1) == 1); | 269 (frames_since_key % (sf->last_partitioning_redo_frequency << 1) == 1); |
| 271 sf->max_delta_qindex = is_keyframe ? 20 : 15; | 270 sf->max_delta_qindex = is_keyframe ? 20 : 15; |
| 272 sf->partition_search_type = REFERENCE_PARTITION; | 271 sf->partition_search_type = REFERENCE_PARTITION; |
| 273 sf->use_nonrd_pick_mode = 1; | 272 sf->use_nonrd_pick_mode = 1; |
| 274 sf->allow_skip_recode = 0; | 273 sf->allow_skip_recode = 0; |
| 274 sf->inter_mode_mask[BLOCK_32X32] = INTER_NEAREST_NEW_ZERO; |
| 275 sf->inter_mode_mask[BLOCK_32X64] = INTER_NEAREST_NEW_ZERO; |
| 276 sf->inter_mode_mask[BLOCK_64X32] = INTER_NEAREST_NEW_ZERO; |
| 277 sf->inter_mode_mask[BLOCK_64X64] = INTER_NEAREST_NEW_ZERO; |
| 278 |
| 279 if (MIN(cm->width, cm->height) >= 720) |
| 280 sf->partition_search_breakout_dist_thr = (1 << 25); |
| 281 else |
| 282 sf->partition_search_breakout_dist_thr = (1 << 23); |
| 283 sf->partition_search_breakout_rate_thr = 200; |
| 275 } | 284 } |
| 276 | 285 |
| 277 if (speed >= 6) { | 286 if (speed >= 6) { |
| 278 if (content == VP9E_CONTENT_SCREEN) { | 287 if (content == VP9E_CONTENT_SCREEN) { |
| 279 int i; | 288 int i; |
| 280 // Allow fancy modes at all sizes since SOURCE_VAR_BASED_PARTITION is used | 289 // Allow fancy modes at all sizes since SOURCE_VAR_BASED_PARTITION is used |
| 281 for (i = 0; i < BLOCK_SIZES; ++i) | 290 for (i = 0; i < BLOCK_SIZES; ++i) |
| 282 sf->inter_mode_mask[i] = INTER_ALL; | 291 sf->inter_mode_mask[i] = INTER_NEAREST_NEAR_NEW; |
| 283 } | 292 } |
| 284 | 293 |
| 285 // Adaptively switch between SOURCE_VAR_BASED_PARTITION and FIXED_PARTITION. | 294 // Adaptively switch between SOURCE_VAR_BASED_PARTITION and FIXED_PARTITION. |
| 286 sf->partition_search_type = SOURCE_VAR_BASED_PARTITION; | 295 sf->partition_search_type = VAR_BASED_PARTITION; |
| 287 sf->search_type_check_frequency = 50; | 296 sf->search_type_check_frequency = 50; |
| 297 sf->mv.search_method = NSTEP; |
| 288 | 298 |
| 289 sf->tx_size_search_method = is_keyframe ? USE_LARGESTALL : USE_TX_8X8; | 299 sf->tx_size_search_method = is_keyframe ? USE_LARGESTALL : USE_TX_8X8; |
| 290 | 300 |
| 291 // This feature is only enabled when partition search is disabled. | 301 // This feature is only enabled when partition search is disabled. |
| 292 sf->reuse_inter_pred_sby = 1; | 302 sf->reuse_inter_pred_sby = 1; |
| 293 | 303 |
| 294 // Increase mode checking threshold for NEWMV. | 304 // Increase mode checking threshold for NEWMV. |
| 295 sf->elevate_newmv_thresh = 2000; | 305 sf->elevate_newmv_thresh = 1000; |
| 296 | 306 |
| 297 sf->mv.reduce_first_step_size = 1; | 307 sf->mv.reduce_first_step_size = 1; |
| 298 } | 308 } |
| 299 | 309 |
| 300 if (speed >= 7) { | 310 if (speed >= 7) { |
| 301 sf->mv.search_method = FAST_DIAMOND; | 311 sf->mv.search_method = FAST_DIAMOND; |
| 302 sf->mv.fullpel_search_step_param = 10; | 312 sf->mv.fullpel_search_step_param = 10; |
| 303 sf->lpf_pick = LPF_PICK_MINIMAL_LPF; | 313 sf->lpf_pick = LPF_PICK_MINIMAL_LPF; |
| 304 sf->encode_breakout_thresh = (MIN(cm->width, cm->height) >= 720) ? | 314 sf->encode_breakout_thresh = (MIN(cm->width, cm->height) >= 720) ? |
| 305 800 : 300; | 315 800 : 300; |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 358 sf->min_partition_size = BLOCK_4X4; | 368 sf->min_partition_size = BLOCK_4X4; |
| 359 sf->adjust_partitioning_from_last_frame = 0; | 369 sf->adjust_partitioning_from_last_frame = 0; |
| 360 sf->last_partitioning_redo_frequency = 4; | 370 sf->last_partitioning_redo_frequency = 4; |
| 361 sf->constrain_copy_partition = 0; | 371 sf->constrain_copy_partition = 0; |
| 362 sf->disable_split_mask = 0; | 372 sf->disable_split_mask = 0; |
| 363 sf->mode_search_skip_flags = 0; | 373 sf->mode_search_skip_flags = 0; |
| 364 sf->force_frame_boost = 0; | 374 sf->force_frame_boost = 0; |
| 365 sf->max_delta_qindex = 0; | 375 sf->max_delta_qindex = 0; |
| 366 sf->disable_filter_search_var_thresh = 0; | 376 sf->disable_filter_search_var_thresh = 0; |
| 367 sf->adaptive_interp_filter_search = 0; | 377 sf->adaptive_interp_filter_search = 0; |
| 378 sf->allow_partition_search_skip = 0; |
| 368 | 379 |
| 369 for (i = 0; i < TX_SIZES; i++) { | 380 for (i = 0; i < TX_SIZES; i++) { |
| 370 sf->intra_y_mode_mask[i] = INTRA_ALL; | 381 sf->intra_y_mode_mask[i] = INTRA_ALL; |
| 371 sf->intra_uv_mode_mask[i] = INTRA_ALL; | 382 sf->intra_uv_mode_mask[i] = INTRA_ALL; |
| 372 } | 383 } |
| 373 sf->use_rd_breakout = 0; | 384 sf->use_rd_breakout = 0; |
| 374 sf->skip_encode_sb = 0; | 385 sf->skip_encode_sb = 0; |
| 375 sf->use_uv_intra_rd_estimate = 0; | 386 sf->use_uv_intra_rd_estimate = 0; |
| 376 sf->allow_skip_recode = 0; | 387 sf->allow_skip_recode = 0; |
| 377 sf->lpf_pick = LPF_PICK_FROM_FULL_IMAGE; | 388 sf->lpf_pick = LPF_PICK_FROM_FULL_IMAGE; |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 416 // No recode for 1 pass. | 427 // No recode for 1 pass. |
| 417 if (oxcf->pass == 0) { | 428 if (oxcf->pass == 0) { |
| 418 sf->recode_loop = DISALLOW_RECODE; | 429 sf->recode_loop = DISALLOW_RECODE; |
| 419 sf->optimize_coefficients = 0; | 430 sf->optimize_coefficients = 0; |
| 420 } | 431 } |
| 421 | 432 |
| 422 if (sf->mv.subpel_search_method == SUBPEL_TREE) { | 433 if (sf->mv.subpel_search_method == SUBPEL_TREE) { |
| 423 cpi->find_fractional_mv_step = vp9_find_best_sub_pixel_tree; | 434 cpi->find_fractional_mv_step = vp9_find_best_sub_pixel_tree; |
| 424 } else if (sf->mv.subpel_search_method == SUBPEL_TREE_PRUNED) { | 435 } else if (sf->mv.subpel_search_method == SUBPEL_TREE_PRUNED) { |
| 425 cpi->find_fractional_mv_step = vp9_find_best_sub_pixel_tree_pruned; | 436 cpi->find_fractional_mv_step = vp9_find_best_sub_pixel_tree_pruned; |
| 437 } else if (sf->mv.subpel_search_method == SUBPEL_TREE_PRUNED_MORE) { |
| 438 cpi->find_fractional_mv_step = vp9_find_best_sub_pixel_tree_pruned_more; |
| 439 } else if (sf->mv.subpel_search_method == SUBPEL_TREE_PRUNED_EVENMORE) { |
| 440 cpi->find_fractional_mv_step = vp9_find_best_sub_pixel_tree_pruned_evenmore; |
| 426 } | 441 } |
| 427 | 442 |
| 428 cpi->mb.optimize = sf->optimize_coefficients == 1 && oxcf->pass != 1; | 443 cpi->mb.optimize = sf->optimize_coefficients == 1 && oxcf->pass != 1; |
| 429 | 444 |
| 430 if (sf->disable_split_mask == DISABLE_ALL_SPLIT) | 445 if (sf->disable_split_mask == DISABLE_ALL_SPLIT) |
| 431 sf->adaptive_pred_interp_filter = 0; | 446 sf->adaptive_pred_interp_filter = 0; |
| 432 | 447 |
| 433 if (!cpi->oxcf.frame_periodic_boost) { | 448 if (!cpi->oxcf.frame_periodic_boost) { |
| 434 sf->max_delta_qindex = 0; | 449 sf->max_delta_qindex = 0; |
| 435 } | 450 } |
| 436 | 451 |
| 437 if (cpi->encode_breakout && oxcf->mode == REALTIME && | 452 if (cpi->encode_breakout && oxcf->mode == REALTIME && |
| 438 sf->encode_breakout_thresh > cpi->encode_breakout) | 453 sf->encode_breakout_thresh > cpi->encode_breakout) |
| 439 cpi->encode_breakout = sf->encode_breakout_thresh; | 454 cpi->encode_breakout = sf->encode_breakout_thresh; |
| 440 } | 455 } |
| OLD | NEW |