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 38 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 #ifndef FF_API_LLS_PRIVATE 133 #define FF_API_LLS_PRIVATE (LIBAVUTIL_VERSION_MAJOR < 53) 134 #endif 135 #ifndef FF_API_AVFRAME_LAVC 136 #define FF_API_AVFRAME_LAVC (LIBAVUTIL_VERSION_MAJOR < 53) 137 #endif 138 139 /** 140 * @} 141 */ 142 143 #endif /* AVUTIL_VERSION_H */ 144 145