Mercurial > libavutil.hg
annotate internal.h @ 1028:5dbb12a37c3d libavutil tip
Move av_set_options_string() from libavfilter to libavutil.
| author | stefano |
|---|---|
| date | Mon, 27 Sep 2010 22:09:53 +0000 |
| parents | bbe201fb5a98 |
| children |
| rev | line source |
|---|---|
|
108
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
1 /* |
|
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
2 * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at> |
|
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
3 * |
|
116
d76a36742464
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
114
diff
changeset
|
4 * This file is part of FFmpeg. |
|
d76a36742464
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
114
diff
changeset
|
5 * |
|
d76a36742464
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
114
diff
changeset
|
6 * FFmpeg is free software; you can redistribute it and/or |
|
108
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
7 * modify it under the terms of the GNU Lesser General Public |
|
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
8 * License as published by the Free Software Foundation; either |
|
116
d76a36742464
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
114
diff
changeset
|
9 * version 2.1 of the License, or (at your option) any later version. |
|
108
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
10 * |
|
116
d76a36742464
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
114
diff
changeset
|
11 * FFmpeg is distributed in the hope that it will be useful, |
|
108
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
14 * Lesser General Public License for more details. |
|
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
15 * |
|
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
16 * You should have received a copy of the GNU Lesser General Public |
|
116
d76a36742464
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
114
diff
changeset
|
17 * License along with FFmpeg; if not, write to the Free Software |
|
108
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
19 */ |
|
11be8e0d1344
Add official LGPL license headers to the files that were missing them.
diego
parents:
107
diff
changeset
|
20 |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
21 /** |
|
899
0795a743bda1
Remove explicit filename from Doxygen @file commands.
diego
parents:
873
diff
changeset
|
22 * @file |
| 633 | 23 * common internal API header |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
24 */ |
|
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
25 |
| 567 | 26 #ifndef AVUTIL_INTERNAL_H |
| 27 #define AVUTIL_INTERNAL_H | |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
28 |
| 366 | 29 #if !defined(DEBUG) && !defined(NDEBUG) |
| 30 # define NDEBUG | |
| 31 #endif | |
| 32 | |
| 626 | 33 #include <limits.h> |
| 343 | 34 #include <stdint.h> |
| 366 | 35 #include <stddef.h> |
| 36 #include <assert.h> | |
|
639
19d5f5c17725
cosmetics: Move all #includes together at the beginning of the file.
diego
parents:
637
diff
changeset
|
37 #include "config.h" |
|
873
4d9ad0ed07d0
Replace many includes of libavutil/common.h with what is actually needed
mru
parents:
871
diff
changeset
|
38 #include "attributes.h" |
| 604 | 39 #include "timer.h" |
| 343 | 40 |
|
374
8805bba131a9
Add attribute that forces alignment of stack to functions that need it.
ramiro
parents:
366
diff
changeset
|
41 #ifndef attribute_align_arg |
|
998
bbe201fb5a98
Use attribute force_align_arg_pointer only on x86_32.
cehoyos
parents:
963
diff
changeset
|
42 #if ARCH_X86_32 && (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,2) |
|
374
8805bba131a9
Add attribute that forces alignment of stack to functions that need it.
ramiro
parents:
366
diff
changeset
|
43 # define attribute_align_arg __attribute__((force_align_arg_pointer)) |
|
8805bba131a9
Add attribute that forces alignment of stack to functions that need it.
ramiro
parents:
366
diff
changeset
|
44 #else |
|
8805bba131a9
Add attribute that forces alignment of stack to functions that need it.
ramiro
parents:
366
diff
changeset
|
45 # define attribute_align_arg |
|
8805bba131a9
Add attribute that forces alignment of stack to functions that need it.
ramiro
parents:
366
diff
changeset
|
46 #endif |
|
8805bba131a9
Add attribute that forces alignment of stack to functions that need it.
ramiro
parents:
366
diff
changeset
|
47 #endif |
|
8805bba131a9
Add attribute that forces alignment of stack to functions that need it.
ramiro
parents:
366
diff
changeset
|
48 |
| 943 | 49 |
| 50 /** | |
| 957 | 51 * Mark a variable as used and prevent the compiler from optimizing it away. |
| 52 * This is useful for asm that accesses varibles in ways that the compiler does not | |
| 943 | 53 * understand |
| 54 */ | |
| 154 | 55 #ifndef attribute_used |
|
590
e9d89a89561a
Use AV_GCC_VERSION_AT_LEAST() to simplify gcc version checks.
cehoyos
parents:
589
diff
changeset
|
56 #if AV_GCC_VERSION_AT_LEAST(3,1) |
| 154 | 57 # define attribute_used __attribute__((used)) |
| 58 #else | |
| 59 # define attribute_used | |
| 60 #endif | |
| 61 #endif | |
| 62 | |
| 155 | 63 #ifndef INT16_MIN |
| 774 | 64 #define INT16_MIN (-0x7fff - 1) |
| 155 | 65 #endif |
| 66 | |
| 67 #ifndef INT16_MAX | |
| 68 #define INT16_MAX 0x7fff | |
| 69 #endif | |
| 70 | |
| 71 #ifndef INT32_MIN | |
| 774 | 72 #define INT32_MIN (-0x7fffffff - 1) |
| 155 | 73 #endif |
| 74 | |
| 75 #ifndef INT32_MAX | |
| 76 #define INT32_MAX 0x7fffffff | |
| 77 #endif | |
| 78 | |
| 79 #ifndef UINT32_MAX | |
| 80 #define UINT32_MAX 0xffffffff | |
| 81 #endif | |
| 82 | |
| 83 #ifndef INT64_MIN | |
| 774 | 84 #define INT64_MIN (-0x7fffffffffffffffLL - 1) |
| 155 | 85 #endif |
| 86 | |
| 87 #ifndef INT64_MAX | |
| 156 | 88 #define INT64_MAX INT64_C(9223372036854775807) |
| 155 | 89 #endif |
| 90 | |
| 91 #ifndef UINT64_MAX | |
| 156 | 92 #define UINT64_MAX UINT64_C(0xFFFFFFFFFFFFFFFF) |
| 155 | 93 #endif |
| 94 | |
| 95 #ifndef INT_BIT | |
| 666 | 96 # define INT_BIT (CHAR_BIT * sizeof(int)) |
| 155 | 97 #endif |
| 98 | |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
99 #ifndef offsetof |
| 774 | 100 # define offsetof(T, F) ((unsigned int)((char *)&((T *)0)->F)) |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
101 #endif |
|
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
102 |
|
736
9c9a242f840c
Add LABEL_MANGLE() to export label symbols from inside asm blocks.
ramiro
parents:
703
diff
changeset
|
103 /* Use to export labels from asm. */ |
|
9c9a242f840c
Add LABEL_MANGLE() to export label symbols from inside asm blocks.
ramiro
parents:
703
diff
changeset
|
104 #define LABEL_MANGLE(a) EXTERN_PREFIX #a |
|
9c9a242f840c
Add LABEL_MANGLE() to export label symbols from inside asm blocks.
ramiro
parents:
703
diff
changeset
|
105 |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
106 // Use rip-relative addressing if compiling PIC code on x86-64. |
| 603 | 107 #if ARCH_X86_64 && defined(PIC) |
|
487
9df3dec6f840
Split MANGLE macro into LOCAL_MANGLE AND EXTERN_PREFIX parts
diego
parents:
481
diff
changeset
|
108 # define LOCAL_MANGLE(a) #a "(%%rip)" |
| 473 | 109 #else |
|
487
9df3dec6f840
Split MANGLE macro into LOCAL_MANGLE AND EXTERN_PREFIX parts
diego
parents:
481
diff
changeset
|
110 # define LOCAL_MANGLE(a) #a |
| 138 | 111 #endif |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
112 |
|
487
9df3dec6f840
Split MANGLE macro into LOCAL_MANGLE AND EXTERN_PREFIX parts
diego
parents:
481
diff
changeset
|
113 #define MANGLE(a) EXTERN_PREFIX LOCAL_MANGLE(a) |
|
9df3dec6f840
Split MANGLE macro into LOCAL_MANGLE AND EXTERN_PREFIX parts
diego
parents:
481
diff
changeset
|
114 |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
115 /* debug stuff */ |
|
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
116 |
|
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
117 /* dprintf macros */ |
| 138 | 118 #ifdef DEBUG |
| 285 | 119 # define dprintf(pctx, ...) av_log(pctx, AV_LOG_DEBUG, __VA_ARGS__) |
| 138 | 120 #else |
| 285 | 121 # define dprintf(pctx, ...) |
| 138 | 122 #endif |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
123 |
| 138 | 124 #define av_abort() do { av_log(NULL, AV_LOG_ERROR, "Abort at %s:%d\n", __FILE__, __LINE__); abort(); } while (0) |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
125 |
| 143 | 126 /* math */ |
| 127 | |
| 603 | 128 #if ARCH_X86 |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
129 #define MASK_ABS(mask, level)\ |
| 578 | 130 __asm__ volatile(\ |
|
461
62530c1673a0
Use cltd instead of cdq asm mnemonic, ICC and gcc support both, but
reimar
parents:
432
diff
changeset
|
131 "cltd \n\t"\ |
| 13 | 132 "xorl %1, %0 \n\t"\ |
| 133 "subl %1, %0 \n\t"\ | |
| 134 : "+a" (level), "=&d" (mask)\ | |
| 135 ); | |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
136 #else |
|
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
137 #define MASK_ABS(mask, level)\ |
| 774 | 138 mask = level >> 31;\ |
| 139 level = (level ^ mask) - mask; | |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
140 #endif |
|
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
141 |
| 637 | 142 /* avoid usage of dangerous/inappropriate system functions */ |
|
359
b951d460bcb4
undef forbidden names before we #define them in case they are macros in libc
mru
parents:
355
diff
changeset
|
143 #undef malloc |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
144 #define malloc please_use_av_malloc |
|
359
b951d460bcb4
undef forbidden names before we #define them in case they are macros in libc
mru
parents:
355
diff
changeset
|
145 #undef free |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
146 #define free please_use_av_free |
|
359
b951d460bcb4
undef forbidden names before we #define them in case they are macros in libc
mru
parents:
355
diff
changeset
|
147 #undef realloc |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
148 #define realloc please_use_av_realloc |
|
359
b951d460bcb4
undef forbidden names before we #define them in case they are macros in libc
mru
parents:
355
diff
changeset
|
149 #undef time |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
150 #define time time_is_forbidden_due_to_security_issues |
|
359
b951d460bcb4
undef forbidden names before we #define them in case they are macros in libc
mru
parents:
355
diff
changeset
|
151 #undef rand |
|
703
b386bd0fad52
When warning about forbidden pseudo random number generation functions,
diego
parents:
675
diff
changeset
|
152 #define rand rand_is_forbidden_due_to_state_trashing_use_av_lfg_get |
|
359
b951d460bcb4
undef forbidden names before we #define them in case they are macros in libc
mru
parents:
355
diff
changeset
|
153 #undef srand |
|
703
b386bd0fad52
When warning about forbidden pseudo random number generation functions,
diego
parents:
675
diff
changeset
|
154 #define srand srand_is_forbidden_due_to_state_trashing_use_av_lfg_init |
|
359
b951d460bcb4
undef forbidden names before we #define them in case they are macros in libc
mru
parents:
355
diff
changeset
|
155 #undef random |
|
703
b386bd0fad52
When warning about forbidden pseudo random number generation functions,
diego
parents:
675
diff
changeset
|
156 #define random random_is_forbidden_due_to_state_trashing_use_av_lfg_get |
|
359
b951d460bcb4
undef forbidden names before we #define them in case they are macros in libc
mru
parents:
355
diff
changeset
|
157 #undef sprintf |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
158 #define sprintf sprintf_is_forbidden_due_to_security_issues_use_snprintf |
|
359
b951d460bcb4
undef forbidden names before we #define them in case they are macros in libc
mru
parents:
355
diff
changeset
|
159 #undef strcat |
| 349 | 160 #define strcat strcat_is_forbidden_due_to_security_issues_use_av_strlcat |
|
359
b951d460bcb4
undef forbidden names before we #define them in case they are macros in libc
mru
parents:
355
diff
changeset
|
161 #undef exit |
| 321 | 162 #define exit exit_is_forbidden |
|
569
165ae9e8f4fb
Remove wrong and unnecessary condition. VHOOK filters are not special
stefano
parents:
567
diff
changeset
|
163 #ifndef LIBAVFORMAT_BUILD |
|
359
b951d460bcb4
undef forbidden names before we #define them in case they are macros in libc
mru
parents:
355
diff
changeset
|
164 #undef printf |
|
627
d4b82de2ce47
Disambiguate the macros used to disable fprintf/printf/puts functions.
diego
parents:
626
diff
changeset
|
165 #define printf please_use_av_log_instead_of_printf |
|
359
b951d460bcb4
undef forbidden names before we #define them in case they are macros in libc
mru
parents:
355
diff
changeset
|
166 #undef fprintf |
|
627
d4b82de2ce47
Disambiguate the macros used to disable fprintf/printf/puts functions.
diego
parents:
626
diff
changeset
|
167 #define fprintf please_use_av_log_instead_of_fprintf |
| 431 | 168 #undef puts |
|
627
d4b82de2ce47
Disambiguate the macros used to disable fprintf/printf/puts functions.
diego
parents:
626
diff
changeset
|
169 #define puts please_use_av_log_instead_of_puts |
|
403
c22fbe7d64cf
Generate a linking error if perror() is used in libav*
lucabe
parents:
402
diff
changeset
|
170 #undef perror |
|
c22fbe7d64cf
Generate a linking error if perror() is used in libav*
lucabe
parents:
402
diff
changeset
|
171 #define perror please_use_av_log_instead_of_perror |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
172 #endif |
|
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
173 |
|
777
9b87c6b537bb
Rename CHECKED_ALLOC(Z) to FF_ALLOC(Z)_OR_GOTO and add context and label
ramiro
parents:
775
diff
changeset
|
174 #define FF_ALLOC_OR_GOTO(ctx, p, size, label)\ |
| 772 | 175 {\ |
| 774 | 176 p = av_malloc(size);\ |
| 177 if (p == NULL && (size) != 0) {\ | |
|
777
9b87c6b537bb
Rename CHECKED_ALLOC(Z) to FF_ALLOC(Z)_OR_GOTO and add context and label
ramiro
parents:
775
diff
changeset
|
178 av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\ |
|
9b87c6b537bb
Rename CHECKED_ALLOC(Z) to FF_ALLOC(Z)_OR_GOTO and add context and label
ramiro
parents:
775
diff
changeset
|
179 goto label;\ |
| 772 | 180 }\ |
| 181 } | |
| 182 | |
|
777
9b87c6b537bb
Rename CHECKED_ALLOC(Z) to FF_ALLOC(Z)_OR_GOTO and add context and label
ramiro
parents:
775
diff
changeset
|
183 #define FF_ALLOCZ_OR_GOTO(ctx, p, size, label)\ |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
184 {\ |
| 774 | 185 p = av_mallocz(size);\ |
| 186 if (p == NULL && (size) != 0) {\ | |
|
777
9b87c6b537bb
Rename CHECKED_ALLOC(Z) to FF_ALLOC(Z)_OR_GOTO and add context and label
ramiro
parents:
775
diff
changeset
|
187 av_log(ctx, AV_LOG_ERROR, "Cannot allocate memory.\n");\ |
|
9b87c6b537bb
Rename CHECKED_ALLOC(Z) to FF_ALLOC(Z)_OR_GOTO and add context and label
ramiro
parents:
775
diff
changeset
|
188 goto label;\ |
|
0
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
189 }\ |
|
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
190 } |
|
ee8f44bb7c4d
libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff
changeset
|
191 |
| 871 | 192 #include "libm.h" |
| 600 | 193 |
|
605
5d605aafa09d
move NULL_IF_CONFIG_SMALL() definition into internal header
aurel
parents:
604
diff
changeset
|
194 /** |
| 957 | 195 * Return NULL if CONFIG_SMALL is true, otherwise the argument |
| 636 | 196 * without modification. Used to disable the definition of strings |
|
605
5d605aafa09d
move NULL_IF_CONFIG_SMALL() definition into internal header
aurel
parents:
604
diff
changeset
|
197 * (for example AVCodec long_names). |
|
5d605aafa09d
move NULL_IF_CONFIG_SMALL() definition into internal header
aurel
parents:
604
diff
changeset
|
198 */ |
|
5d605aafa09d
move NULL_IF_CONFIG_SMALL() definition into internal header
aurel
parents:
604
diff
changeset
|
199 #if CONFIG_SMALL |
|
5d605aafa09d
move NULL_IF_CONFIG_SMALL() definition into internal header
aurel
parents:
604
diff
changeset
|
200 # define NULL_IF_CONFIG_SMALL(x) NULL |
|
5d605aafa09d
move NULL_IF_CONFIG_SMALL() definition into internal header
aurel
parents:
604
diff
changeset
|
201 #else |
|
5d605aafa09d
move NULL_IF_CONFIG_SMALL() definition into internal header
aurel
parents:
604
diff
changeset
|
202 # define NULL_IF_CONFIG_SMALL(x) x |
|
5d605aafa09d
move NULL_IF_CONFIG_SMALL() definition into internal header
aurel
parents:
604
diff
changeset
|
203 #endif |
|
5d605aafa09d
move NULL_IF_CONFIG_SMALL() definition into internal header
aurel
parents:
604
diff
changeset
|
204 |
| 943 | 205 |
| 206 /** | |
| 963 | 207 * Define a function with only the non-default version specified. |
| 208 * | |
| 209 * On systems with ELF shared libraries, all symbols exported from | |
| 210 * FFmpeg libraries are tagged with the name and major version of the | |
| 211 * library to which they belong. If a function is moved from one | |
| 212 * library to another, a wrapper must be retained in the original | |
| 213 * location to preserve binary compatibility. | |
| 214 * | |
| 215 * Functions defined with this macro will never be used to resolve | |
| 216 * symbols by the build-time linker. | |
| 217 * | |
| 218 * @param type return type of function | |
| 219 * @param name name of function | |
| 220 * @param args argument list of function | |
| 221 * @param ver version tag to assign function | |
| 943 | 222 */ |
|
941
1f17993c2baa
Add compatibility wrappers for functions moved from lavf to lavc
mru
parents:
919
diff
changeset
|
223 #if HAVE_SYMVER_ASM_LABEL |
|
942
c8b09f0c66a0
Fix symbol version compat wrappers on systems with export prefixes
mru
parents:
941
diff
changeset
|
224 # define FF_SYMVER(type, name, args, ver) \ |
|
c8b09f0c66a0
Fix symbol version compat wrappers on systems with export prefixes
mru
parents:
941
diff
changeset
|
225 type ff_##name args __asm__ (EXTERN_PREFIX #name "@" ver); \ |
|
941
1f17993c2baa
Add compatibility wrappers for functions moved from lavf to lavc
mru
parents:
919
diff
changeset
|
226 type ff_##name args |
|
1f17993c2baa
Add compatibility wrappers for functions moved from lavf to lavc
mru
parents:
919
diff
changeset
|
227 #elif HAVE_SYMVER_GNU_ASM |
|
942
c8b09f0c66a0
Fix symbol version compat wrappers on systems with export prefixes
mru
parents:
941
diff
changeset
|
228 # define FF_SYMVER(type, name, args, ver) \ |
|
c8b09f0c66a0
Fix symbol version compat wrappers on systems with export prefixes
mru
parents:
941
diff
changeset
|
229 __asm__ (".symver ff_" #name "," EXTERN_PREFIX #name "@" ver); \ |
|
c8b09f0c66a0
Fix symbol version compat wrappers on systems with export prefixes
mru
parents:
941
diff
changeset
|
230 type ff_##name args; \ |
|
941
1f17993c2baa
Add compatibility wrappers for functions moved from lavf to lavc
mru
parents:
919
diff
changeset
|
231 type ff_##name args |
|
1f17993c2baa
Add compatibility wrappers for functions moved from lavf to lavc
mru
parents:
919
diff
changeset
|
232 #endif |
|
1f17993c2baa
Add compatibility wrappers for functions moved from lavf to lavc
mru
parents:
919
diff
changeset
|
233 |
| 567 | 234 #endif /* AVUTIL_INTERNAL_H */ |
