Correctly calculate SSE for high bitdepth in skip mode
Port from jianle@'s finding in AVM.
Quality changes:
Test setting: speed 1, VBR mode, 150 frames.
ovr_psnr ssim vmaf
lowres_bd10 -0.61 -0.57 -0.82
midres_bd10 -0.17 -0.15 0.14
jvet10b240p -0.26 -0.19 -0.01
jvet10b480p -0.59 -0.82 -0.94
jvet10b720p -0.20 -0.18 -0.13
Change-Id: Ie78beed990059ecf6f5f9ad2ab88a0b19ba22589
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index c346c92..d64c93b 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -1648,6 +1648,7 @@
av1_subtract_plane(x, plane_bsize, plane);
int64_t sse = aom_sum_squares_2d_i16(p->src_diff, bw, bw, bh) << 4;
+ sse >>= ((cpi->frame_info.bit_depth - 8) * 2);
total_sse += sse;
}
const int skip_mode_ctx = av1_get_skip_mode_context(xd);
diff --git a/test/external_frame_buffer_test.cc b/test/external_frame_buffer_test.cc
index b060ee3..96a3ab7 100644
--- a/test/external_frame_buffer_test.cc
+++ b/test/external_frame_buffer_test.cc
@@ -24,8 +24,6 @@
namespace {
-const int kVideoNameParam = 1;
-
struct ExternalFrameBuffer {
uint8_t *data;
size_t size;
@@ -398,6 +396,8 @@
#endif // CONFIG_WEBM_IO
#if !CONFIG_REALTIME_ONLY
+const int kVideoNameParam = 1;
+
// This test runs through the set of test vectors, and decodes them.
// Libaom will call into the application to allocate a frame buffer when
// needed. The md5 checksums are computed for each frame in the video file.
diff --git a/test/metadata_test.cc b/test/metadata_test.cc
index b7b7f14..757a097 100644
--- a/test/metadata_test.cc
+++ b/test/metadata_test.cc
@@ -30,12 +30,11 @@
0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17
};
+#if CONFIG_AV1_ENCODER && !CONFIG_REALTIME_ONLY
const size_t kMetadataPayloadSizeCll = 4;
const uint8_t kMetadataPayloadCll[kMetadataPayloadSizeCll] = { 0xB5, 0x01, 0x02,
0x03 };
-#if CONFIG_AV1_ENCODER && !CONFIG_REALTIME_ONLY
-
const size_t kMetadataObuSizeT35 = 28;
const uint8_t kMetadataObuT35[kMetadataObuSizeT35] = {
0x2A, 0x1A, 0x02, 0xB5, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
diff --git a/test/resize_test.cc b/test/resize_test.cc
index 68d6101..6dd1267 100644
--- a/test/resize_test.cc
+++ b/test/resize_test.cc
@@ -249,10 +249,10 @@
}
}
+#if !CONFIG_REALTIME_ONLY
const unsigned int kStepDownFrame = 3;
const unsigned int kStepUpFrame = 6;
-#if !CONFIG_REALTIME_ONLY
class ResizeInternalTestLarge : public ResizeTest {
protected:
#if WRITE_COMPRESSED_STREAM