OLD | NEW |
(Empty) | |
| 1 // Copyright 2012 Google Inc. All Rights Reserved. |
| 2 // |
| 3 // This code is licensed under the same terms as WebM: |
| 4 // Software License Agreement: http://www.webmproject.org/license/software/ |
| 5 // Additional IP Rights Grant: http://www.webmproject.org/license/additional/ |
| 6 // ----------------------------------------------------------------------------- |
| 7 // |
| 8 // Misc. common utility functions |
| 9 // |
| 10 // Author: Skal (pascal.massimino@gmail.com) |
| 11 |
| 12 #ifndef WEBP_UTILS_UTILS_H_ |
| 13 #define WEBP_UTILS_UTILS_H_ |
| 14 |
| 15 #include "../webp/types.h" |
| 16 |
| 17 #if defined(__cplusplus) || defined(c_plusplus) |
| 18 extern "C" { |
| 19 #endif |
| 20 |
| 21 //------------------------------------------------------------------------------ |
| 22 // Memory allocation |
| 23 |
| 24 // This is the maximum memory amount that libwebp will ever try to allocate. |
| 25 #define WEBP_MAX_ALLOCABLE_MEMORY (1ULL << 40) |
| 26 |
| 27 // size-checking safe malloc/calloc: verify that the requested size is not too |
| 28 // large, or return NULL. You don't need to call these for constructs like |
| 29 // malloc(sizeof(foo)), but only if there's picture-dependent size involved |
| 30 // somewhere (like: malloc(num_pixels * sizeof(*something))). That's why this |
| 31 // safe malloc() borrows the signature from calloc(), pointing at the dangerous |
| 32 // underlying multiply involved. |
| 33 void* WebPSafeMalloc(uint64_t nmemb, size_t size); |
| 34 // Note that WebPSafeCalloc() expects the second argument type to be 'size_t' |
| 35 // in order to favor the "calloc(num_foo, sizeof(foo))" pattern. |
| 36 void* WebPSafeCalloc(uint64_t nmemb, size_t size); |
| 37 |
| 38 //------------------------------------------------------------------------------ |
| 39 |
| 40 #if defined(__cplusplus) || defined(c_plusplus) |
| 41 } // extern "C" |
| 42 #endif |
| 43 |
| 44 #endif /* WEBP_UTILS_UTILS_H_ */ |
OLD | NEW |