X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libopenjpeg%2Fopj_includes.h;h=53a0c4a7215b1f30b35da357123622138869122b;hb=6aaaa3eae28d82e3a2c34e0bd57d027be0685869;hp=72152a5ea4b6c08323c3ab73cc022ddf575e47e2;hpb=694a173adb14a7724a37f942a9183fccd2766657;p=openjpeg.git diff --git a/libopenjpeg/opj_includes.h b/libopenjpeg/opj_includes.h index 72152a5e..53a0c4a7 100644 --- a/libopenjpeg/opj_includes.h +++ b/libopenjpeg/opj_includes.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, Hervé Drolon, FreeImage Team + * Copyright (c) 2005, Herve Drolon, FreeImage Team * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -54,13 +54,18 @@ ========================================================== */ +/* Ignore GCC attributes if this is not GCC */ +#ifndef __GNUC__ + #define __attribute__(x) /* __attribute__(x) */ +#endif + /* The inline keyword is supported by C99 but not by C90. Most compilers implement their own version of this keyword ... */ #ifndef INLINE #if defined(_MSC_VER) - #define INLINE __inline + #define INLINE __forceinline #elif defined(__GNUC__) #define INLINE __inline__ #elif defined(__MWERKS__) @@ -71,7 +76,36 @@ Most compilers implement their own version of this keyword ... #endif /* defined() */ #endif /* INLINE */ +/* Are restricted pointers available? (C99) */ +#if (__STDC_VERSION__ != 199901L) + /* Not a C99 compiler */ + #ifdef __GNUC__ + #define restrict __restrict__ + #else + #define restrict /* restrict */ + #endif +#endif + +/* MSVC and Borland C do not have lrintf */ +#if defined(_MSC_VER) || defined(__BORLANDC__) +static INLINE long lrintf(float f){ +#ifdef _M_X64 + return (long)((f>0.0f) ? (f + 0.5f):(f -0.5f)); +#else + int i; + + _asm{ + fld f + fistp i + }; + + return i; +#endif +} +#endif + #include "j2k_lib.h" +#include "opj_malloc.h" #include "event.h" #include "cio.h" @@ -95,7 +129,7 @@ Most compilers implement their own version of this keyword ... /* JPWL>> */ #ifdef USE_JPWL -#include "../jpwl/jpwl.h" +#include "./jpwl/jpwl.h" #endif /* USE_JPWL */ /* <