Remove good quality speed 6, 7, and 8
In good quality encoding mode, features in speed 6, 7, and 8 are
not tuned, which give really bad quality/speed tradeoff.
Ran borg test on midres set:
(Baseline is speed 5)
avg_psnr: ovr_psnr: ssim: speedup %
speed 6 4.415 4.42 3.562 12.7
speed 7 22.329 23.226 19.951 60.3
speed 8 26.559 27.556 23.029 85.6
These speeds are removed now, and can be added with tuned features
later when it is needed.
Change-Id: I3038642a508971754f7d4b6330a4e666272693a8
diff --git a/apps/aomenc.c b/apps/aomenc.c
index 5f72a3c..cdca521 100644
--- a/apps/aomenc.c
+++ b/apps/aomenc.c
@@ -411,7 +411,7 @@
#if CONFIG_AV1_ENCODER
static const arg_def_t cpu_used_av1 =
- ARG_DEF(NULL, "cpu-used", 1, "CPU Used (0..8)");
+ ARG_DEF(NULL, "cpu-used", 1, "CPU Used (0..5)");
static const arg_def_t rowmtarg =
ARG_DEF(NULL, "row-mt", 1,
"Enable row based multi-threading (0: off, 1: on (default))");
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index e075ed7..43bbf58 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -430,37 +430,6 @@
// sf->use_transform_domain_distortion = 2;
sf->simple_motion_search_prune_agg = 2;
}
-
- if (speed >= 6) {
- int i;
- sf->optimize_coefficients = NO_TRELLIS_OPT;
- sf->mv.search_method = HEX;
- sf->disable_filter_search_var_thresh = 500;
- for (i = 0; i < TX_SIZES; ++i) {
- sf->intra_y_mode_mask[i] = INTRA_DC;
- sf->intra_uv_mode_mask[i] = UV_INTRA_DC_CFL;
- }
- sf->partition_search_breakout_rate_thr = 500;
- sf->mv.reduce_first_step_size = 1;
- sf->simple_model_rd_from_var = 1;
- }
- if (speed >= 7) {
- sf->default_max_partition_size = BLOCK_32X32;
- sf->default_min_partition_size = BLOCK_8X8;
- sf->intra_y_mode_mask[TX_64X64] = INTRA_DC;
- sf->intra_y_mode_mask[TX_32X32] = INTRA_DC;
- sf->frame_parameter_update = 0;
- sf->mv.search_method = FAST_HEX;
- sf->partition_search_type = REFERENCE_PARTITION;
- sf->mode_search_skip_flags |= FLAG_SKIP_INTRA_DIRMISMATCH;
- // TODO(any): evaluate adaptive_mode_search=1 for speed 7 & 8
- sf->adaptive_mode_search = 2;
- }
- if (speed >= 8) {
- sf->mv.search_method = FAST_DIAMOND;
- sf->mv.subpel_force_stop = HALF_PEL;
- sf->lpf_pick = LPF_PICK_FROM_Q;
- }
}
// TODO(kyslov): now this is very similar to
diff --git a/test/gf_max_pyr_height_test.cc b/test/gf_max_pyr_height_test.cc
index 459cea0..23999ce 100644
--- a/test/gf_max_pyr_height_test.cc
+++ b/test/gf_max_pyr_height_test.cc
@@ -21,7 +21,7 @@
int gf_max_pyr_height;
double psnr_thresh;
} kTestParams[] = {
- { 0, 34.5 }, { 1, 34.75 }, { 2, 35.1 }, { 3, 35.40 }, { 4, 35.50 },
+ { 0, 34.5 }, { 1, 34.75 }, { 2, 35.09 }, { 3, 35.40 }, { 4, 35.50 },
};
// Compiler may decide to add some padding to the struct above for alignment,