From a0fcbcfa5f8c3145e38b132f4db45451bff44954 Mon Sep 17 00:00:00 2001 From: James Zern Date: Tue, 17 Sep 2013 18:47:25 -0700 Subject: fix vp8-only build Change-Id: Id9ce44f3364dd57b30ea491d956a2a0d6186be05 --- test/variance_test.cc | 60 +++++++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 28 deletions(-) (limited to 'test/variance_test.cc') diff --git a/test/variance_test.cc b/test/variance_test.cc index ca53ffb21..3f5560170 100644 --- a/test/variance_test.cc +++ b/test/variance_test.cc @@ -78,34 +78,6 @@ static unsigned int subpel_variance_ref(const uint8_t *ref, const uint8_t *src, return sse - (((int64_t) se * se) >> (l2w + l2h)); } -static unsigned int subpel_avg_variance_ref(const uint8_t *ref, - const uint8_t *src, - const uint8_t *second_pred, - int l2w, int l2h, - int xoff, int yoff, - unsigned int *sse_ptr) { - int se = 0; - unsigned int sse = 0; - const int w = 1 << l2w, h = 1 << l2h; - for (int y = 0; y < h; y++) { - for (int x = 0; x < w; x++) { - // bilinear interpolation at a 16th pel step - const int a1 = ref[(w + 1) * (y + 0) + x + 0]; - const int a2 = ref[(w + 1) * (y + 0) + x + 1]; - const int b1 = ref[(w + 1) * (y + 1) + x + 0]; - const int b2 = ref[(w + 1) * (y + 1) + x + 1]; - const int a = a1 + (((a2 - a1) * xoff + 8) >> 4); - const int b = b1 + (((b2 - b1) * xoff + 8) >> 4); - const int r = a + (((b - a) * yoff + 8) >> 4); - int diff = ((r + second_pred[w * y + x] + 1) >> 1) - src[w * y + x]; - se += diff; - sse += diff * diff; - } - } - *sse_ptr = sse; - return sse - (((int64_t) se * se) >> (l2w + l2h)); -} - template class VarianceTest : public ::testing::TestWithParam > { @@ -190,6 +162,36 @@ void VarianceTest::OneQuarterTest() { EXPECT_EQ(expected, var); } +#if CONFIG_VP9_ENCODER + +unsigned int subpel_avg_variance_ref(const uint8_t *ref, + const uint8_t *src, + const uint8_t *second_pred, + int l2w, int l2h, + int xoff, int yoff, + unsigned int *sse_ptr) { + int se = 0; + unsigned int sse = 0; + const int w = 1 << l2w, h = 1 << l2h; + for (int y = 0; y < h; y++) { + for (int x = 0; x < w; x++) { + // bilinear interpolation at a 16th pel step + const int a1 = ref[(w + 1) * (y + 0) + x + 0]; + const int a2 = ref[(w + 1) * (y + 0) + x + 1]; + const int b1 = ref[(w + 1) * (y + 1) + x + 0]; + const int b2 = ref[(w + 1) * (y + 1) + x + 1]; + const int a = a1 + (((a2 - a1) * xoff + 8) >> 4); + const int b = b1 + (((b2 - b1) * xoff + 8) >> 4); + const int r = a + (((b - a) * yoff + 8) >> 4); + int diff = ((r + second_pred[w * y + x] + 1) >> 1) - src[w * y + x]; + se += diff; + sse += diff * diff; + } + } + *sse_ptr = sse; + return sse - (((int64_t) se * se) >> (l2w + l2h)); +} + template class SubpelVarianceTest : public ::testing::TestWithParam::RefTest() { } } +#endif // CONFIG_VP9_ENCODER + // ----------------------------------------------------------------------------- // VP8 test cases. -- cgit v1.2.3