diff --git a/test/dct32x32_test.cc b/test/dct32x32_test.cc index 8f089c683..1ac6fb0a9 100644 --- a/test/dct32x32_test.cc +++ b/test/dct32x32_test.cc @@ -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; diff --git a/vp9/common/vp9_systemdependent.h b/vp9/common/vp9_systemdependent.h index 91a50607a..5bc6237e6 100644 --- a/vp9/common/vp9_systemdependent.h +++ b/vp9/common/vp9_systemdependent.h @@ -10,6 +10,10 @@ #ifndef VP9_COMMON_VP9_SYSTEMDEPENDENT_H_ #define VP9_COMMON_VP9_SYSTEMDEPENDENT_H_ +#ifdef _MSC_VER +#include +#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