]> granicus.if.org Git - libvpx/blobdiff - vpx/vpx_integer.h
Merge "Remove sixtap/bilinear 4x4 neon implementations"
[libvpx] / vpx / vpx_integer.h
index 258618bbd8d0e01e03f7a83c275b4263f0c002a3..e85146c5c097e8894faa48e2c5ad881574909f20 100644 (file)
 /* get ptrdiff_t, size_t, wchar_t, NULL */
 #include <stddef.h>
 
+#if defined(_MSC_VER)
+#define VPX_FORCE_INLINE __forceinline
+#define VPX_INLINE __inline
+#else
+#define VPX_FORCE_INLINE __inline__ __attribute__(always_inline)
+// TODO(jbb): Allow a way to force inline off for older compilers.
+#define VPX_INLINE inline
+#endif
+
 #if (defined(_MSC_VER) && (_MSC_VER < 1600)) || defined(VPX_EMULATE_INTTYPES)
 typedef signed char  int8_t;
 typedef signed short int16_t;
@@ -28,6 +37,8 @@ typedef unsigned int   uint32_t;
 typedef signed __int64   int64_t;
 typedef unsigned __int64 uint64_t;
 #define INT64_MAX _I64_MAX
+#define INT32_MAX _I32_MAX
+#define INT32_MIN _I32_MIN
 #define INT16_MAX _I16_MAX
 #define INT16_MIN _I16_MIN
 #endif
@@ -40,9 +51,15 @@ typedef size_t uintptr_t;
 
 /* Most platforms have the C99 standard integer types. */
 
-#if defined(__cplusplus) && !defined(__STDC_FORMAT_MACROS)
-#define __STDC_FORMAT_MACROS
-#endif
+#if defined(__cplusplus)
+# if !defined(__STDC_FORMAT_MACROS)
+#  define __STDC_FORMAT_MACROS
+# endif
+# if !defined(__STDC_LIMIT_MACROS)
+#  define __STDC_LIMIT_MACROS
+# endif
+#endif  // __cplusplus
+
 #include <stdint.h>
 
 #endif
@@ -51,7 +68,12 @@ typedef size_t uintptr_t;
 #if defined(_MSC_VER) && _MSC_VER < 1800
 #define PRId64 "I64d"
 #else
+#if defined(__APPLE__)
+// When building dynamic frameworks with Swift compatibility, module maps
+// do not allow us to include the system's inttypes.h.
+#else
 #include <inttypes.h>
 #endif
+#endif
 
 #endif  // VPX_VPX_INTEGER_H_