VPI - 视觉编程接口

3.2 版本

Event.h
转到此文件的文档。
1 /*
2  * 版权所有 2019-2021 NVIDIA Corporation。保留所有权利。
3  *
4  * 许可方的注意事项:
5  *
6  * 此源代码和/或文档(“许可交付物”)受
7  * 美国和国际版权法的 NVIDIA 知识产权保护。
8  * 国际版权法。
9  *
10  * 此处包含的许可交付物是 NVIDIA 的专有和
11  * 机密信息,并根据 NVIDIA 软件许可协议的条款和
12  * 条件提供,该协议由 NVIDIA 和被许可方之间达成(“许可协议”)或以电子方式
13  * 在 NVIDIA 和被许可方之间(“许可协议”)或以电子方式被许可方接受。
14  * 被许可方接受。 尽管许可协议中有任何相反的条款或条件,
15  * 许可协议中相反的任何条款或条件,未经 NVIDIA 明确书面同意,不得复制或向任何第三方披露
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 (1995 年 6 月) 一致,所有
41  * 美国政府最终用户获得许可交付物,
42  * 仅具有此处规定的权利。
43  *
44  * 在个人和商业软件中使用许可交付物时,必须在用户文档和代码内部注释中包含上述
45  * 软件必须在用户文档和代码内部注释中包含上述
46  * 代码注释中包含上述免责声明和美国政府最终用户声明。
47  * 用户声明。
48  * */
49 
56 #ifndef NV_VPI_EVENT_H
57 #define NV_VPI_EVENT_H
58 
59 #include "Export.h"
60 #include "Status.h"
61 #include "Types.h"
62 
63 #include <stdint.h>
64 
96 #ifdef __cplusplus
97 extern "C" {
98 #endif
99 
105 #define VPI_EVENT_DISABLE_TIMESTAMP (1ULL << 63)
133 VPI_PUBLIC VPIStatus vpiEventCreate(uint64_t flags, VPIEvent *event);
134 
142 VPI_PUBLIC void vpiEventDestroy(VPIEvent event);
143 
171 VPI_PUBLIC VPIStatus vpiEventRecord(VPIEvent event, VPIStream stream);
172 
185 VPI_PUBLIC VPIStatus vpiEventSync(VPIEvent event);
186 
199 VPI_PUBLIC VPIStatus vpiEventQuery(VPIEvent event, VPIEventState *state);
200 
224 VPI_PUBLIC VPIStatus vpiEventElapsedTimeMillis(VPIEvent start, VPIEvent end, float *msec);
225 
239 VPI_PUBLIC VPIStatus vpiEventGetFlags(VPIEvent event, uint64_t *flags);
240 
241 #ifdef __cplusplus
242 }
243 #endif
244 
247 #endif /* NV_VPI_EVENT_H */
VPI 状态码处理函数的声明。
定义使用 VPI 编程所需的所有类型。
struct VPIEventImpl * VPIEvent
事件的句柄。
定义: Types.h:244
VPIStatus vpiEventElapsedTimeMillis(VPIEvent start, VPIEvent end, float *msec)
计算两个已完成事件之间经过的时间,以毫秒为单位。
VPIStatus vpiEventGetFlags(VPIEvent event, uint64_t *flags)
返回事件创建期间传递的事件标志。
VPIStatus vpiEventQuery(VPIEvent event, VPIEventState *state)
查询事件当前捕获的所有工作的状态。
VPIStatus vpiEventRecord(VPIEvent event, VPIStream stream)
在事件中捕获调用此函数时流命令队列的内容。
VPIStatus vpiEventCreate(uint64_t flags, VPIEvent *event)
创建一个事件实例。
VPIStatus vpiEventSync(VPIEvent event)
阻塞调用线程,直到事件被信号通知。
void vpiEventDestroy(VPIEvent event)
销毁事件实例及其拥有的所有资源。
VPIStatus
状态码。
定义: Status.h:81
struct VPIStreamImpl * VPIStream
流的句柄。
定义: Types.h:250
VPIEventState
定义事件的状态。
定义: Types.h:696