VPI - 视觉编程接口

3.2 版本

Pyramid.h
转到此文件的文档。
1 /*
2  * 版权所有 2019-2021 NVIDIA Corporation。保留所有权利。
3  *
4  * 致许可证持有者:
5  *
6  * 此源代码和/或文档(“许可交付物”)受美国和国际版权法规定的 NVIDIA 知识产权保护。
7  * 受美国和国际版权法规定的 NVIDIA 知识产权保护。
8  * 国际版权法。
9  *
10  * 此处包含的这些许可交付物是 NVIDIA 的专有和机密信息,并根据 NVIDIA 与被许可方之间(“许可协议”)或被许可方以电子方式接受的 NVIDIA 软件许可协议的条款和条件提供。
11  * 机密信息,并根据 NVIDIA 与被许可方之间(“许可协议”)或被许可方以电子方式
12  * 接受的 NVIDIA 软件许可协议的条款和条件提供。
13  * 接受。尽管许可协议中有任何相反的条款或条件,
14  * 接受。尽管许可协议中有任何相反的条款或条件,
15  * 许可协议中的相反条款,复制或披露
16  * 未经 NVIDIA 明确书面同意,禁止向任何第三方披露许可交付物。
17  * 书面同意 NVIDIA 是禁止的。
18  *
19  * 尽管许可协议中有任何相反的条款或条件,
20  * 许可协议,NVIDIA 不对
21  * 这些许可交付物对任何用途的适用性做任何陈述。
22  * 提供“按原样”,不提供任何明示或暗示的担保。
23  * NVIDIA 否认与这些许可交付物相关的所有担保,
24  * 交付物,包括所有关于适销性、
25  * 非侵权和适用于特定用途的默示担保。
26  * 尽管许可协议中有任何相反的条款或条件,
27  * 许可协议,在任何情况下,NVIDIA 均不对任何
28  * 特殊、间接、附带或后果性损害,或任何
29  * 因使用、数据或利润损失而造成的任何损害承担责任,
30  * 无论是合同诉讼、过失或其他侵权行为,
31  * 行为,由使用或性能引起或与之相关
32  * 这些许可交付物。
33  *
34  * 美国政府最终用户。这些许可交付物是
35  * “商业项目”,该术语在 48 C.F.R. 2.101 (OCT
36  * 1995) 中定义,由“商业计算机软件”和“商业
37  * 计算机软件文档”组成,这些术语在 48
38  * C.F.R. 12.212 (SEPT 1995) 中使用,并且仅作为商业最终产品提供给美国政府。
39  * 仅作为商业最终产品。与 48 C.F.R.12.212 和
40  * 48 C.F.R. 227.7202-1 至 227.7202-4 (JUNE 1995) 一致,所有
41  * 美国政府最终用户获得许可交付物,
42  * 仅获得此处规定的那些权利。
43  *
44  * 在个人和商业软件中使用许可交付物必须在用户文档和代码的内部注释中包含上述免责声明和美国政府最终用户须知。
45  * 软件必须在用户文档和内部
46  * 代码注释中包含上述免责声明和美国政府最终用户
47  * 用户须知。
48  */
49 
56 #ifndef NV_VPI_PYRAMID_H
57 #define NV_VPI_PYRAMID_H
58 
59 #include "Export.h"
60 #include "Image.h"
61 #include "Status.h"
62 #include "Types.h"
63 #include "Version.h"
64 
65 #include <stdint.h>
66 
100 #ifdef __cplusplus
101 extern "C" {
102 #endif
103 
105 #define VPI_MAX_PYRAMID_LEVEL_COUNT (10)
106 
111 typedef struct VPIPyramidDataRec
112 {
114  int32_t numLevels;
115 
117  float scale;
118 
122 
124 
167 VPI_PUBLIC VPIStatus vpiPyramidCreate(int32_t width, int32_t height, VPIImageFormat fmt, int32_t numLevels, float scale,
168  uint64_t flags, VPIPyramid *pyr);
169 
177 VPI_PUBLIC void vpiPyramidDestroy(VPIPyramid pyr);
178 
192 VPI_PUBLIC VPIStatus vpiPyramidGetFlags(VPIPyramid pyr, uint64_t *flags);
193 
208 
222 VPI_PUBLIC VPIStatus vpiPyramidGetNumLevels(VPIPyramid pyr, int32_t *numLevels);
223 
242 VPI_PUBLIC VPIStatus vpiPyramidGetSize(VPIPyramid pyr, int32_t outSize, int32_t *outWidth, int32_t *outHeight);
243 
257 VPI_PUBLIC VPIStatus vpiPyramidGetScale(VPIPyramid pyr, float *scale);
258 
282 
321  VPIPyramidData *out);
322 
337 
367 VPI_PUBLIC VPIStatus vpiImageCreateWrapperPyramidLevel(VPIPyramid pyr, int32_t level, VPIImage *img);
368 
369 #ifdef __cplusplus
370 }
371 #endif
372 
375 #endif /* NV_VPI_PYRAMID_H */
用于处理 VPI 图像的函数和结构。
VPI 状态代码处理函数的声明。
定义使用 VPI 编程所需的所有类型。
用于处理 VPI 库版本的函数和结构。
uint64_t VPIImageFormat
预定义的图像格式。
struct VPIImageImpl * VPIImage
图像的句柄。
定义: Types.h:256
VPIImageBufferType
表示图像数据的存储方式。
定义: Image.h:166
存储有关图像特征和内容的信息。
定义: Image.h:234
int32_t numLevels
层级数(即
定义: Pyramid.h:114
float scale
两个相邻层级之间分辨率的缩放因子。
定义: Pyramid.h:117
VPIStatus vpiPyramidCreate(int32_t width, int32_t height, VPIImageFormat fmt, int32_t numLevels, float scale, uint64_t flags, VPIPyramid *pyr)
使用指定的标志创建空的图像金字塔实例。
VPIStatus vpiPyramidGetSize(VPIPyramid pyr, int32_t outSize, int32_t *outWidth, int32_t *outHeight)
获取图像宽度和高度(一次获取所有层级)。
struct VPIPyramidImpl * VPIPyramid
图像金字塔的句柄。
定义: Types.h:262
VPIStatus vpiPyramidGetFormat(VPIPyramid pyr, VPIImageFormat *fmt)
返回金字塔层级的图像格式。
VPIStatus vpiPyramidGetNumLevels(VPIPyramid pyr, int32_t *numLevels)
获取图像金字塔层级计数。
#define VPI_MAX_PYRAMID_LEVEL_COUNT
金字塔层级的最大数量。
定义: Pyramid.h:105
VPIStatus vpiPyramidUnlock(VPIPyramid pyr)
释放图像金字塔对象的锁定。
VPIStatus vpiPyramidGetFlags(VPIPyramid pyr, uint64_t *flags)
返回与金字塔关联的标志。
VPIStatus vpiImageCreateWrapperPyramidLevel(VPIPyramid pyr, int32_t level, VPIImage *img)
创建包装一个金字塔层级的图像。
VPIStatus vpiPyramidGetScale(VPIPyramid pyr, float *scale)
返回金字塔层级的缩放因子。
VPIStatus vpiPyramidLockData(VPIPyramid pyr, VPILockMode lock, VPIImageBufferType bufType, VPIPyramidData *out)
获取金字塔对象的锁定,并返回指向金字塔每一层级的宿主机可访问的指针...
VPIStatus vpiPyramidLock(VPIPyramid pyr, VPILockMode lock)
获取金字塔对象的锁定。
void vpiPyramidDestroy(VPIPyramid pyr)
销毁图像金字塔实例以及它拥有的所有资源。
存储金字塔内容。
定义: Pyramid.h:112
VPIStatus
状态代码。
定义: Status.h:81
VPILockMode
定义内存锁定功能使用的锁定模式。
定义: Types.h:614