Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  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. #include "macros.h"
  25.  
  26. /**
  27.  * @addtogroup version_utils
  28.  *
  29.  * Useful to check and match library version in order to maintain
  30.  * backward compatibility.
  31.  *
  32.  * @{
  33.  */
  34.  
  35. #define AV_VERSION_INT(a, b, c) ((a)<<16 | (b)<<8 | (c))
  36. #define AV_VERSION_DOT(a, b, c) a ##.## b ##.## c
  37. #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
  38.  
  39. /**
  40.  * @}
  41.  */
  42.  
  43. /**
  44.  * @file
  45.  * @ingroup lavu
  46.  * Libavutil version macros
  47.  */
  48.  
  49. /**
  50.  * @defgroup lavu_ver Version and Build diagnostics
  51.  *
  52.  * Macros and function useful to check at compiletime and at runtime
  53.  * which version of libavutil is in use.
  54.  *
  55.  * @{
  56.  */
  57.  
  58. #define LIBAVUTIL_VERSION_MAJOR  54
  59. #define LIBAVUTIL_VERSION_MINOR  31
  60. #define LIBAVUTIL_VERSION_MICRO 100
  61.  
  62. #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
  63.                                                LIBAVUTIL_VERSION_MINOR, \
  64.                                                LIBAVUTIL_VERSION_MICRO)
  65. #define LIBAVUTIL_VERSION       AV_VERSION(LIBAVUTIL_VERSION_MAJOR,     \
  66.                                            LIBAVUTIL_VERSION_MINOR,     \
  67.                                            LIBAVUTIL_VERSION_MICRO)
  68. #define LIBAVUTIL_BUILD         LIBAVUTIL_VERSION_INT
  69.  
  70. #define LIBAVUTIL_IDENT         "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)
  71.  
  72. /**
  73.  * @}
  74.  *
  75.  * @defgroup depr_guards Deprecation guards
  76.  * FF_API_* defines may be placed below to indicate public API that will be
  77.  * dropped at a future version bump. The defines themselves are not part of
  78.  * the public API and may change, break or disappear at any time.
  79.  *
  80.  * @note, when bumping the major version it is recommended to manually
  81.  * disable each FF_API_* in its own commit instead of disabling them all
  82.  * at once through the bump. This improves the git bisect-ability of the change.
  83.  *
  84.  * @{
  85.  */
  86.  
  87. #ifndef FF_API_OLD_AVOPTIONS
  88. #define FF_API_OLD_AVOPTIONS            (LIBAVUTIL_VERSION_MAJOR < 55)
  89. #endif
  90. #ifndef FF_API_PIX_FMT
  91. #define FF_API_PIX_FMT                  (LIBAVUTIL_VERSION_MAJOR < 55)
  92. #endif
  93. #ifndef FF_API_CONTEXT_SIZE
  94. #define FF_API_CONTEXT_SIZE             (LIBAVUTIL_VERSION_MAJOR < 55)
  95. #endif
  96. #ifndef FF_API_PIX_FMT_DESC
  97. #define FF_API_PIX_FMT_DESC             (LIBAVUTIL_VERSION_MAJOR < 55)
  98. #endif
  99. #ifndef FF_API_AV_REVERSE
  100. #define FF_API_AV_REVERSE               (LIBAVUTIL_VERSION_MAJOR < 55)
  101. #endif
  102. #ifndef FF_API_AUDIOCONVERT
  103. #define FF_API_AUDIOCONVERT             (LIBAVUTIL_VERSION_MAJOR < 55)
  104. #endif
  105. #ifndef FF_API_CPU_FLAG_MMX2
  106. #define FF_API_CPU_FLAG_MMX2            (LIBAVUTIL_VERSION_MAJOR < 55)
  107. #endif
  108. #ifndef FF_API_LLS_PRIVATE
  109. #define FF_API_LLS_PRIVATE              (LIBAVUTIL_VERSION_MAJOR < 55)
  110. #endif
  111. #ifndef FF_API_AVFRAME_LAVC
  112. #define FF_API_AVFRAME_LAVC             (LIBAVUTIL_VERSION_MAJOR < 55)
  113. #endif
  114. #ifndef FF_API_VDPAU
  115. #define FF_API_VDPAU                    (LIBAVUTIL_VERSION_MAJOR < 55)
  116. #endif
  117. #ifndef FF_API_GET_CHANNEL_LAYOUT_COMPAT
  118. #define FF_API_GET_CHANNEL_LAYOUT_COMPAT (LIBAVUTIL_VERSION_MAJOR < 55)
  119. #endif
  120. #ifndef FF_API_XVMC
  121. #define FF_API_XVMC                     (LIBAVUTIL_VERSION_MAJOR < 55)
  122. #endif
  123. #ifndef FF_API_OPT_TYPE_METADATA
  124. #define FF_API_OPT_TYPE_METADATA        (LIBAVUTIL_VERSION_MAJOR < 55)
  125. #endif
  126. #ifndef FF_API_DLOG
  127. #define FF_API_DLOG                     (LIBAVUTIL_VERSION_MAJOR < 55)
  128. #endif
  129. #ifndef FF_API_HMAC
  130. #define FF_API_HMAC                     (LIBAVUTIL_VERSION_MAJOR < 55)
  131. #endif
  132. #ifndef FF_API_VAAPI
  133. #define FF_API_VAAPI                    (LIBAVUTIL_VERSION_MAJOR < 56)
  134. #endif
  135.  
  136. #ifndef FF_CONST_AVUTIL55
  137. #if LIBAVUTIL_VERSION_MAJOR >= 55
  138. #define FF_CONST_AVUTIL55 const
  139. #else
  140. #define FF_CONST_AVUTIL55
  141. #endif
  142. #endif
  143.  
  144. /**
  145.  * @}
  146.  */
  147.  
  148. #endif /* AVUTIL_VERSION_H */
  149.  
  150.