Fast Interpolation Filter Search Bug Fix

Fix for bug found from entropy stats.
The result of the vertical filter search was not
being saved, as the line that updated mbmi->
interp_filters was replaced in an earlier patch.

Also removed the unneeded enable dual filter
check, since it was already inside the main
use_fast_interp && enable_dual_filter check.

May cause a slight PSNR drop as evidenced by a
test failure of 28.8975 vs threshold of 29.9 in
AV1/HorzSuperresQThreshEndToEndTest.
HorzSuperresQThreshEndToEndPSNRTest/123.
Borg testing is currently underway.

Change-Id: I1d6659a3fe94f495c7c6e894835465a9a78ae102
parent bc1acbdd
......@@ -6708,8 +6708,8 @@ static int64_t interpolation_filter_search(
tmp_skip_sb = 0;
tmp_skip_sse = INT64_MAX;
if (cm->seq_params.enable_dual_filter == 0)
if (filter_sets[i][0] != filter_sets[i][1]) continue;
mbmi->interp_filters =
av1_make_interp_filters(filter_sets[i][0], filter_sets[i][1]);
tmp_rs = av1_get_switchable_rate(cm, x, xd);
av1_build_inter_predictors_sb(cm, xd, mi_row, mi_col, orig_dst,
......
......@@ -31,7 +31,7 @@ using std::tr1::tuple;
const int kBitrate = 40;
// PSNR thresholds found by experiment
const double kPSNRThresholds[] = { 27.45, 29.9, 21.7 };
const double kPSNRThresholds[] = { 27.45, 29.89, 21.7 };
typedef struct {
const char *filename;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment