2 * copyright (c) 2003 Fabrice Bellard
4 * This file is part of FFmpeg.
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.
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.
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
21 #ifndef AVUTIL_VERSION_H
22 #define AVUTIL_VERSION_H
25 * @defgroup preproc_misc Preprocessor String Macros
27 * String manipulation macros
32 #define AV_STRINGIFY(s) AV_TOSTRING(s)
33 #define AV_TOSTRING(s) #s
35 #define AV_GLUE(a, b) a ## b
36 #define AV_JOIN(a, b) AV_GLUE(a, b)
38 #define AV_PRAGMA(s) _Pragma(#s)
45 * @defgroup version_utils Library Version Macros
47 * Useful to check and match library version in order to maintain
48 * backward compatibility.
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)
65 * Libavutil version macros
69 * @defgroup lavu_ver Version and Build diagnostics
71 * Macros and function useful to check at compiletime and at runtime
72 * which version of libavutil is in use.
77 #define LIBAVUTIL_VERSION_MAJOR 52
78 #define LIBAVUTIL_VERSION_MINOR 2
79 #define LIBAVUTIL_VERSION_MICRO 100
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
89 #define LIBAVUTIL_IDENT "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)
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.
102 #ifndef FF_API_OLD_EVAL_NAMES
103 #define FF_API_OLD_EVAL_NAMES (LIBAVUTIL_VERSION_MAJOR < 52)
105 #ifndef FF_API_GET_BITS_PER_SAMPLE_FMT
106 #define FF_API_GET_BITS_PER_SAMPLE_FMT (LIBAVUTIL_VERSION_MAJOR < 53)
108 #ifndef FF_API_FIND_OPT
109 #define FF_API_FIND_OPT (LIBAVUTIL_VERSION_MAJOR < 53)
111 #ifndef FF_API_OLD_AVOPTIONS
112 #define FF_API_OLD_AVOPTIONS (LIBAVUTIL_VERSION_MAJOR < 53)
114 #ifndef FF_API_OLD_TC_ADJUST_FRAMENUM
115 #define FF_API_OLD_TC_ADJUST_FRAMENUM (LIBAVUTIL_VERSION_MAJOR < 52)
117 #ifndef FF_API_PIX_FMT
118 #define FF_API_PIX_FMT (LIBAVUTIL_VERSION_MAJOR < 53)
120 #ifndef FF_API_CONTEXT_SIZE
121 #define FF_API_CONTEXT_SIZE (LIBAVUTIL_VERSION_MAJOR < 53)
123 #ifndef FF_API_PIX_FMT_DESC
124 #define FF_API_PIX_FMT_DESC (LIBAVUTIL_VERSION_MAJOR < 53)
126 #ifndef FF_API_AV_REVERSE
127 #define FF_API_AV_REVERSE (LIBAVUTIL_VERSION_MAJOR < 53)
134 #endif /* AVUTIL_VERSION_H */