VPI - 视觉编程接口

3.2 版本发布

版本控制

用于处理 NV_VPI 版本控制的实体声明。 更多...

#define NV_VPI_MAKE_VERSION4(major, minor, patch, tweak)    ((major)*1000000U + (minor)*10000U + (patch)*100U + (tweak))
 创建一个带有四个组件的 NV_VPI 版本标识符。 更多...
 
#define NV_VPI_MAKE_VERSION3(major, minor, patch)    NV_VPI_MAKE_VERSION4(major, minor, patch, 0)
 创建一个带有三个组件的 NV_VPI 版本标识符。 更多...
 
#define NV_VPI_MAKE_VERSION2(major, minor)    NV_VPI_MAKE_VERSION4(major, minor, 0, 0)
 创建一个带有两个组件的 NV_VPI 版本标识符。 更多...
 
#define NV_VPI_MAKE_VERSION1(major)    NV_VPI_MAKE_VERSION4(major, 0, 0, 0)
 创建一个带有一个组件的 NV_VPI 版本标识符。 更多...
 
#define NV_VPI_MAKE_VERSION(major, minor, patch, tweak)
 从其组件组装一个整数版本。 更多...
 
#define NV_VPI_VERSION_MAJOR   3
 主版本号组件。 更多...
 
#define NV_VPI_VERSION_MINOR   2
 次版本号组件。 更多...
 
#define NV_VPI_VERSION_PATCH   5
 修订版本号组件。 更多...
 
#define NV_VPI_VERSION_TWEAK   0
 微调版本号组件。 更多...
 
#define NV_VPI_VERSION_SUFFIX   ""
 版本后缀。 更多...
 
#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 库版本。 更多...
 
#define NV_VPI_VERSION_STRING   "3.2.5"
 NV_VPI 库版本号,以字符串形式表示。
 
#define NV_VPI_VERSION_API
 选择要使用的 API 版本。 更多...
 
#define NV_VPI_VERSION_API_IS(major, minor)    (NV_VPI_MAKE_VERSION(major,minor) == NV_VPI_VERSION_API)
 当选择的 API 版本与给定版本完全相同时,有条件地启用代码。 更多...
 
#define NV_VPI_VERSION_API_AT_LEAST(major, minor)    (NV_VPI_MAKE_VERSION(major,minor) <= NV_VPI_VERSION_API)
 当选择的 API 版本至少为给定版本时,有条件地启用代码。 更多...
 
#define NV_VPI_VERSION_API_AT_MOST(major, minor)    (NV_VPI_MAKE_VERSION(major,minor) >= NV_VPI_VERSION_API)
 当选择的 API 版本至多为给定版本时,有条件地启用代码。 更多...
 
#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))
 当选择的 API 版本介于两个版本之间时,有条件地启用代码。 更多...
 

详细描述

用于处理 NV_VPI 版本控制的实体声明。

这些实用程序允许查询 NV_VPI 标头和库版本,并正确处理 NV_VPI 的向前或向后兼容性。

宏定义文档

◆ NV_VPI_MAKE_VERSION4

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

#include <vpi/VersionDef.h>

创建一个带有四个组件的 NV_VPI 版本标识符。

参数
[in]major,minor,patch,tweak要转换为数字的版本组件。
返回
数字版本表示形式。

定义于 VersionDef.h 文件的第 78 行。

◆ NV_VPI_MAKE_VERSION3

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

#include <vpi/VersionDef.h>

创建一个带有三个组件的 NV_VPI 版本标识符。

微调版本组件被视为 0。

参数
[in]major,minor,patch要转换为数字的版本组件。
返回
数字版本表示形式。

定义于 VersionDef.h 文件的第 88 行。

◆ NV_VPI_MAKE_VERSION2

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

#include <vpi/VersionDef.h>

创建一个带有两个组件的 NV_VPI 版本标识符。

修订版本和微调版本组件被视为 0。

参数
[in]major,minor要转换为数字的版本组件。
返回
数字版本表示形式。

定义于 VersionDef.h 文件的第 98 行。

◆ NV_VPI_MAKE_VERSION1

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

#include <vpi/VersionDef.h>

创建一个带有一个组件的 NV_VPI 版本标识符。

次版本、修订版本和微调版本组件被视为 0。

参数
[in]major要转换为数字的主版本组件。
返回
数字版本表示形式。

定义于 VersionDef.h 文件的第 108 行。

◆ NV_VPI_MAKE_VERSION

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

#include <vpi/VersionDef.h>

从其组件组装一个整数版本。

这使得为不同的 NV_VPI 版本有条件地编译代码变得容易,例如:

#if NV_VPI_VERSION < NV_VPI_MAKE_VERSION(1,0,0)
// 在 1.0.0 之前的版本上运行的代码
#else
// 在此之后的版本上运行的代码,包括 1.0.0
#endif
参数
[in]major主版本组件,强制性的。
[in]minor次版本组件。 如果省略,则视为 0。
[in]patch修订版本组件。 如果省略,则视为 0。
[in]tweak微调版本组件。 如果省略,则视为 0。
返回
数字版本表示形式。

定义于 VersionDef.h 文件的第 128 行。

◆ NV_VPI_VERSION_MAJOR

#define NV_VPI_VERSION_MAJOR   3

#include <vpi/VersionDef.h>

主版本号组件。

每次发生不兼容的 ABI 更改时,此值都会递增。 在主版本 0 的特殊情况下,不保证次版本之间的兼容性。

定义于 VersionDef.h 文件的第 140 行。

◆ NV_VPI_VERSION_MINOR

#define NV_VPI_VERSION_MINOR   2

#include <vpi/VersionDef.h>

次版本号组件。

每次向 NV_VPI 添加不破坏向后兼容性的新功能时,此值都会递增。 当主版本更改时,此数字将重置为零。

定义于 VersionDef.h 文件的第 147 行。

◆ NV_VPI_VERSION_PATCH

#define NV_VPI_VERSION_PATCH   5

#include <vpi/VersionDef.h>

修订版本号组件。

每次修复错误但未向库中添加新功能时,此值都会递增。 当次版本更改时,此数字将重置为零。

定义于 VersionDef.h 文件的第 153 行。

◆ NV_VPI_VERSION_TWEAK

#define NV_VPI_VERSION_TWEAK   0

#include <vpi/VersionDef.h>

微调版本号组件。

针对打包或文档更新等情况递增。 库本身不会更新。 当修订版本更改时,将重置为零。

定义于 VersionDef.h 文件的第 159 行。

◆ NV_VPI_VERSION_SUFFIX

#define NV_VPI_VERSION_SUFFIX   ""

#include <vpi/VersionDef.h>

版本后缀。

附加到版本号的字符串,用于指定特殊构建版本。

定义于 VersionDef.h 文件的第 164 行。

◆ NV_VPI_VERSION

#include <vpi/VersionDef.h>

NV_VPI 库版本。

它是从 MAJOR*1000000 + MINOR*10000 + PATCH*100 + TWEAK 计算得出的整数值。 整数版本可以比较,最近的版本大于较旧的版本。

定义于 VersionDef.h 文件的第 170 行。

◆ NV_VPI_VERSION_API

#define NV_VPI_VERSION_API

#include <vpi/VersionDef.h>

选择要使用的 API 版本。

此宏选择代码将使用的受支持 API 中的哪一个。

默认情况下,这等于最高支持的 API,对应于库的当前主版本和次版本。

用户可以通过在包含 NV_VPI 标头之前定义此宏来覆盖版本。

定义于 VersionDef.h 文件的第 184 行。

◆ 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>

当选择的 API 版本与给定版本完全相同时,有条件地启用代码。

参数
[in]major,minor将被考虑的 API 版本。

定义于 VersionDef.h 文件的第 200 行。

◆ 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>

当选择的 API 版本至少为给定版本时,有条件地启用代码。

参数
[in]major,minor将被考虑的最低 API 版本。

定义于 VersionDef.h 文件的第 207 行。

◆ 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>

当选择的 API 版本至多为给定版本时,有条件地启用代码。

参数
[in]major,minor将被考虑的最高 API 版本。

定义于 VersionDef.h 文件的第 214 行。

◆ 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>

当选择的 API 版本介于两个版本之间时,有条件地启用代码。

参数
[in]min_major,min_minor将被考虑的最低 API 版本。
[in]max_major,max_minor将被考虑的最高 API 版本。

定义于 VersionDef.h 文件的第 222 行。