VPI - Vision Programming Interface

1.2 Release

Types.h File Reference

Defines all types needed for programming with VPI. More...

#include "ImageFormat.h"
#include "Interpolation.h"
#include "PixelType.h"
#include "Status.h"
#include "Version.h"
#include <stdint.h>
+ Include dependency graph for Types.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  VPIParallelForConfig
 Stores the ParallelFor configuration. More...
 
struct  VPIKeypoint
 Stores a keypoint coordinate. More...
 
struct  VPIHomographyTransform2D
 Stores a generic 2D homography transform. More...
 
struct  VPIBoundingBox
 Stores a generic 2D bounding box. More...
 
struct  VPIKLTTrackedBoundingBox
 Stores a bounding box that is being tracked by KLT Tracker. More...
 

Macros

#define VPI_EXCLUSIVE_STREAM_ACCESS   (1u << 30)
 Specifies that the memory will be accessed by only one stream at a time. More...
 
#define VPI_TERMINATION_CRITERIA_ITERATIONS   (1u << 0)
 Defines the termination criteria macros. More...
 
#define VPI_TERMINATION_CRITERIA_EPSILON   (1u << 1)
 Termination based on maximum error (epsilon).
 

Typedefs

typedef void(* VPIParallelTask) (int taskId, int threadId, void *vpiData)
 Parallel task function pointer type.
 
typedef void(* VPIParallelForCallback) (VPIParallelTask task, int taskCount, void *vpiData, void *userData)
 Parallel for callback function pointer type. More...
 
typedef void * VPINativeThreadHandle
 A handle to OS-specific thread handle.
 
typedef struct VPIArrayImpl * VPIArray
 A handle to an array.
 
typedef struct VPIContextImpl * VPIContext
 A handle to a context.
 
typedef struct VPIEventImpl * VPIEvent
 A handle to an event.
 
typedef struct VPIStreamImpl * VPIStream
 A handle to a stream.
 
typedef struct VPIImageImpl * VPIImage
 A handle to an image.
 
typedef struct VPIPyramidImpl * VPIPyramid
 A handle to an image pyramid.
 
typedef struct VPIPayloadImpl * VPIPayload
 A handle to an algorithm payload.
 
typedef float VPICameraIntrinsic[2][3]
 Camera intrinsic matrix. More...
 
typedef float VPICameraExtrinsic[3][4]
 Camera extrinsic matrix. More...
 
typedef float VPIPerspectiveTransform[3][3]
 Represents a 2D perspective transform. More...
 

Enumerations

enum  VPIBorderExtension
 Image border extension specify how pixel values outside of the image domain should be constructed. More...
 
enum  VPIConversionPolicy
 Policy used when converting between image types. More...
 
enum  VPIOpticalFlowQuality
 Defines the quality of the optical flow algorithm. More...
 
enum  VPILockMode
 Defines the lock modes used by memory lock functions. More...
 
enum  VPIEventState
 Defines the states of the event. More...
 

Memory creation flags.

These flags can be used when creating images, pyramids or arrays.

#define VPI_BACKEND_TEGRA   (VPI_BACKEND_PVA | VPI_BACKEND_VIC | VPI_BACKEND_NVENC)
 Tegra-only backends.
 
#define VPI_BACKEND_ALL   (VPI_BACKEND_CPU | VPI_BACKEND_CUDA | VPI_BACKEND_PVA | VPI_BACKEND_VIC | VPI_BACKEND_NVENC)
 All backends.
 
#define VPI_FLAG_ALL   ((1ULL << 32) - 1)
 Tegra-only backends.
 
enum  VPIBackend
 VPI Backend types. More...
 

Detailed Description

Defines all types needed for programming with VPI.

Definition in file Types.h.

Macro Definition Documentation

◆ VPI_EXCLUSIVE_STREAM_ACCESS

#define VPI_EXCLUSIVE_STREAM_ACCESS   (1u << 30)

Specifies that the memory will be accessed by only one stream at a time.

By default memories are created up so that at multiple streams can access it for reading simultaneously. Doing so might incur in increased system resources utilization. By specifying this flag when creating a VPIImage, VPIArray or VPIPyramid, when it's known that they won't be used concurrently by different streams, better resource allocation is achieved.

Definition at line 120 of file Types.h.