diff options
author | Sean Bartell <wingedtachikoma@gmail.com> | 2011-06-25 21:32:25 -0400 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2012-04-25 22:13:20 +0200 |
commit | f40bfc9267b13b54e6379dfe7539447662879d24 (patch) | |
tree | 9b20069d5e62809ff434061ad730096836f916f2 /lib/rbcodec/codecs/libwmavoice/libavutil/mem.h | |
parent | a0009907de7a0107d49040d8a180f140e2eff299 (diff) | |
download | rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.tar.gz rockbox-f40bfc9267b13b54e6379dfe7539447662879d24.zip |
Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
Diffstat (limited to 'lib/rbcodec/codecs/libwmavoice/libavutil/mem.h')
-rw-r--r-- | lib/rbcodec/codecs/libwmavoice/libavutil/mem.h | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/lib/rbcodec/codecs/libwmavoice/libavutil/mem.h b/lib/rbcodec/codecs/libwmavoice/libavutil/mem.h new file mode 100644 index 0000000000..c5ec2ab3c3 --- /dev/null +++ b/lib/rbcodec/codecs/libwmavoice/libavutil/mem.h | |||
@@ -0,0 +1,126 @@ | |||
1 | /* | ||
2 | * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at> | ||
3 | * | ||
4 | * This file is part of FFmpeg. | ||
5 | * | ||
6 | * FFmpeg is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU Lesser General Public | ||
8 | * License as published by the Free Software Foundation; either | ||
9 | * version 2.1 of the License, or (at your option) any later version. | ||
10 | * | ||
11 | * FFmpeg is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | * Lesser General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU Lesser General Public | ||
17 | * License along with FFmpeg; if not, write to the Free Software | ||
18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
19 | */ | ||
20 | |||
21 | /** | ||
22 | * @file | ||
23 | * memory handling functions | ||
24 | */ | ||
25 | |||
26 | #ifndef AVUTIL_MEM_H | ||
27 | #define AVUTIL_MEM_H | ||
28 | |||
29 | #include "attributes.h" | ||
30 | #include "avutil.h" | ||
31 | |||
32 | #if defined(__ICC) && _ICC < 1200 || defined(__SUNPRO_C) | ||
33 | #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) v | ||
34 | #define DECLARE_ASM_CONST(n,t,v) const t __attribute__ ((aligned (n))) v | ||
35 | #elif defined(__TI_COMPILER_VERSION__) | ||
36 | #define DECLARE_ALIGNED(n,t,v) \ | ||
37 | AV_PRAGMA(DATA_ALIGN(v,n)) \ | ||
38 | t __attribute__((aligned(n))) v | ||
39 | #define DECLARE_ASM_CONST(n,t,v) \ | ||
40 | AV_PRAGMA(DATA_ALIGN(v,n)) \ | ||
41 | static const t __attribute__((aligned(n))) v | ||
42 | #elif defined(__GNUC__) | ||
43 | #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) v | ||
44 | #define DECLARE_ASM_CONST(n,t,v) static const t attribute_used __attribute__ ((aligned (n))) v | ||
45 | #elif defined(_MSC_VER) | ||
46 | #define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v | ||
47 | #define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v | ||
48 | #else | ||
49 | #define DECLARE_ALIGNED(n,t,v) t v | ||
50 | #define DECLARE_ASM_CONST(n,t,v) static const t v | ||
51 | #endif | ||
52 | |||
53 | #if AV_GCC_VERSION_AT_LEAST(3,1) | ||
54 | #define av_malloc_attrib __attribute__((__malloc__)) | ||
55 | #else | ||
56 | #define av_malloc_attrib | ||
57 | #endif | ||
58 | |||
59 | #if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,3) | ||
60 | #define av_alloc_size(n) __attribute__((alloc_size(n))) | ||
61 | #else | ||
62 | #define av_alloc_size(n) | ||
63 | #endif | ||
64 | |||
65 | /** | ||
66 | * Allocate a block of size bytes with alignment suitable for all | ||
67 | * memory accesses (including vectors if available on the CPU). | ||
68 | * @param size Size in bytes for the memory block to be allocated. | ||
69 | * @return Pointer to the allocated block, NULL if the block cannot | ||
70 | * be allocated. | ||
71 | * @see av_mallocz() | ||
72 | */ | ||
73 | void *av_malloc(unsigned int size) av_malloc_attrib av_alloc_size(1); | ||
74 | |||
75 | /** | ||
76 | * Allocate or reallocate a block of memory. | ||
77 | * If ptr is NULL and size > 0, allocate a new block. If | ||
78 | * size is zero, free the memory block pointed to by ptr. | ||
79 | * @param size Size in bytes for the memory block to be allocated or | ||
80 | * reallocated. | ||
81 | * @param ptr Pointer to a memory block already allocated with | ||
82 | * av_malloc(z)() or av_realloc() or NULL. | ||
83 | * @return Pointer to a newly reallocated block or NULL if the block | ||
84 | * cannot be reallocated or the function is used to free the memory block. | ||
85 | * @see av_fast_realloc() | ||
86 | */ | ||
87 | void *av_realloc(void *ptr, unsigned int size) av_alloc_size(2); | ||
88 | |||
89 | /** | ||
90 | * Free a memory block which has been allocated with av_malloc(z)() or | ||
91 | * av_realloc(). | ||
92 | * @param ptr Pointer to the memory block which should be freed. | ||
93 | * @note ptr = NULL is explicitly allowed. | ||
94 | * @note It is recommended that you use av_freep() instead. | ||
95 | * @see av_freep() | ||
96 | */ | ||
97 | void av_free(void *ptr); | ||
98 | |||
99 | /** | ||
100 | * Allocate a block of size bytes with alignment suitable for all | ||
101 | * memory accesses (including vectors if available on the CPU) and | ||
102 | * zero all the bytes of the block. | ||
103 | * @param size Size in bytes for the memory block to be allocated. | ||
104 | * @return Pointer to the allocated block, NULL if it cannot be allocated. | ||
105 | * @see av_malloc() | ||
106 | */ | ||
107 | void *av_mallocz(unsigned int size) av_malloc_attrib av_alloc_size(1); | ||
108 | |||
109 | /** | ||
110 | * Duplicate the string s. | ||
111 | * @param s string to be duplicated | ||
112 | * @return Pointer to a newly allocated string containing a | ||
113 | * copy of s or NULL if the string cannot be allocated. | ||
114 | */ | ||
115 | char *av_strdup(const char *s) av_malloc_attrib; | ||
116 | |||
117 | /** | ||
118 | * Free a memory block which has been allocated with av_malloc(z)() or | ||
119 | * av_realloc() and set the pointer pointing to it to NULL. | ||
120 | * @param ptr Pointer to the pointer to the memory block which should | ||
121 | * be freed. | ||
122 | * @see av_free() | ||
123 | */ | ||
124 | void av_freep(void *ptr); | ||
125 | |||
126 | #endif /* AVUTIL_MEM_H */ | ||