1*09537850SAkhilesh Sanikop /* 2*09537850SAkhilesh Sanikop * Copyright 2019 The libgav1 Authors 3*09537850SAkhilesh Sanikop * 4*09537850SAkhilesh Sanikop * Licensed under the Apache License, Version 2.0 (the "License"); 5*09537850SAkhilesh Sanikop * you may not use this file except in compliance with the License. 6*09537850SAkhilesh Sanikop * You may obtain a copy of the License at 7*09537850SAkhilesh Sanikop * 8*09537850SAkhilesh Sanikop * http://www.apache.org/licenses/LICENSE-2.0 9*09537850SAkhilesh Sanikop * 10*09537850SAkhilesh Sanikop * Unless required by applicable law or agreed to in writing, software 11*09537850SAkhilesh Sanikop * distributed under the License is distributed on an "AS IS" BASIS, 12*09537850SAkhilesh Sanikop * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*09537850SAkhilesh Sanikop * See the License for the specific language governing permissions and 14*09537850SAkhilesh Sanikop * limitations under the License. 15*09537850SAkhilesh Sanikop */ 16*09537850SAkhilesh Sanikop 17*09537850SAkhilesh Sanikop #ifndef LIBGAV1_SRC_GAV1_VERSION_H_ 18*09537850SAkhilesh Sanikop #define LIBGAV1_SRC_GAV1_VERSION_H_ 19*09537850SAkhilesh Sanikop 20*09537850SAkhilesh Sanikop #include "gav1/symbol_visibility.h" 21*09537850SAkhilesh Sanikop 22*09537850SAkhilesh Sanikop // This library follows the principles described by Semantic Versioning 23*09537850SAkhilesh Sanikop // (https://semver.org). 24*09537850SAkhilesh Sanikop 25*09537850SAkhilesh Sanikop #define LIBGAV1_MAJOR_VERSION 0 26*09537850SAkhilesh Sanikop #define LIBGAV1_MINOR_VERSION 19 27*09537850SAkhilesh Sanikop #define LIBGAV1_PATCH_VERSION 0 28*09537850SAkhilesh Sanikop 29*09537850SAkhilesh Sanikop #define LIBGAV1_VERSION \ 30*09537850SAkhilesh Sanikop ((LIBGAV1_MAJOR_VERSION << 16) | (LIBGAV1_MINOR_VERSION << 8) | \ 31*09537850SAkhilesh Sanikop LIBGAV1_PATCH_VERSION) 32*09537850SAkhilesh Sanikop 33*09537850SAkhilesh Sanikop #if defined(__cplusplus) 34*09537850SAkhilesh Sanikop extern "C" { 35*09537850SAkhilesh Sanikop #endif 36*09537850SAkhilesh Sanikop 37*09537850SAkhilesh Sanikop // Returns the library's version number, packed in an int using 8 bits for 38*09537850SAkhilesh Sanikop // each of major/minor/patch. e.g, 1.2.3 is 0x010203. 39*09537850SAkhilesh Sanikop LIBGAV1_PUBLIC int Libgav1GetVersion(void); 40*09537850SAkhilesh Sanikop 41*09537850SAkhilesh Sanikop // Returns the library's version number as a string in the format 42*09537850SAkhilesh Sanikop // 'MAJOR.MINOR.PATCH'. Always returns a valid (non-NULL) string. 43*09537850SAkhilesh Sanikop LIBGAV1_PUBLIC const char* Libgav1GetVersionString(void); 44*09537850SAkhilesh Sanikop 45*09537850SAkhilesh Sanikop // Returns the build configuration used to produce the library. Always returns 46*09537850SAkhilesh Sanikop // a valid (non-NULL) string. 47*09537850SAkhilesh Sanikop LIBGAV1_PUBLIC const char* Libgav1GetBuildConfiguration(void); 48*09537850SAkhilesh Sanikop 49*09537850SAkhilesh Sanikop #if defined(__cplusplus) 50*09537850SAkhilesh Sanikop } // extern "C" 51*09537850SAkhilesh Sanikop 52*09537850SAkhilesh Sanikop namespace libgav1 { 53*09537850SAkhilesh Sanikop 54*09537850SAkhilesh Sanikop // Returns the library's version number, packed in an int using 8 bits for 55*09537850SAkhilesh Sanikop // each of major/minor/patch. e.g, 1.2.3 is 0x010203. GetVersion()56*09537850SAkhilesh Sanikopinline int GetVersion() { return Libgav1GetVersion(); } 57*09537850SAkhilesh Sanikop 58*09537850SAkhilesh Sanikop // Returns the library's version number as a string in the format 59*09537850SAkhilesh Sanikop // 'MAJOR.MINOR.PATCH'. Always returns a valid (non-NULL) string. GetVersionString()60*09537850SAkhilesh Sanikopinline const char* GetVersionString() { return Libgav1GetVersionString(); } 61*09537850SAkhilesh Sanikop 62*09537850SAkhilesh Sanikop // Returns the build configuration used to produce the library. Always returns 63*09537850SAkhilesh Sanikop // a valid (non-NULL) string. GetBuildConfiguration()64*09537850SAkhilesh Sanikopinline const char* GetBuildConfiguration() { 65*09537850SAkhilesh Sanikop return Libgav1GetBuildConfiguration(); 66*09537850SAkhilesh Sanikop } 67*09537850SAkhilesh Sanikop 68*09537850SAkhilesh Sanikop } // namespace libgav1 69*09537850SAkhilesh Sanikop #endif // defined(__cplusplus) 70*09537850SAkhilesh Sanikop 71*09537850SAkhilesh Sanikop #endif // LIBGAV1_SRC_GAV1_VERSION_H_ 72