Merge commit '8b8899ac3233b4f7af83ded0dc032fad8902d714'
[ffmpeg.git] / libavutil / version.h
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   0
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_OLD_EVAL_NAMES
103 #define FF_API_OLD_EVAL_NAMES           (LIBAVUTIL_VERSION_MAJOR < 52)
104 #endif
105 #ifndef FF_API_GET_BITS_PER_SAMPLE_FMT
106 #define FF_API_GET_BITS_PER_SAMPLE_FMT (LIBAVUTIL_VERSION_MAJOR < 53)
107 #endif
108 #ifndef FF_API_FIND_OPT
109 #define FF_API_FIND_OPT                 (LIBAVUTIL_VERSION_MAJOR < 53)
110 #endif
111 #ifndef FF_API_OLD_AVOPTIONS
112 #define FF_API_OLD_AVOPTIONS            (LIBAVUTIL_VERSION_MAJOR < 53)
113 #endif
114 #ifndef FF_API_OLD_TC_ADJUST_FRAMENUM
115 #define FF_API_OLD_TC_ADJUST_FRAMENUM   (LIBAVUTIL_VERSION_MAJOR < 52)
116 #endif
117 #ifndef FF_API_PIX_FMT
118 #define FF_API_PIX_FMT                  (LIBAVUTIL_VERSION_MAJOR < 53)
119 #endif
120 #ifndef FF_API_CONTEXT_SIZE
121 #define FF_API_CONTEXT_SIZE             (LIBAVUTIL_VERSION_MAJOR < 53)
122 #endif
123 #ifndef FF_API_PIX_FMT_DESC
124 #define FF_API_PIX_FMT_DESC             (LIBAVUTIL_VERSION_MAJOR < 53)
125 #endif
126 #ifndef FF_API_AV_REVERSE
127 #define FF_API_AV_REVERSE               (LIBAVUTIL_VERSION_MAJOR < 53)
128 #endif
129
130 /**
131  * @}
132  */
133
134 #endif /* AVUTIL_VERSION_H */
135