From d89f861f4b7f8e351f065ac89b19a1803bd21922 Mon Sep 17 00:00:00 2001 From: James Zern Date: Tue, 4 Feb 2014 18:28:45 -0800 Subject: [PATCH] vp9_systemdependent.h: relocate system includes avoid wrapping msvc includes with extern "C"; this breaks some visual studio builds of the (c++) tests. Change-Id: Ie8062d55d4f4c049f6cd360a36da6a67607df132 --- vp9/common/vp9_systemdependent.h | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/vp9/common/vp9_systemdependent.h b/vp9/common/vp9_systemdependent.h index ee9a4823b..fb8626ce5 100644 --- a/vp9/common/vp9_systemdependent.h +++ b/vp9/common/vp9_systemdependent.h @@ -11,13 +11,17 @@ #ifndef VP9_COMMON_VP9_SYSTEMDEPENDENT_H_ #define VP9_COMMON_VP9_SYSTEMDEPENDENT_H_ -#ifdef __cplusplus -extern "C" { +#ifdef _MSC_VER +# if _MSC_VER > 1310 && (defined(_M_X64) || defined(_M_IX86)) +# include +# define USE_MSC_INTRIN +# endif +# include +# define snprintf _snprintf #endif -#ifdef _MSC_VER -#include -#define snprintf _snprintf +#ifdef __cplusplus +extern "C" { #endif #include "./vpx_config.h" @@ -44,9 +48,7 @@ static int round(double x) { static INLINE int get_msb(unsigned int n) { return 31 ^ __builtin_clz(n); } -#elif defined(_MSC_VER) && _MSC_VER > 1310 && \ - (defined(_M_X64) || defined(_M_IX86)) -#include +#elif defined(USE_MSC_INTRIN) #pragma intrinsic(_BitScanReverse) static INLINE int get_msb(unsigned int n) { @@ -54,6 +56,7 @@ static INLINE int get_msb(unsigned int n) { _BitScanReverse(&first_set_bit, n); return first_set_bit; } +#undef USE_MSC_INTRIN #else // Returns (int)floor(log2(n)). n must be > 0. static INLINE int get_msb(unsigned int n) {