tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

version.h (4690B)


      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  59
     82 #define LIBAVUTIL_VERSION_MINOR  54
     83 #define LIBAVUTIL_VERSION_MICRO 101
     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_HDR_VIVID_THREE_SPLINE   (LIBAVUTIL_VERSION_MAJOR < 60)
    109 #define FF_API_FRAME_PKT                (LIBAVUTIL_VERSION_MAJOR < 60)
    110 #define FF_API_INTERLACED_FRAME         (LIBAVUTIL_VERSION_MAJOR < 60)
    111 #define FF_API_FRAME_KEY                (LIBAVUTIL_VERSION_MAJOR < 60)
    112 #define FF_API_PALETTE_HAS_CHANGED      (LIBAVUTIL_VERSION_MAJOR < 60)
    113 #define FF_API_VULKAN_CONTIGUOUS_MEMORY (LIBAVUTIL_VERSION_MAJOR < 60)
    114 #define FF_API_H274_FILM_GRAIN_VCS      (LIBAVUTIL_VERSION_MAJOR < 60)
    115 #define FF_API_MOD_UINTP2               (LIBAVUTIL_VERSION_MAJOR < 60)
    116 #define FF_API_RISCV_FD_ZBA             (LIBAVUTIL_VERSION_MAJOR < 60)
    117 #define FF_API_VULKAN_FIXED_QUEUES      (LIBAVUTIL_VERSION_MAJOR < 60)
    118 #define FF_API_OPT_INT_LIST             (LIBAVUTIL_VERSION_MAJOR < 60)
    119 #define FF_API_OPT_PTR                  (LIBAVUTIL_VERSION_MAJOR < 60)
    120 
    121 /**
    122 * @}
    123 * @}
    124 */
    125 
    126 #endif /* AVUTIL_VERSION_H */