FFmpeg
5.1.6
libavutil
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
/**
22
* @file
23
* @ingroup lavu
24
* Libavutil version macros
25
*/
26
27
#ifndef AVUTIL_VERSION_H
28
#define AVUTIL_VERSION_H
29
30
#include "
macros.h
"
31
32
/**
33
* @addtogroup version_utils
34
*
35
* Useful to check and match library version in order to maintain
36
* backward compatibility.
37
*
38
* The FFmpeg libraries follow a versioning sheme very similar to
39
* Semantic Versioning (http://semver.org/)
40
* The difference is that the component called PATCH is called MICRO in FFmpeg
41
* and its value is reset to 100 instead of 0 to keep it above or equal to 100.
42
* Also we do not increase MICRO for every bugfix or change in git master.
43
*
44
* Prior to FFmpeg 3.2 point releases did not change any lib version number to
45
* avoid aliassing different git master checkouts.
46
* Starting with FFmpeg 3.2, the released library versions will occupy
47
* a separate MAJOR.MINOR that is not used on the master development branch.
48
* That is if we branch a release of master 55.10.123 we will bump to 55.11.100
49
* for the release and master will continue at 55.12.100 after it. Each new
50
* point release will then bump the MICRO improving the usefulness of the lib
51
* versions.
52
*
53
* @{
54
*/
55
56
#define AV_VERSION_INT(a, b, c) ((a)<<16 | (b)<<8 | (c))
57
#define AV_VERSION_DOT(a, b, c) a ##.## b ##.## c
58
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
59
60
/**
61
* Extract version components from the full ::AV_VERSION_INT int as returned
62
* by functions like ::avformat_version() and ::avcodec_version()
63
*/
64
#define AV_VERSION_MAJOR(a) ((a) >> 16)
65
#define AV_VERSION_MINOR(a) (((a) & 0x00FF00) >> 8)
66
#define AV_VERSION_MICRO(a) ((a) & 0xFF)
67
68
/**
69
* @}
70
*/
71
72
/**
73
* @defgroup lavu_ver Version and Build diagnostics
74
*
75
* Macros and function useful to check at compiletime and at runtime
76
* which version of libavutil is in use.
77
*
78
* @{
79
*/
80
81
#define LIBAVUTIL_VERSION_MAJOR 57
82
#define LIBAVUTIL_VERSION_MINOR 28
83
#define LIBAVUTIL_VERSION_MICRO 100
84
85
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
86
LIBAVUTIL_VERSION_MINOR, \
87
LIBAVUTIL_VERSION_MICRO)
88
#define LIBAVUTIL_VERSION AV_VERSION(LIBAVUTIL_VERSION_MAJOR, \
89
LIBAVUTIL_VERSION_MINOR, \
90
LIBAVUTIL_VERSION_MICRO)
91
#define LIBAVUTIL_BUILD LIBAVUTIL_VERSION_INT
92
93
#define LIBAVUTIL_IDENT "Lavu"
AV_STRINGIFY(LIBAVUTIL_VERSION)
94
95
/**
96
* @defgroup lavu_depr_guards Deprecation Guards
97
* FF_API_* defines may be placed below to indicate public API that will be
98
* dropped at a future version bump. The defines themselves are not part of
99
* the public API and may change, break or disappear at any time.
100
*
101
* @note, when bumping the major version it is recommended to manually
102
* disable each FF_API_* in its own commit instead of disabling them all
103
* at once through the bump. This improves the git bisect-ability of the change.
104
*
105
* @{
106
*/
107
108
#define FF_API_D2STR (LIBAVUTIL_VERSION_MAJOR < 58)
109
#define FF_API_DECLARE_ALIGNED (LIBAVUTIL_VERSION_MAJOR < 58)
110
#define FF_API_COLORSPACE_NAME (LIBAVUTIL_VERSION_MAJOR < 58)
111
#define FF_API_AV_MALLOCZ_ARRAY (LIBAVUTIL_VERSION_MAJOR < 58)
112
#define FF_API_FIFO_PEEK2 (LIBAVUTIL_VERSION_MAJOR < 58)
113
#define FF_API_FIFO_OLD_API (LIBAVUTIL_VERSION_MAJOR < 58)
114
#define FF_API_XVMC (LIBAVUTIL_VERSION_MAJOR < 58)
115
#define FF_API_OLD_CHANNEL_LAYOUT (LIBAVUTIL_VERSION_MAJOR < 58)
116
#define FF_API_AV_FOPEN_UTF8 (LIBAVUTIL_VERSION_MAJOR < 58)
117
118
/**
119
* @}
120
* @}
121
*/
122
123
#endif
/* AVUTIL_VERSION_H */
macros.h
Utility Preprocessor macros.
Generated by
1.9.4