FFmpeg
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
version.h
Go to the documentation of this file.
1 /*
2  * copyright (c) 2003 Fabrice Bellard
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 #ifndef AVUTIL_VERSION_H
22 #define AVUTIL_VERSION_H
23 
24 /**
25  * @defgroup preproc_misc Preprocessor String Macros
26  *
27  * String manipulation macros
28  *
29  * @{
30  */
31 
32 #define AV_STRINGIFY(s) AV_TOSTRING(s)
33 #define AV_TOSTRING(s) #s
34 
35 #define AV_GLUE(a, b) a ## b
36 #define AV_JOIN(a, b) AV_GLUE(a, b)
37 
38 #define AV_PRAGMA(s) _Pragma(#s)
39 
40 /**
41  * @}
42  */
43 
44 /**
45  * @defgroup version_utils Library Version Macros
46  *
47  * Useful to check and match library version in order to maintain
48  * backward compatibility.
49  *
50  * @{
51  */
52 
53 #define AV_VERSION_INT(a, b, c) (a<<16 | b<<8 | c)
54 #define AV_VERSION_DOT(a, b, c) a ##.## b ##.## c
55 #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
56 
57 /**
58  * @}
59  */
60 
61 
62 /**
63  * @file
64  * @ingroup lavu
65  * Libavutil version macros
66  */
67 
68 /**
69  * @defgroup lavu_ver Version and Build diagnostics
70  *
71  * Macros and function useful to check at compiletime and at runtime
72  * which version of libavutil is in use.
73  *
74  * @{
75  */
76 
77 #define LIBAVUTIL_VERSION_MAJOR 52
78 #define LIBAVUTIL_VERSION_MINOR 13
79 #define LIBAVUTIL_VERSION_MICRO 100
80 
81 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
82  LIBAVUTIL_VERSION_MINOR, \
83  LIBAVUTIL_VERSION_MICRO)
84 #define LIBAVUTIL_VERSION AV_VERSION(LIBAVUTIL_VERSION_MAJOR, \
85  LIBAVUTIL_VERSION_MINOR, \
86  LIBAVUTIL_VERSION_MICRO)
87 #define LIBAVUTIL_BUILD LIBAVUTIL_VERSION_INT
88 
89 #define LIBAVUTIL_IDENT "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)
90 
91 /**
92  * @}
93  *
94  * @defgroup depr_guards Deprecation guards
95  * FF_API_* defines may be placed below to indicate public API that will be
96  * dropped at a future version bump. The defines themselves are not part of
97  * the public API and may change, break or disappear at any time.
98  *
99  * @{
100  */
101 
102 #ifndef FF_API_GET_BITS_PER_SAMPLE_FMT
103 #define FF_API_GET_BITS_PER_SAMPLE_FMT (LIBAVUTIL_VERSION_MAJOR < 53)
104 #endif
105 #ifndef FF_API_FIND_OPT
106 #define FF_API_FIND_OPT (LIBAVUTIL_VERSION_MAJOR < 53)
107 #endif
108 #ifndef FF_API_OLD_AVOPTIONS
109 #define FF_API_OLD_AVOPTIONS (LIBAVUTIL_VERSION_MAJOR < 53)
110 #endif
111 #ifndef FF_API_PIX_FMT
112 #define FF_API_PIX_FMT (LIBAVUTIL_VERSION_MAJOR < 53)
113 #endif
114 #ifndef FF_API_CONTEXT_SIZE
115 #define FF_API_CONTEXT_SIZE (LIBAVUTIL_VERSION_MAJOR < 53)
116 #endif
117 #ifndef FF_API_PIX_FMT_DESC
118 #define FF_API_PIX_FMT_DESC (LIBAVUTIL_VERSION_MAJOR < 53)
119 #endif
120 #ifndef FF_API_AV_REVERSE
121 #define FF_API_AV_REVERSE (LIBAVUTIL_VERSION_MAJOR < 53)
122 #endif
123 #ifndef FF_API_AUDIOCONVERT
124 #define FF_API_AUDIOCONVERT (LIBAVUTIL_VERSION_MAJOR < 53)
125 #endif
126 #ifndef FF_API_CPU_FLAG_MMX2
127 #define FF_API_CPU_FLAG_MMX2 (LIBAVUTIL_VERSION_MAJOR < 53)
128 #endif
129 #ifndef FF_API_SAMPLES_UTILS_RETURN_ZERO
130 #define FF_API_SAMPLES_UTILS_RETURN_ZERO (LIBAVUTIL_VERSION_MAJOR < 53)
131 #endif
132 
133 /**
134  * @}
135  */
136 
137 #endif /* AVUTIL_VERSION_H */
138