From a0fcbcfa5f8c3145e38b132f4db45451bff44954 Mon Sep 17 00:00:00 2001 From: James Zern Date: Tue, 17 Sep 2013 18:47:25 -0700 Subject: [PATCH] fix vp8-only build Change-Id: Id9ce44f3364dd57b30ea491d956a2a0d6186be05 --- examples.mk | 6 ++--- test/variance_test.cc | 60 +++++++++++++++++++++++-------------------- vpxenc.c | 4 +++ 3 files changed, 39 insertions(+), 31 deletions(-) diff --git a/examples.mk b/examples.mk index c17fac9ca..7b47ade86 100644 --- a/examples.mk +++ b/examples.mk @@ -49,9 +49,9 @@ vpxenc.DESCRIPTION = Full featured encoder UTILS-$(CONFIG_VP8_ENCODER) += vp8_scalable_patterns.c vp8_scalable_patterns.GUID = 0D6A210B-F482-4D6F-8570-4A9C01ACC88C vp8_scalable_patterns.DESCRIPTION = Temporal Scalability Encoder -UTILS-$(CONFIG_VP8_ENCODER) += vp9_spatial_scalable_encoder.c -vp8_scalable_patterns.GUID = 4A38598D-627D-4505-9C7B-D4020C84100D -vp8_scalable_patterns.DESCRIPTION = Spatial Scalable Encoder +UTILS-$(CONFIG_VP9_ENCODER) += vp9_spatial_scalable_encoder.c +vp9_spatial_scalable_encoder.GUID = 4A38598D-627D-4505-9C7B-D4020C84100D +vp9_spatial_scalable_encoder.DESCRIPTION = Spatial Scalable Encoder # Clean up old ivfenc, ivfdec binaries. ifeq ($(CONFIG_MSVS),yes) 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. diff --git a/vpxenc.c b/vpxenc.c index 0c742ca22..6df45fb78 100644 --- a/vpxenc.c +++ b/vpxenc.c @@ -1765,9 +1765,13 @@ static void parse_global_config(struct global_config *global, char **argv) { /* Validate global config */ if (global->passes == 0) { +#if CONFIG_VP9_ENCODER // Make default VP9 passes = 2 until there is a better quality 1-pass // encoder global->passes = (global->codec->iface == vpx_codec_vp9_cx ? 2 : 1); +#else + global->passes = 1; +#endif } if (global->pass) {