OLD | NEW |
1 // Copyright 2010 Google Inc. | 1 // Copyright 2010 Google Inc. All Rights Reserved. |
2 // | 2 // |
3 // This code is licensed under the same terms as WebM: | 3 // This code is licensed under the same terms as WebM: |
4 // Software License Agreement: http://www.webmproject.org/license/software/ | 4 // Software License Agreement: http://www.webmproject.org/license/software/ |
5 // Additional IP Rights Grant: http://www.webmproject.org/license/additional/ | 5 // Additional IP Rights Grant: http://www.webmproject.org/license/additional/ |
6 // ----------------------------------------------------------------------------- | 6 // ----------------------------------------------------------------------------- |
7 // | 7 // |
8 // Common types | 8 // Common types |
9 // | 9 // |
10 // Author: Skal (pascal.massimino@gmail.com) | 10 // Author: Skal (pascal.massimino@gmail.com) |
11 | 11 |
12 #ifndef WEBP_WEBP_TYPES_H_ | 12 #ifndef WEBP_WEBP_TYPES_H_ |
13 #define WEBP_WEBP_TYPES_H_ | 13 #define WEBP_WEBP_TYPES_H_ |
14 | 14 |
15 #include <stddef.h> // for size_t | 15 #include <stddef.h> // for size_t |
16 | 16 |
17 #ifndef _MSC_VER | 17 #ifndef _MSC_VER |
18 #include <inttypes.h> | 18 #include <inttypes.h> |
| 19 #ifdef __STRICT_ANSI__ |
| 20 #define WEBP_INLINE |
| 21 #else /* __STRICT_ANSI__ */ |
| 22 #define WEBP_INLINE inline |
| 23 #endif |
19 #else | 24 #else |
20 typedef signed char int8_t; | 25 typedef signed char int8_t; |
21 typedef unsigned char uint8_t; | 26 typedef unsigned char uint8_t; |
22 typedef signed short int16_t; | 27 typedef signed short int16_t; |
23 typedef unsigned short uint16_t; | 28 typedef unsigned short uint16_t; |
24 typedef signed int int32_t; | 29 typedef signed int int32_t; |
25 typedef unsigned int uint32_t; | 30 typedef unsigned int uint32_t; |
26 typedef unsigned long long int uint64_t; | 31 typedef unsigned long long int uint64_t; |
27 typedef long long int int64_t; | 32 typedef long long int int64_t; |
28 #define inline __forceinline | 33 #define WEBP_INLINE __forceinline |
29 #endif /* _MSC_VER */ | 34 #endif /* _MSC_VER */ |
30 | 35 |
31 #ifndef WEBP_EXTERN | 36 #ifndef WEBP_EXTERN |
32 // This explicitly marks library functions and allows for changing the | 37 // This explicitly marks library functions and allows for changing the |
33 // signature for e.g., Windows DLL builds. | 38 // signature for e.g., Windows DLL builds. |
34 #define WEBP_EXTERN(type) extern type | 39 #define WEBP_EXTERN(type) extern type |
35 #endif /* WEBP_EXTERN */ | 40 #endif /* WEBP_EXTERN */ |
36 | 41 |
| 42 // Macro to check ABI compatibility (same major revision number) |
| 43 #define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) |
| 44 |
37 #endif /* WEBP_WEBP_TYPES_H_ */ | 45 #endif /* WEBP_WEBP_TYPES_H_ */ |
OLD | NEW |