Enable cnn-based intra partitioning on hdres
Performance:
|AVG_PSNR|OVR_PSNR| SSIM | VMAF | AVG_SPD | OVR_SPD
KF-only| +0.110%| +0.110%| +0.048%| +0.050%| +36.489%| +46.191%
33-frms| +0.049%| +0.036%| +0.038%| -0.077%| +3.301%| +1.549%
Change-Id: Id610bde3bc918d4616d17073f1623c60c466d91f
diff --git a/av1/encoder/partition_cnn_weights.h b/av1/encoder/partition_cnn_weights.h
index 68d8c42..504038c 100644
--- a/av1/encoder/partition_cnn_weights.h
+++ b/av1/encoder/partition_cnn_weights.h
@@ -2090,11 +2090,11 @@
#undef BRANCH_3_NUM_LOGITS
static const float av1_intra_mode_cnn_partition_split_thresh_hdres[5] = {
- 100.0f, 100.0f, 100.0f, 100.0f, 100.0f,
+ 100.000000f, 4.750139f, 1.655964f, 3.711212f, 0.963839f,
};
static const float av1_intra_mode_cnn_partition_no_split_thresh_hdres[5] = {
- -100.0f, -100.0f, -100.0f, -100.0f, -100.0f,
+ -100.000000f, -2.404842f, -3.858223f, -2.041206f, -1.573735f,
};
static const float av1_intra_mode_cnn_partition_split_thresh_midres[5] = {
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 23befc0..f08dc2e 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -123,12 +123,10 @@
sf->use_square_partition_only_threshold = BLOCK_128X128;
} else if (is_480p_or_larger) {
sf->use_square_partition_only_threshold = BLOCK_64X64;
- sf->intra_cnn_split = (speed == 1);
} else {
sf->use_square_partition_only_threshold = BLOCK_32X32;
sf->simple_motion_search_split = 1;
- sf->intra_cnn_split = (speed == 1);
}
if (!is_720p_or_larger) {
@@ -266,6 +264,7 @@
(frame_is_intra_only(&cpi->common) || (cm->allow_screen_content_tools))
? 0
: (boosted ? 1 : 2);
+ sf->intra_cnn_split = (speed == 1);
}
if (speed >= 2) {