fixed build issue with round()
authorYaowu Xu <yaowu@google.com>
Thu, 13 Dec 2012 22:51:27 +0000 (14:51 -0800)
committerYaowu Xu <yaowu@google.com>
Thu, 13 Dec 2012 23:15:56 +0000 (15:15 -0800)
not defined in msvc

Change-Id: I8fe8462a0c2f636d8b43c0243832ca67578f3665

test/dct32x32_test.cc
vp9/common/vp9_systemdependent.h

index 8f089c6..1ac6fb0 100644 (file)
@@ -27,6 +27,14 @@ extern "C" {
 using libvpx_test::ACMRandom;
 
 namespace {
+#ifdef _MSC_VER
+static int round(double x) {
+  if (x < 0)
+    return (int)ceil(x - 0.5);
+  else
+    return (int)floor(x + 0.5);
+}
+#endif
 
 #if !CONFIG_DWT32X32HYBRID
 static const double kPi = 3.141592653589793238462643383279502884;
index 91a5060..5bc6237 100644 (file)
 #ifndef VP9_COMMON_VP9_SYSTEMDEPENDENT_H_
 #define VP9_COMMON_VP9_SYSTEMDEPENDENT_H_
 
+#ifdef _MSC_VER
+#include <math.h>
+#endif
+
 #include "vpx_ports/config.h"
 #if ARCH_X86 || ARCH_X86_64
 void vpx_reset_mmx_state(void);
@@ -18,6 +22,16 @@ void vpx_reset_mmx_state(void);
 #define vp9_clear_system_state()
 #endif
 
+#ifdef _MSC_VER
+// round is not defined in MSVC
+static int round(double x) {
+  if (x < 0)
+    return (int)ceil(x - 0.5);
+  else
+    return (int)floor(x + 0.5);
+}
+#endif
+
 struct VP9Common;
 void vp9_machine_specific_config(struct VP9Common *);
 #endif