VPI - Vision Programming Interface

0.4.4 Release

Versioning

Declarations of entities to handle VPI versioning. More...

Macros

#define NV_VPI_VERSION   40400
 VPI library version. More...
 
#define NV_VPI_MAKE_VERSION(MAJOR, MINOR, PATCH)    ((MAJOR)*1000000 + (MINOR)*10000 + (PATCH)*100)
 Assemble an integer version from its components. More...
 
#define NV_VPI_VERSION_MAJOR   0
 Major version number component. More...
 
#define NV_VPI_VERSION_MINOR   4
 Minor version number component. More...
 
#define NV_VPI_VERSION_PATCH   4
 Patch version number component. More...
 
#define NV_VPI_VERSION_TWEAK   0
 Tweak version number component. More...
 
#define NV_VPI_VERSION_SUFFIX
 Version suffix. More...
 
#define NV_VPI_VERSION_STRING   "0.4.4"
 VPI library version number represented as a string.
 
#define NV_VPI_COMMIT   "870540f78fab112829f0ed7f2b6ed76e935269ab"
 For internal use only.
 

Functions

int vpiGetVersion (void)
 Retrieves the library's version number. More...
 

Detailed Description

Declarations of entities to handle VPI versioning.

These utilities allow querying the VPI header and library versions and properly handle VPI forward- or backward-compatibility .

Macro Definition Documentation

◆ NV_VPI_MAKE_VERSION

#define NV_VPI_MAKE_VERSION (   MAJOR,
  MINOR,
  PATCH 
)     ((MAJOR)*1000000 + (MINOR)*10000 + (PATCH)*100)

#include <vpi/Version.h>

Assemble an integer version from its components.

This makes it easy to conditionally compile code for different VPI versions, e.g:

#if NV_VPI_VERSION < NV_VPI_MAKE_VERSION(1,0,0)
// code that runs on versions prior 1.0.0
#else
// code that runs on versions after that, including 1.0.0
#endif

Definition at line 95 of file Version.h.

◆ NV_VPI_VERSION

#define NV_VPI_VERSION   40400

#include <vpi/Version.h>

VPI library version.

It's an integer value computed from MAJOR*1000000 + MINOR*10000 + PATCH*100 + TWEAK. Integer versions can be compared, recent versions are greater than older ones.

Definition at line 83 of file Version.h.

◆ NV_VPI_VERSION_MAJOR

#define NV_VPI_VERSION_MAJOR   0

#include <vpi/Version.h>

Major version number component.

This is incremented every time there's a incompatible ABI change. In the special case of major version 0, compatibility between minor versions is not guaranteed.

Definition at line 103 of file Version.h.

◆ NV_VPI_VERSION_MINOR

#define NV_VPI_VERSION_MINOR   4

#include <vpi/Version.h>

Minor version number component.

This is incremented every time there's a new feature added to VPI that doesn't break backward compatibility. This number is reset to zero when major version changes.

Definition at line 110 of file Version.h.

◆ NV_VPI_VERSION_PATCH

#define NV_VPI_VERSION_PATCH   4

#include <vpi/Version.h>

Patch version number component.

This is incremented every time a bug is fixed, but no new functionality is added to the library. This number is reset to zero when minor version changes.

Definition at line 116 of file Version.h.

◆ NV_VPI_VERSION_SUFFIX

#define NV_VPI_VERSION_SUFFIX

#include <vpi/Version.h>

Version suffix.

String appended to version number to designate special builds.

Definition at line 127 of file Version.h.

◆ NV_VPI_VERSION_TWEAK

#define NV_VPI_VERSION_TWEAK   0

#include <vpi/Version.h>

Tweak version number component.

Incremented for packaging or documentation updates, etc. The library itself isn't updated. Gets reset to zero when patch version changes.

Definition at line 122 of file Version.h.

Function Documentation

◆ vpiGetVersion()

int vpiGetVersion ( void  )

#include <vpi/Version.h>

Retrieves the library's version number.

The number is represented as a integer. It may differ from NV_VPI_VERSION if header doesn't correspond to VPI binary. This can be used by user's program to handle semantic differences between library versions.