You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
3.0KB

  1. /*
  2. * This file is part of Libav.
  3. *
  4. * Libav is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2.1 of the License, or (at your option) any later version.
  8. *
  9. * Libav is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with Libav; if not, write to the Free Software
  16. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  17. */
  18. #ifndef AVUTIL_VERSION_H
  19. #define AVUTIL_VERSION_H
  20. #include "macros.h"
  21. /**
  22. * @defgroup version_utils Library Version Macros
  23. *
  24. * Useful to check and match library version in order to maintain
  25. * backward compatibility.
  26. *
  27. * @{
  28. */
  29. #define AV_VERSION_INT(a, b, c) (a<<16 | b<<8 | c)
  30. #define AV_VERSION_DOT(a, b, c) a ##.## b ##.## c
  31. #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
  32. /**
  33. * @}
  34. */
  35. /**
  36. * @file
  37. * @ingroup lavu
  38. * Libavutil version macros
  39. */
  40. /**
  41. * @defgroup lavu_ver Version and Build diagnostics
  42. *
  43. * Macros and function useful to check at compiletime and at runtime
  44. * which version of libavutil is in use.
  45. *
  46. * @{
  47. */
  48. #define LIBAVUTIL_VERSION_MAJOR 56
  49. #define LIBAVUTIL_VERSION_MINOR 1
  50. #define LIBAVUTIL_VERSION_MICRO 1
  51. #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
  52. LIBAVUTIL_VERSION_MINOR, \
  53. LIBAVUTIL_VERSION_MICRO)
  54. #define LIBAVUTIL_VERSION AV_VERSION(LIBAVUTIL_VERSION_MAJOR, \
  55. LIBAVUTIL_VERSION_MINOR, \
  56. LIBAVUTIL_VERSION_MICRO)
  57. #define LIBAVUTIL_BUILD LIBAVUTIL_VERSION_INT
  58. #define LIBAVUTIL_IDENT "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)
  59. /**
  60. * @}
  61. *
  62. * @defgroup depr_guards Deprecation guards
  63. * FF_API_* defines may be placed below to indicate public API that will be
  64. * dropped at a future version bump. The defines themselves are not part of
  65. * the public API and may change, break or disappear at any time.
  66. *
  67. * @{
  68. */
  69. #ifndef FF_API_CRYPTO_CONTEXT
  70. #define FF_API_CRYPTO_CONTEXT (LIBAVUTIL_VERSION_MAJOR < 57)
  71. #endif
  72. #ifndef FF_API_PLUS1_MINUS1
  73. #define FF_API_PLUS1_MINUS1 (LIBAVUTIL_VERSION_MAJOR < 57)
  74. #endif
  75. #ifndef FF_API_ERROR_FRAME
  76. #define FF_API_ERROR_FRAME (LIBAVUTIL_VERSION_MAJOR < 57)
  77. #endif
  78. #ifndef FF_API_VAAPI
  79. #define FF_API_VAAPI (LIBAVUTIL_VERSION_MAJOR < 57)
  80. #endif
  81. #ifndef FF_API_PKT_PTS
  82. #define FF_API_PKT_PTS (LIBAVUTIL_VERSION_MAJOR < 57)
  83. #endif
  84. #ifndef FF_API_CRYPTO_SIZE_T
  85. #define FF_API_CRYPTO_SIZE_T (LIBAVUTIL_VERSION_MAJOR < 57)
  86. #endif
  87. /**
  88. * @}
  89. */
  90. #endif /* AVUTIL_VERSION_H */