NVIDIA DRIVE OS Linux SDK API Reference

5.1.6.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvmedia_vpi.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved. All
3  * information contained herein is proprietary and confidential to NVIDIA
4  * Corporation. Any use, reproduction, or disclosure without the written
5  * permission of NVIDIA Corporation is prohibited.
6  */
7 
8 
16 #ifndef _NvMediaVPI_H
17 #define _NvMediaVPI_H
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 #include "nvmedia_core.h"
24 #include "nvmedia_image.h"
25 #include "nvmedia_array.h"
26 #include "nvmedia_image_pyramid.h"
27 #include "nvmedia_cvscratchpad.h"
28 #include "nvmedia_surface.h"
29 
41 #define NVMEDIA_VPI_VERSION_MAJOR 2
42 
43 #define NVMEDIA_VPI_VERSION_MINOR 6
44 
47 #define NVMEDIA_VPI_MAX_QUEUED_TASKS 64
48 
52 typedef struct NvMediaVPI NvMediaVPI;
53 
56 typedef enum {
64  /* If more types are needed, add above this and update this. */
67 
71 typedef struct {
73  float x;
75  float y;
77 
81 typedef struct {
84  uint32_t x;
87  uint32_t y;
89 
94 typedef struct {
96  float x;
98  float y;
100  float width;
102  float height;
104  uint8_t trackingStatus;
106  uint8_t updateTemplate;
108  uint8_t reserved1;
110  uint8_t reserved2;
112 
116 typedef struct {
117  float mat3[3][3];
119 
123 typedef struct {
125  float deltaScale;
127  float deltaX;
129  float deltaY;
131 
135 typedef struct {
139  float width;
141  float height;
143  uint8_t trackingStatus;
145  uint8_t templateStatus;
147  uint8_t reserved1;
149  uint8_t reserved2;
151 
163  uint32_t *numEngines
164 );
165 
177  NvMediaVersion *version
178 );
179 
191 NvMediaVPI *
193  const uint32_t Id,
194  const uint32_t maxQueuedTasks
195 );
196 
208  NvMediaVPI *vpi
209 );
210 
223  NvMediaVPI *vpi
224 );
225 
239  NvMediaVPI *vpi,
240  NvMediaImage *image
241 );
242 
256  NvMediaVPI *vpi,
257  NvMediaImage *image
258 );
259 
273  NvMediaVPI *vpi,
274  NvMediaArray *array
275 );
276 
290  NvMediaVPI *vpi,
291  NvMediaArray *array
292 );
293 
308  NvMediaVPI *vpi,
309  NvMediaCVScratchpad *scratchpad
310 );
311 
326  NvMediaVPI *vpi,
327  NvMediaCVScratchpad *scratchpad
328 );
329 
340 NvMediaArray *
342  NvMediaDevice *device,
343  NvMediaVPIArrayType type,
344  uint32_t numElements,
345  const NvMediaArrayAllocAttr *attrs,
346  uint32_t numAttrs
347 );
348 
362  NvMediaVPI *vpi,
363  NvMediaImagePyramid *pyramid
364 );
365 
379  NvMediaVPI *vpi,
380  NvMediaImagePyramid *pyramid
381 );
382 
387 
392 typedef enum {
402 
415  NvMediaVPI *vpi,
416  const uint32_t width,
417  const uint32_t height,
418  const NvMediaVPIOFSTOutputType outputType
419 );
420 
444  NvMediaVPI *vpi,
446  NvMediaImage *left,
447  NvMediaImage *right,
448  NvMediaImage *output
449 );
450 
455 
470  NvMediaVPI *vpi,
471  const uint32_t width,
472  const uint32_t height,
473  const NvMediaSurfaceType type,
474  const float strength,
475  const float scale
476 );
477 
512  NvMediaVPI *vpi,
513  NvMediaVPIConvertMVDescriptor *descriptor,
514  NvMediaImage *inputMVImage,
515  NvMediaImage *inputColor,
516  NvMediaImage *output,
517  const NvMediaVPIOFSTOutputType outputType
518 );
519 
520 
525 
538  NvMediaVPI *vpi,
539  const uint32_t width,
540  const uint32_t height,
541  const float scale
542 );
543 
547 typedef struct {
552  uint32_t windowDimension;
554 
584  NvMediaVPI *vpi,
587  NvMediaImage *disparityInput,
588  NvMediaImage *confidenceInput,
589  NvMediaImage *disparityOutput,
590  NvMediaImage *confidenceOutput
591 );
592 
597 
611  NvMediaVPI *vpi,
612  const uint32_t width,
613  const uint32_t height,
614  const NvMediaVPIOFSTOutputType outputType
615 );
616 
622 typedef struct {
626  uint8_t fractionalBits;
633 
635 #define NVMEDIA_VPI_CONFIDENCE_TABLE_MIN_CAPACITY (128)
636 
679  NvMediaVPI *vpi,
682  NvMediaArray *confidenceTable,
683  NvMediaImage *leftImage,
684  NvMediaImage *rightImage,
685  NvMediaImage *output0,
686  NvMediaImage *output1
687 );
688 
690 #define NVMEDIA_VPI_HINT_ARRAY_MIN_CAPACITY_BYTES (261376)
691 
740  NvMediaVPI *vpi,
743  NvMediaArray *confidenceTable,
744  NvMediaImage *leftImage,
745  NvMediaImage *rightImage,
746  NvMediaImage *leftDisparity,
747  NvMediaImage *rightDisparity,
748  NvMediaImage *confidenceMap,
749  NvMediaArray *hintsArray
750 );
751 
755 typedef enum {
756  /* Use a 2D grid of 8x8 cells with no minimal distance. */
759 
763 typedef enum {
770 
771 /*
772  * \brief NvMediaVPIGetKeyPointsHarrisDescriptor.
773  */
775 
789  NvMediaVPI *vpi,
790  const uint32_t width,
791  const uint32_t height,
792  const NvMediaVPINonMaxSuppressionType nonMaxSuppressionType);
793 
797 typedef struct {
799  const uint32_t gradientSize;
805  const uint16_t *verticalFilterCoefficients;
808  const uint32_t blockSize;
811  const float strengthThresh;
813  const float sensitivity;
817  const float minDistance;
819 
875  NvMediaVPI *vpi,
878  NvMediaImage *input,
879  NvMediaImage *mask,
880  NvMediaArray *trackedKeypoints,
881  NvMediaArray *trackedScores,
882  NvMediaArray *keypoints,
883  NvMediaArray *scores
884 );
885 
886 /*
887  * \brief NvMediaVPIGetKeyPointsFastDescriptor.
888  */
890 
903  NvMediaVPI *vpi,
904  const uint32_t width,
905  const uint32_t height,
906  const NvMediaSurfaceType type
907 );
908 
947  NvMediaVPI *vpi,
949  NvMediaImage *input,
950  const uint32_t strengthThresh,
951  const NvMediaBool nonmaxSupression,
952  NvMediaArray *keypoints,
953  NvMediaArray *scores
954 );
955 
959 typedef enum {
968 
972 typedef struct {
976  float epsilon;
978  uint32_t numPoints;
980  uint32_t numIterations;
983  uint32_t windowDimension;
986  int32_t calcError;
988  uint32_t numLevels;
990 
995 
1006  NvMediaVPI *vpi,
1008 );
1009 
1055  NvMediaVPI *vpi,
1057  const NvMediaVPIGetSparseFlowPyrLKParams *params,
1058  NvMediaImagePyramid *oldImages,
1059  NvMediaImagePyramid *newImages,
1060  NvMediaArray *oldPoints,
1061  NvMediaArray *newPoints,
1062  NvMediaArray *newStatus
1063 );
1064 
1069 
1082  NvMediaVPI *vpi,
1083  const uint32_t width,
1084  const uint32_t height,
1085  const NvMediaSurfaceType type
1086 );
1087 
1090 {
1094 
1098 typedef struct {
1120 
1178  NvMediaVPI *vpi,
1179  NvMediaVPIKLTDescriptor *descriptor,
1180  const NvMediaVPIKLTParams *params,
1181  NvMediaImage *referenceImage,
1182  NvMediaImage *templateImage,
1183  NvMediaArray *inputBoxList,
1184  NvMediaArray *predictedBoxList,
1185  NvMediaArray *outputBoxList,
1186  NvMediaArray *estimationList
1187 );
1188 
1206  void *descriptor,
1207  uint32_t *scratchpadSizeBytes
1208 );
1209 
1271  NvMediaVPI *vpi,
1272  NvMediaVPIKLTDescriptor *descriptor,
1273  NvMediaCVScratchpad *scratchpad,
1274  const NvMediaVPIKLTParams *params,
1275  NvMediaImage *referenceImage,
1276  NvMediaImage *templateImage,
1277  NvMediaArray *inputBoxList,
1278  NvMediaArray *predictedBoxList,
1279  NvMediaArray *outputBoxList,
1280  NvMediaArray *estimationList
1281 );
1282 
1308  NvMediaVPI *vpi,
1309  NvMediaImage *input,
1310  NvMediaImagePyramid *output
1311 );
1312 
1337  NvMediaVPI *vpi,
1338  NvMediaImage *input,
1339  const float *kernelData,
1340  const uint32_t kernelWidth,
1341  const uint32_t kernelHeight,
1342  NvMediaImage *output
1343 );
1344 
1350 
1366  NvMediaVPI *vpi,
1367  NvMediaSurfaceType type,
1368  const float *kernelX,
1369  const uint32_t kernelXSize,
1370  const float *kernelY,
1371  const uint32_t kernelYSize
1372 );
1373 
1399  NvMediaVPI *vpi,
1400  NvMediaImage *input,
1401  const float *kernelX,
1402  const uint32_t kernelXSize,
1403  const float *kernelY,
1404  const uint32_t kernelYSize,
1405  NvMediaImage *output
1406 );
1407 
1431  NvMediaVPI *vpi,
1432  NvMediaImage *input,
1433  const uint32_t windowWidth,
1434  const uint32_t windowHeight,
1435  NvMediaImage *output
1436 );
1437 
1458  NvMediaArray *array,
1459  const uint32_t startIndex,
1460  const uint32_t numElements,
1461  NvMediaVPIPoint2Df *destPtr
1462 );
1463 
1484  NvMediaVPIPoint2Df *inputPtr,
1485  const uint32_t startIndex,
1486  const uint32_t numElements,
1487  NvMediaArray *destArray
1488 );
1489 
1509  NvMediaArray *array,
1510  const uint32_t startIndex,
1511  const uint32_t numElements,
1512  NvMediaVPIAABB *destPtr
1513 );
1514 
1534  NvMediaVPIAABB *inputPtr,
1535  const uint32_t startIndex,
1536  const uint32_t numElements,
1537  NvMediaArray *destArray
1538 );
1539 
1560  NvMediaArray *array,
1561  const uint32_t startIndex,
1562  const uint32_t numElements,
1564 );
1565 
1587  const uint32_t startIndex,
1588  const uint32_t numElements,
1589  NvMediaArray *destArray
1590 );
1591 
1613  NvMediaArray *array,
1614  const uint32_t startIndex,
1615  const uint32_t numElements,
1617 );
1618 
1640  const uint32_t startIndex,
1641  const uint32_t numElements,
1642  NvMediaArray *destArray
1643 );
1644 
1665  NvMediaArray *array,
1666  const uint32_t startIndex,
1667  const uint32_t numElements,
1668  NvMediaVPI2DTransform *destPtr
1669 );
1670 
1689  NvMediaVPI2DTransform *inputPtr,
1690  const uint32_t startIndex,
1691  const uint32_t numElements,
1692  NvMediaArray *destArray
1693 );
1694 
1711  NvMediaVPI *vpi,
1712  void *descriptor
1713 );
1714 
1715 /*
1716  * \defgroup history_NvMediaVPI History
1717  * Provides change history for the NVIDIA VPI API.
1718  *
1719  * \section history_NvMediaVPI Version History
1720  *
1721  * <b> Version 1.0 </b> March 2, 2018
1722  * - Initial API definitions.
1723  *
1724  * <b> Version 2.0 </b> June 5, 2018
1725  * - Update Harris tracking API.
1726  *
1727  * <b> Version 2.1 </b> July 12, 2018
1728  * - Add KLT API, and array accessor API's.
1729  *
1730  * <b> Version 2.2 </b> July 12, 2018
1731  * - Add API to query number of available engines.
1732  *
1733  * <b> Version 2.3 </b> Sept 27, 2018
1734  * - Add KLT Fast API
1735  *
1736  * <b> Version 2.4 </b> Feb 21, 2019
1737  * - Add NvMediaVPIStereoPreprocessDescEx API
1738  *
1739  * <b> Version 2.5 </b> March 16, 2019
1740  * - Added required header include nvmedia_surface.h
1741  *
1742  * <b> Version 2.6 </b> March 22, 2019
1743  * - Unnecessary header include nvmedia_common.h has been removed
1744  *
1745  */
1746 
1749 #ifdef __cplusplus
1750 }
1751 #endif
1752 
1753 #endif /* _NVMEDIA_VPI_H */
const float strengthThresh
Holds the minimum threshold with which to eliminate Harris Corner scores.
Definition: nvmedia_vpi.h:811
NvMediaStatus NvMediaVPIArrayGetAABB(NvMediaArray *array, const uint32_t startIndex, const uint32_t numElements, NvMediaVPIAABB *destPtr)
Helper function; converts an NvMediaArray of type NVMEDIA_VPI_ARRAY_TYPE_BBOX_XFORM type to an array ...
const NvMediaVPIHarrisGradientFilterType gradientFilterType
Holds filter type.
Definition: nvmedia_vpi.h:801
const int16_t * horizontalFilterCoefficients
Holds horizontal filter of gradientSize coefficients.
Definition: nvmedia_vpi.h:803
NvMediaStatus NvMediaVPIFilterImageBox(NvMediaVPI *vpi, NvMediaImage *input, const uint32_t windowWidth, const uint32_t windowHeight, NvMediaImage *output)
Queues an operation to compute a generic box filter window of the input image.
uint32_t numLevels
Holds the number of levels in the pyramid.
Definition: nvmedia_vpi.h:988
float x
x coordinate.
Definition: nvmedia_vpi.h:96
Holds a handle representing image objects.
Definition: nvmedia_image.h:69
NvMediaVPIArrayType
Defines the different types of VPI-specific arrays.
Definition: nvmedia_vpi.h:56
Specifies termination by the number of iterations.
Definition: nvmedia_vpi.h:961
#define NvMediaSurfaceType
Defines the set of NvMedia surface types.
uint8_t confidenceThresh
Holds the confidence threshold.
Definition: nvmedia_vpi.h:628
Translation with Scale parameters.
Definition: nvmedia_vpi.h:123
struct NvMediaVPI NvMediaVPI
Holds an opaque object representing NvMediaVPI.
Definition: nvmedia_vpi.h:52
const uint32_t blockSize
Holds block window size used to compute the Harris Corner score.
Definition: nvmedia_vpi.h:808
NvMediaStatus NvMediaVPIArrayUpdateAABB(NvMediaVPIAABB *inputPtr, const uint32_t startIndex, const uint32_t numElements, NvMediaArray *destArray)
Helper function; converts an array of type NvMediaVPIAABB to an NvMediaArray of type NVMEDIA_VPI_ARRA...
int uint32_t width
struct NvMediaArray NvMediaArray
Holds a descriptor for an array.
Definition: nvmedia_array.h:79
NvMediaStatus NvMediaVPIArrayGetBoundingBoxWithTransform(NvMediaArray *array, const uint32_t startIndex, const uint32_t numElements, NvMediaVPIBoundingBoxWithTransform *destPtr)
Helper function; converts an NvMediaArray of type NVMEDIA_VPI_ARRAY_TYPE_BBOX_XFORM type to an array ...
Bounding Box with Transform type.
Definition: nvmedia_vpi.h:60
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:80
float width
width of bounding box.
Definition: nvmedia_vpi.h:139
Holds 2D floating point definition.
Definition: nvmedia_vpi.h:71
NvMediaVPIKLTDescriptor * NvMediaVPICreateKLTDescriptor(NvMediaVPI *vpi, const uint32_t width, const uint32_t height, const NvMediaSurfaceType type)
Creates a pointer to the NvMediaVPIKLTDescriptor.
struct NvMediaVPIStereoPreprocessDescriptor NvMediaVPIStereoPreprocessDescriptor
NvMediaVPISteroPreprocess descriptor.
Definition: nvmedia_vpi.h:596
Specifies termination by matching the value against epsilon.
Definition: nvmedia_vpi.h:963
struct NvMediaVPIConvertMVDescriptor NvMediaVPIConvertMVDescriptor
NvMediaVPIConvertMV descriptor.
Definition: nvmedia_vpi.h:454
Holds the KLT parameters.
Definition: nvmedia_vpi.h:1098
NvMediaStatus NvMediaVPIConvolveImageSeparable(NvMediaVPI *vpi, NvMediaImage *input, const float *kernelX, const uint32_t kernelXSize, const float *kernelY, const uint32_t kernelYSize, NvMediaImage *output)
Queues an operation to convolve an image with a 2D kernel, using separable convolution.
const float sensitivity
Holds the sensitivity threshold from the Harris-Stephens equation.
Definition: nvmedia_vpi.h:813
NvMediaVPI2DTransform transform
Transform array.
Definition: nvmedia_vpi.h:137
NvMediaVPIStereoPostprocessDescriptor * NvMediaVPICreateStereoPostprocessDescriptor(NvMediaVPI *vpi, const uint32_t width, const uint32_t height, const float scale)
Creates an NvMediaVPIStereoPostprocessDescriptor.
uint32_t numIterationsCoarse
Num Iterations Coarse.
Definition: nvmedia_vpi.h:1104
NvMediaStatus NvMediaVPIConvolveImage(NvMediaVPI *vpi, NvMediaImage *input, const float *kernelData, const uint32_t kernelWidth, const uint32_t kernelHeight, NvMediaImage *output)
Queues an operation to convolve an input image with a client-supplied convolution matrix...
Number of types.
Definition: nvmedia_vpi.h:65
uint8_t templateStatus
1 indicates template needs updating, 0 indicates template is valid.
Definition: nvmedia_vpi.h:145
Holds Harris keypoint parameters.
Definition: nvmedia_vpi.h:797
float y
y co-ordinate.
Definition: nvmedia_vpi.h:75
NvMediaStatus NvMediaVPIStereoPreprocessDescEx(NvMediaVPI *vpi, NvMediaVPIStereoPreprocessDescriptor *descriptor, NvMediaVPIStereoPreprocessParams *params, NvMediaArray *confidenceTable, NvMediaImage *leftImage, NvMediaImage *rightImage, NvMediaImage *leftDisparity, NvMediaImage *rightDisparity, NvMediaImage *confidenceMap, NvMediaArray *hintsArray)
Performs stereo preprocessing to produce a disparity image or motion vector hints.
NvMediaStatus NvMediaVPIGetScratchpadSize(void *descriptor, uint32_t *scratchpadSizeBytes)
Returns the size of scratchpad memory required for operations that support an NvMediaCVScratchpad bas...
NVIDIA Media Interface: Surface Handling
NVIDIA Media Interface: Image Pyramid Processing
NvMediaVPIGetSparseFlowPyrLKParams.
Definition: nvmedia_vpi.h:972
NVIDIA Media Interface: Image Processing
NvMediaStatus NvMediaVPIStereoPostprocessDesc(NvMediaVPI *vpi, NvMediaVPIStereoPostprocessDescriptor *descriptor, NvMediaVPIStereoPostprocessParams *params, NvMediaImage *disparityInput, NvMediaImage *confidenceInput, NvMediaImage *disparityOutput, NvMediaImage *confidenceOutput)
Performs stereo postprocessing to refine a disparity image.
float height
height of bounding box.
Definition: nvmedia_vpi.h:102
uint8_t disparityDiffToConfidenceShift
Holds the shift of disparity difference before confidence table indexing.
Definition: nvmedia_vpi.h:631
struct NvMediaVPIGetKeyPointsHarrisDescriptor NvMediaVPIGetKeyPointsHarrisDescriptor
Definition: nvmedia_vpi.h:774
Axis Aligned Bounding Box.
Definition: nvmedia_vpi.h:94
NvMediaStatus NvMediaVPIArrayUpdateTranslationWithScale(NvMediaVPITranslationWithScale *inputPtr, const uint32_t startIndex, const uint32_t numElements, NvMediaArray *destArray)
Helper function; converts an array of type NvMediaVPITranslationWithScale to an NvMediaArray of type ...
Holds 2D point fractional representation.
Definition: nvmedia_vpi.h:81
struct NvMediaVPIGetKeyPointsFastDescriptor NvMediaVPIGetKeyPointsFastDescriptor
Definition: nvmedia_vpi.h:889
NvMediaStatus NvMediaVPIImageUnregister(NvMediaVPI *vpi, NvMediaImage *image)
Unregisters an image after use.
NvMediaStatus NvMediaVPIPyramidRegister(NvMediaVPI *vpi, NvMediaImagePyramid *pyramid)
Registers a pyramid for use with an NvMediaVPI function.
NvMediaVPIStereoPreprocessDescriptor * NvMediaVPICreateStereoPreprocessDescriptor(NvMediaVPI *vpi, const uint32_t width, const uint32_t height, const NvMediaVPIOFSTOutputType outputType)
Creates an NvMediaVPIStereoPreprocessDescriptor.
uint32_t numIterationsTranslation
Num Iterations Translation.
Definition: nvmedia_vpi.h:1102
NVIDIA Media Interface: Arrays
NvMediaVPIHarrisGradientFilterType
Specifies types of filters used in the Harris corner detector.
Definition: nvmedia_vpi.h:763
Specifies termination by iterations or epsilon, whichever happens first.
Definition: nvmedia_vpi.h:966
Holds NvMedia version information.
Definition: nvmedia_core.h:226
uint8_t reserved1
Reserved for future use.
Definition: nvmedia_vpi.h:108
struct NvMediaDevice NvMediaDevice
An opaque handle representing an NvMediaDevice object.
Definition: nvmedia_core.h:337
NvMediaStatus NvMediaVPIGetKeyPointsFastDesc(NvMediaVPI *vpi, NvMediaVPIGetKeyPointsFastDescriptor *descriptor, NvMediaImage *input, const uint32_t strengthThresh, const NvMediaBool nonmaxSupression, NvMediaArray *keypoints, NvMediaArray *scores)
Queues an operation to get FAST keypoints throughout an image.
uint32_t numIterationsFine
Num Iterations Fine.
Definition: nvmedia_vpi.h:1106
uint8_t trackingStatus
1 indicates tracking is invalid, 0 indicates valid.
Definition: nvmedia_vpi.h:104
NvMediaStatus NvMediaVPIGetImagePyramid(NvMediaVPI *vpi, NvMediaImage *input, NvMediaImagePyramid *output)
Queues an operation to generate a Gaussian pyramid from an input image.
NvMediaVPIGetKeyPointsHarrisDescriptor * NvMediaVPICreateGetKeyPointsHarrisDescriptor(NvMediaVPI *vpi, const uint32_t width, const uint32_t height, const NvMediaVPINonMaxSuppressionType nonMaxSuppressionType)
Creates a pointer to a NvMediaVPIGetKeyPointsHarrisDescriptor.
struct NvMediaVPIProcessStereoDescriptor NvMediaVPIProcessStereoDescriptor
NvMediaVPIProcessStereo descriptor.
Definition: nvmedia_vpi.h:386
const uint16_t * verticalFilterCoefficients
Holds vertical filter of gradientSize coefficients.
Definition: nvmedia_vpi.h:805
NvMediaStatus NvMediaVPIArrayUpdate2DTransform(NvMediaVPI2DTransform *inputPtr, const uint32_t startIndex, const uint32_t numElements, NvMediaArray *destArray)
Helper function; converts an array of NvMediaVPI2DTransform to NvMediaArray of NVMEDIA_VPI_ARRAY_TYPE...
NvMediaStatus NvMediaVPIGetNumEngines(uint32_t *numEngines)
Returns the number of HW engines accessible.
Holds stereo preprocessing parameters.
Definition: nvmedia_vpi.h:622
NVIDIA Media Interface: Core
NvMediaVPIGetSparseFlowPyrLKDescriptor * NvMediaVPICreateGetSparseFlowPyrLKDescriptor(NvMediaVPI *vpi, const NvMediaVPIGetSparseFlowPyrLKParams *params)
Creates a pointer to an NvMediaVPIGetSparseFlowPyrLKDescriptor.
NvMediaStatus
Defines all possible error codes.
Definition: nvmedia_core.h:169
NvMediaStatus NvMediaVPIProcessStereoPairDesc(NvMediaVPI *vpi, NvMediaVPIProcessStereoDescriptor *descriptor, NvMediaImage *left, NvMediaImage *right, NvMediaImage *output)
Queues an operation to process a stereo image pair.
Holds bounding box definition.
Definition: nvmedia_vpi.h:135
struct NvMediaCVScratchpad NvMediaCVScratchpad
Holds a descriptor for the CVScratchpad.
NvMediaVPINonMaxSuppressionType
Specifies types of post-process non-maximum suppression.
Definition: nvmedia_vpi.h:755
Built-in normalized separable Sobel filter.
Definition: nvmedia_vpi.h:765
NvMediaStatus NvMediaVPIGetSparseFlowPyrLKDesc(NvMediaVPI *vpi, NvMediaVPIGetSparseFlowPyrLKDescriptor *descriptor, const NvMediaVPIGetSparseFlowPyrLKParams *params, NvMediaImagePyramid *oldImages, NvMediaImagePyramid *newImages, NvMediaArray *oldPoints, NvMediaArray *newPoints, NvMediaArray *newStatus)
Queues an operation to track features in a pyramid.
NVIDIA Media Interface: CVScratchpad
uint32_t numIterations
Holds the number of iterations.
Definition: nvmedia_vpi.h:980
NvMediaStatus NvMediaVPIScratchpadUnregister(NvMediaVPI *vpi, NvMediaCVScratchpad *scratchpad)
Unregisters scratchpad memory after use.
NvMediaVPIKltTrackType
Specifies the types of KLT Tracking.
Definition: nvmedia_vpi.h:1089
uint32_t numPoints
Holds the number of points.
Definition: nvmedia_vpi.h:978
int uint32_t uint32_t height
const float minDistance
Holds the radial Euclidean distance for non-maximum suppression.
Definition: nvmedia_vpi.h:817
float width
width of bounding box.
Definition: nvmedia_vpi.h:100
Motion vector hints for the NVENC hardware engine, which performs video encoding. ...
Definition: nvmedia_vpi.h:400
NvMediaVPIProcessStereoDescriptor * NvMediaVPICreateProcessStereoPairDescriptor(NvMediaVPI *vpi, const uint32_t width, const uint32_t height, const NvMediaVPIOFSTOutputType outputType)
Creates NvMediaVPIProcessStereoDescriptor.
uint32_t y
32-bit Q16.16 number signfying vertical offset of the keypoint relative to top, measured in pixels...
Definition: nvmedia_vpi.h:87
int32_t calcError
Holds a Boolean flag that indicates whether to calculate tracking error.
Definition: nvmedia_vpi.h:986
NvMediaStatus NvMediaVPIArrayGetTranslationWithScale(NvMediaArray *array, const uint32_t startIndex, const uint32_t numElements, NvMediaVPITranslationWithScale *destPtr)
Helper function; converts an NvMediaArray of type NVMEDIA_VPI_ARRAY_TYPE_TRANSFORM to an array of typ...
struct NvMediaImagePyramid NvMediaImagePyramid
A handle representing an image pyramid object.
NvMediaStatus NvMediaVPIPyramidUnregister(NvMediaVPI *vpi, NvMediaImagePyramid *pyramid)
Unregisters a pyramid after use.
uint8_t updateTemplate
1 indicatestemplate needs updating, 0 indicates template is valid.
Definition: nvmedia_vpi.h:106
NvMediaStatus NvMediaVPIConvertMVDesc(NvMediaVPI *vpi, NvMediaVPIConvertMVDescriptor *descriptor, NvMediaImage *inputMVImage, NvMediaImage *inputColor, NvMediaImage *output, const NvMediaVPIOFSTOutputType outputType)
Converts or refines a motion vector image.
NvMediaVPIOFSTOutputType
Specifies the types of output for Optical Flow/Stereo Disparity processing.
Definition: nvmedia_vpi.h:392
float thresholdStop
Threshold Stop.
Definition: nvmedia_vpi.h:1114
float thresholdUpdate
Threshold Update.
Definition: nvmedia_vpi.h:1110
uint32_t windowDimension
Holds the disparity refinement window dimensions.
Definition: nvmedia_vpi.h:552
struct NvMediaVPIKLTDescriptor NvMediaVPIKLTDescriptor
NvMediaVPIKLTDescriptor descriptor.
Definition: nvmedia_vpi.h:1068
struct NvMediaVPIStereoPostprocessDescriptor NvMediaVPIStereoPostprocessDescriptor
NvMediaVPISteroPostprocess descriptor.
Definition: nvmedia_vpi.h:524
NvMediaStatus NvMediaVPIDestroyDescriptor(NvMediaVPI *vpi, void *descriptor)
Destroys an NvMediaVPI function descriptor.
NvMediaStatus NvMediaVPIArrayGet2DTransform(NvMediaArray *array, const uint32_t startIndex, const uint32_t numElements, NvMediaVPI2DTransform *destPtr)
Helper function; converts an NvMediaArray of type NVMEDIA_VPI_ARRAY_TYPE_TRANSFORM type to an array o...
3x3 transform matrix.
Definition: nvmedia_vpi.h:116
NvMediaStatus NvMediaVPIImageRegister(NvMediaVPI *vpi, NvMediaImage *image)
Registers an image for use with an NvMediaVPI function.
NvMediaStatus NvMediaVPIGetKeyPointsHarrisDesc(NvMediaVPI *vpi, NvMediaVPIGetKeyPointsHarrisDescriptor *descriptor, const NvMediaVPIGetKeyPointsHarrisParams *params, NvMediaImage *input, NvMediaImage *mask, NvMediaArray *trackedKeypoints, NvMediaArray *trackedScores, NvMediaArray *keypoints, NvMediaArray *scores)
Queues an operation to get Harris keypoints throughout an image.
uint32_t numIterationsScaling
Num Iterations Scaling.
Definition: nvmedia_vpi.h:1100
NvMediaStatus NvMediaVPIArrayGetPoint2Df(NvMediaArray *array, const uint32_t startIndex, const uint32_t numElements, NvMediaVPIPoint2Df *destPtr)
Helper function; converts an NvMediaArray of type NVMEDIA_VPI_ARRAY_TYPE_KEYPOINT type to an array of...
NvMediaStatus NvMediaVPIKLTDesc(NvMediaVPI *vpi, NvMediaVPIKLTDescriptor *descriptor, const NvMediaVPIKLTParams *params, NvMediaImage *referenceImage, NvMediaImage *templateImage, NvMediaArray *inputBoxList, NvMediaArray *predictedBoxList, NvMediaArray *outputBoxList, NvMediaArray *estimationList)
Queues an operation to run the Kanade Lucas Tomasi (KLT) tracking algorithm.
uint8_t trackingStatus
1 indicates tracking is invalid, 0 indicates valid.
Definition: nvmedia_vpi.h:143
uint8_t fractionalBits
Holds the number of fractional bits.
Definition: nvmedia_vpi.h:626
Holds array allocation attributes.
Definition: nvmedia_array.h:99
NvMediaVPIGetKeyPointsFastDescriptor * NvMediaVPICreateGetKeyPointsFastDescriptor(NvMediaVPI *vpi, const uint32_t width, const uint32_t height, const NvMediaSurfaceType type)
Creates a pointer to an NvMediaVPIGetKeyPointsFastDescriptor.
const NvMediaVPITerminationCriterion termination
Holds the termination criteria.
Definition: nvmedia_vpi.h:974
NvMediaVPIConvolveImageSeparableDescriptor * NvMediaVPICreateConvolveImageSeparableDescriptor(NvMediaVPI *vpi, NvMediaSurfaceType type, const float *kernelX, const uint32_t kernelXSize, const float *kernelY, const uint32_t kernelYSize)
Creates a pointer to the NvMediaVPIConvolveImageSeparableDescriptor.
NvMediaStatus NvMediaVPIFlush(NvMediaVPI *vpi)
Flushes all queued operations.
float deltaY
Need description.
Definition: nvmedia_vpi.h:129
NvMediaStatus NvMediaVPIArrayUpdateBoundingBoxWithTransform(NvMediaVPIBoundingBoxWithTransform *inputPtr, const uint32_t startIndex, const uint32_t numElements, NvMediaArray *destArray)
Helper function; converts an array of type NvMediaVPIBoundingBoxWithTransform to an NvMediaArray of t...
float y
y coordinate.
Definition: nvmedia_vpi.h:98
NvMediaStatus NvMediaVPIKLTFastDesc(NvMediaVPI *vpi, NvMediaVPIKLTDescriptor *descriptor, NvMediaCVScratchpad *scratchpad, const NvMediaVPIKLTParams *params, NvMediaImage *referenceImage, NvMediaImage *templateImage, NvMediaArray *inputBoxList, NvMediaArray *predictedBoxList, NvMediaArray *outputBoxList, NvMediaArray *estimationList)
Queues an operation to run the Kanade Lucas Tomasi (KLT) tracking algorithm.
float thresholdKill
Threshold Kill.
Definition: nvmedia_vpi.h:1112
NvMediaVPIConvertMVDescriptor * NvMediaVPICreateConvertMVDescriptor(NvMediaVPI *vpi, const uint32_t width, const uint32_t height, const NvMediaSurfaceType type, const float strength, const float scale)
Creates an NvMediaVPIConvertMVDescriptor.
User-supplied separable gradient filter.
Definition: nvmedia_vpi.h:768
uint8_t reserved2
Reserved for future use.
Definition: nvmedia_vpi.h:110
float deltaX
Need description.
Definition: nvmedia_vpi.h:127
uint8_t reserved1
Reserved for future.
Definition: nvmedia_vpi.h:147
struct NvMediaVPIConvolveImageSeparableDescriptor NvMediaVPIConvolveImageSeparableDescriptor
NvMediaVPIConvolveImageSeparableDescriptor.
Definition: nvmedia_vpi.h:1348
NvMediaArray * NvMediaVPIArrayCreate(NvMediaDevice *device, NvMediaVPIArrayType type, uint32_t numElements, const NvMediaArrayAllocAttr *attrs, uint32_t numAttrs)
Creates an NvMediaArray for a VPI-specific element type.
NvMediaStatus NvMediaVPIDestroy(NvMediaVPI *vpi)
Destroys an Vision Programming Interface object created by NvMediaVPICreate().
uint32_t windowDimension
Holds the size of the window on which to perform the algorithm.
Definition: nvmedia_vpi.h:983
uint32_t x
32-bit Q16.16 number signfying horizontal offset of the keypoint relative to left, measured in pixels.
Definition: nvmedia_vpi.h:84
float maxPixelTolerance
Maximum Pixel Tolerance.
Definition: nvmedia_vpi.h:1108
float height
height of bounding box.
Definition: nvmedia_vpi.h:141
const uint32_t gradientSize
Holds gradient window size.
Definition: nvmedia_vpi.h:799
float x
x co-ordinate.
Definition: nvmedia_vpi.h:73
NvMediaStatus NvMediaVPIArrayUpdatePoint2Df(NvMediaVPIPoint2Df *inputPtr, const uint32_t startIndex, const uint32_t numElements, NvMediaArray *destArray)
Helper function; converts an array of type NvMediaVPIPoint2Df to an NvMediaArray of type NVMEDIA_VPI_...
uint8_t reserved2
Reserved for future.
Definition: nvmedia_vpi.h:149
NvMediaVPI * NvMediaVPICreate(const uint32_t Id, const uint32_t maxQueuedTasks)
Creates an NvMediaVPI object.
NvMediaStatus NvMediaVPIArrayRegister(NvMediaVPI *vpi, NvMediaArray *array)
Registers an array for use with an NvMediaVPI function.
uint16_t confidenceThresh
Holds the confidence threshold.
Definition: nvmedia_vpi.h:549
NvMediaVPITerminationCriterion
Specifies the conditions that cause the Lucas-Kanade Feature Tracker to be terminated.
Definition: nvmedia_vpi.h:959
NvMediaVPIKltTrackType trackingType
Tracking Type.
Definition: nvmedia_vpi.h:1118
float epsilon
Holds the error for terminating the algorithm.
Definition: nvmedia_vpi.h:976
uint8_t numberOfHintsPerMB
Holds the number of hints per macro-block.
Definition: nvmedia_vpi.h:624
Specifies Inverse Compositional tracking type.
Definition: nvmedia_vpi.h:1092
Holds stereo postprocess parameters.
Definition: nvmedia_vpi.h:547
struct NvMediaVPIGetSparseFlowPyrLKDescriptor NvMediaVPIGetSparseFlowPyrLKDescriptor
NvMediaVPISparseFlowPyr descriptor.
Definition: nvmedia_vpi.h:994
const NvMediaVPINonMaxSuppressionType nonMaxSuppressionType
Holds the post-process non-maximum suppression type.
Definition: nvmedia_vpi.h:815
NvMediaStatus NvMediaVPIGetVersion(NvMediaVersion *version)
Returns version information for the NvMediaVPI library.
NvMediaStatus NvMediaVPIStereoPreprocessDesc(NvMediaVPI *vpi, NvMediaVPIStereoPreprocessDescriptor *descriptor, NvMediaVPIStereoPreprocessParams *params, NvMediaArray *confidenceTable, NvMediaImage *leftImage, NvMediaImage *rightImage, NvMediaImage *output0, NvMediaImage *output1)
Performs stereo preprocessing to produce a disparity image or motion vector hints.
NvMediaStatus NvMediaVPIArrayUnregister(NvMediaVPI *vpi, NvMediaArray *array)
Unregisters an array after use.
Disparity relative to reference.
Definition: nvmedia_vpi.h:394
NvMediaStatus NvMediaVPIScratchpadRegister(NvMediaVPI *vpi, NvMediaCVScratchpad *scratchpad)
Registers scratchpad memory for use with an NvMediaVPI function.
float maxScaleChange
Maximum Scale Change.
Definition: nvmedia_vpi.h:1116
Absolute motion vector output.
Definition: nvmedia_vpi.h:396