VPI - Vision Programming Interface

3.1 Release

Versioning

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

Macros

#define NV_VPI_MAKE_VERSION4(major, minor, patch, tweak)    ((major)*1000000U + (minor)*10000U + (patch)*100U + (tweak))
 Make a NV_VPI version identifier with four components. More...
 
#define NV_VPI_MAKE_VERSION3(major, minor, patch)    NV_VPI_MAKE_VERSION4(major, minor, patch, 0)
 Make a NV_VPI version identifier with three components. More...
 
#define NV_VPI_MAKE_VERSION2(major, minor)    NV_VPI_MAKE_VERSION4(major, minor, 0, 0)
 Make a NV_VPI version identifier with two components. More...
 
#define NV_VPI_MAKE_VERSION1(major)    NV_VPI_MAKE_VERSION4(major, 0, 0, 0)
 Make a NV_VPI version identifier with one component. More...
 
#define NV_VPI_MAKE_VERSION(major, minor, patch, tweak)
 Assemble an integer version from its components. More...
 
#define NV_VPI_VERSION_MAJOR   3
 Major version number component. More...
 
#define NV_VPI_VERSION_MINOR   1
 Minor version number component. More...
 
#define NV_VPI_VERSION_PATCH   5
 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   NV_VPI_MAKE_VERSION(NV_VPI_VERSION_MAJOR, NV_VPI_VERSION_MINOR, NV_VPI_VERSION_PATCH, NV_VPI_VERSION_TWEAK)
 NV_VPI library version. More...
 
#define NV_VPI_VERSION_STRING   "3.1.5"
 NV_VPI library version number represented as a string.
 
#define NV_VPI_VERSION_API
 Selected API version to use. More...
 
#define NV_VPI_VERSION_API_IS(major, minor)    (NV_VPI_MAKE_VERSION(major,minor) == NV_VPI_VERSION_API)
 Conditionally enable code when selected API version is exactly given version. More...
 
#define NV_VPI_VERSION_API_AT_LEAST(major, minor)    (NV_VPI_MAKE_VERSION(major,minor) <= NV_VPI_VERSION_API)
 Conditionally enable code when selected API version is at least given version. More...
 
#define NV_VPI_VERSION_API_AT_MOST(major, minor)    (NV_VPI_MAKE_VERSION(major,minor) >= NV_VPI_VERSION_API)
 Conditionally enable code when selected API version is at most given version. More...
 
#define NV_VPI_VERSION_API_IN_RANGE(min_major, min_minor, max_major, max_minor)    (NV_VPI_VERSION_API_AT_LEAST(min_major, min_minor) && NV_VPI_VERSION_API_AT_MOST(max_major, max_minor))
 Conditionally enable code when selected API version is between two versions. More...
 

Detailed Description

Declarations of entities to handle NV_VPI versioning.

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

Macro Definition Documentation

◆ NV_VPI_MAKE_VERSION4

#define NV_VPI_MAKE_VERSION4 (   major,
  minor,
  patch,
  tweak 
)     ((major)*1000000U + (minor)*10000U + (patch)*100U + (tweak))

#include <vpi/VersionDef.h>

Make a NV_VPI version identifier with four components.

Parameters
[in]major,minor,patch,tweakVersion components to be converted to a number.
Returns
The numeric version representation.

Definition at line 78 of file VersionDef.h.

◆ NV_VPI_MAKE_VERSION3

#define NV_VPI_MAKE_VERSION3 (   major,
  minor,
  patch 
)     NV_VPI_MAKE_VERSION4(major, minor, patch, 0)

#include <vpi/VersionDef.h>

Make a NV_VPI version identifier with three components.

The tweak version component is considered to be 0.

Parameters
[in]major,minor,patchVersion components to be converted to a number.
Returns
The numeric version representation.

Definition at line 88 of file VersionDef.h.

◆ NV_VPI_MAKE_VERSION2

#define NV_VPI_MAKE_VERSION2 (   major,
  minor 
)     NV_VPI_MAKE_VERSION4(major, minor, 0, 0)

#include <vpi/VersionDef.h>

Make a NV_VPI version identifier with two components.

The patch and tweak version components are considered to be 0.

Parameters
[in]major,minorVersion components to be converted to a number.
Returns
The numeric version representation.

Definition at line 98 of file VersionDef.h.

◆ NV_VPI_MAKE_VERSION1

#define NV_VPI_MAKE_VERSION1 (   major)     NV_VPI_MAKE_VERSION4(major, 0, 0, 0)

#include <vpi/VersionDef.h>

Make a NV_VPI version identifier with one component.

The minor, patch and tweak version components are considered to be 0.

Parameters
[in]majorMajor version component to be converted to a number.
Returns
The numeric version representation.

Definition at line 108 of file VersionDef.h.

◆ NV_VPI_MAKE_VERSION

#define NV_VPI_MAKE_VERSION (   major,
  minor,
  patch,
  tweak 
)

#include <vpi/VersionDef.h>

Assemble an integer version from its components.

This makes it easy to conditionally compile code for different NV_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
Parameters
[in]majorMajor version component, mandatory.
[in]minorMinor version component. If ommitted, it's considered to be 0.
[in]patchPatch version component. If ommitted, it's considered to be 0.
[in]tweakTweak version component. If ommitted, it's considered to be 0.
Returns
The numeric version representation.

Definition at line 128 of file VersionDef.h.

◆ NV_VPI_VERSION_MAJOR

#define NV_VPI_VERSION_MAJOR   3

#include <vpi/VersionDef.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 140 of file VersionDef.h.

◆ NV_VPI_VERSION_MINOR

#define NV_VPI_VERSION_MINOR   1

#include <vpi/VersionDef.h>

Minor version number component.

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

Definition at line 147 of file VersionDef.h.

◆ NV_VPI_VERSION_PATCH

#define NV_VPI_VERSION_PATCH   5

#include <vpi/VersionDef.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 153 of file VersionDef.h.

◆ NV_VPI_VERSION_TWEAK

#define NV_VPI_VERSION_TWEAK   0

#include <vpi/VersionDef.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 159 of file VersionDef.h.

◆ NV_VPI_VERSION_SUFFIX

#define NV_VPI_VERSION_SUFFIX   ""

#include <vpi/VersionDef.h>

Version suffix.

String appended to version number to designate special builds.

Definition at line 164 of file VersionDef.h.

◆ NV_VPI_VERSION

#include <vpi/VersionDef.h>

NV_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 170 of file VersionDef.h.

◆ NV_VPI_VERSION_API

#define NV_VPI_VERSION_API

#include <vpi/VersionDef.h>

Selected API version to use.

This macro selects which of the supported APIs the code will use.

By default this equals to the highest supported API, corresponding to the current major and minor versions of the library.

User can override the version by defining this macro before including NV_VPI headers.

Definition at line 184 of file VersionDef.h.

◆ NV_VPI_VERSION_API_IS

#define NV_VPI_VERSION_API_IS (   major,
  minor 
)     (NV_VPI_MAKE_VERSION(major,minor) == NV_VPI_VERSION_API)

#include <vpi/VersionDef.h>

Conditionally enable code when selected API version is exactly given version.

Parameters
[in]major,minorAPI version that will be considered.

Definition at line 200 of file VersionDef.h.

◆ NV_VPI_VERSION_API_AT_LEAST

#define NV_VPI_VERSION_API_AT_LEAST (   major,
  minor 
)     (NV_VPI_MAKE_VERSION(major,minor) <= NV_VPI_VERSION_API)

#include <vpi/VersionDef.h>

Conditionally enable code when selected API version is at least given version.

Parameters
[in]major,minorMinimum API version that will be considered.

Definition at line 207 of file VersionDef.h.

◆ NV_VPI_VERSION_API_AT_MOST

#define NV_VPI_VERSION_API_AT_MOST (   major,
  minor 
)     (NV_VPI_MAKE_VERSION(major,minor) >= NV_VPI_VERSION_API)

#include <vpi/VersionDef.h>

Conditionally enable code when selected API version is at most given version.

Parameters
[in]major,minorMaximum API version that will be considered.

Definition at line 214 of file VersionDef.h.

◆ NV_VPI_VERSION_API_IN_RANGE

#define NV_VPI_VERSION_API_IN_RANGE (   min_major,
  min_minor,
  max_major,
  max_minor 
)     (NV_VPI_VERSION_API_AT_LEAST(min_major, min_minor) && NV_VPI_VERSION_API_AT_MOST(max_major, max_minor))

#include <vpi/VersionDef.h>

Conditionally enable code when selected API version is between two versions.

Parameters
[in]min_major,min_minorMinimum API version that will be considered.
[in]max_major,max_minorMaximum API version that will be considered.

Definition at line 222 of file VersionDef.h.