move LOCAL_GCC_VERSION def to dsp.h

+ add LOCAL_GCC_PREREQ and use it in lossless_neon.c

Change-Id: Ic9fd99540bc3e19c027d1598e4530dfdc9b9de00
This commit is contained in:
James Zern 2014-04-24 20:38:28 -07:00
parent c7b92a5a29
commit f937e01261
2 changed files with 9 additions and 5 deletions

View File

@ -23,6 +23,14 @@ extern "C" {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// CPU detection // CPU detection
#if defined(__GNUC__)
# define LOCAL_GCC_VERSION ((__GNUC__ << 8) | __GNUC_MINOR__)
# define LOCAL_GCC_PREREQ(maj, min) \
(LOCAL_GCC_VERSION >= (((maj) << 8) | (min)))
#else
# define LOCAL_GCC_PREREQ(maj, min) 0
#endif
#if defined(_MSC_VER) && _MSC_VER > 1310 && \ #if defined(_MSC_VER) && _MSC_VER > 1310 && \
(defined(_M_X64) || defined(_M_IX86)) (defined(_M_X64) || defined(_M_IX86))
#define WEBP_MSC_SSE2 // Visual C++ SSE2 targets #define WEBP_MSC_SSE2 // Visual C++ SSE2 targets

View File

@ -26,11 +26,7 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// Colorspace conversion functions // Colorspace conversion functions
#if defined(__GNUC__) #if LOCAL_GCC_PREREQ(4,8)
#define LOCAL_GCC_VERSION ((__GNUC__ << 8) | __GNUC_MINOR__)
#endif
#if defined(LOCAL_GCC_VERSION) && (LOCAL_GCC_VERSION >= 0x408)
// gcc 4.6.0 had some trouble (NDK-r9) with this code. We only use it for // gcc 4.6.0 had some trouble (NDK-r9) with this code. We only use it for
// gcc-4.8.x at least. // gcc-4.8.x at least.
static void ConvertBGRAToRGBA(const uint32_t* src, static void ConvertBGRAToRGBA(const uint32_t* src,