NVIDIA DRIVE OS Linux API Reference

5.1.0.2 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-2018, 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_common.h"
25 #include "nvmedia_image.h"
26 #include "nvmedia_array.h"
27 #include "nvmedia_image_pyramid.h"
28 #include "nvmedia_cvscratchpad.h"
29 
41 #define NVMEDIA_VPI_VERSION_MAJOR 2
42 
43 #define NVMEDIA_VPI_VERSION_MINOR 3
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 
677  NvMediaVPI *vpi,
680  NvMediaArray *confidenceTable,
681  NvMediaImage *leftImage,
682  NvMediaImage *rightImage,
683  NvMediaImage *output0,
684  NvMediaImage *output1
685 );
686 
687 
691 typedef enum {
692  /* Use a 2D grid of 8x8 cells with no minimal distance. */
695 
699 typedef enum {
706 
707 /*
708  * \brief NvMediaVPIGetKeyPointsHarrisDescriptor.
709  */
711 
725  NvMediaVPI *vpi,
726  const uint32_t width,
727  const uint32_t height,
728  const NvMediaVPINonMaxSuppressionType nonMaxSuppressionType);
729 
733 typedef struct {
735  const uint32_t gradientSize;
741  const uint16_t *verticalFilterCoefficients;
744  const uint32_t blockSize;
747  const float strengthThresh;
749  const float sensitivity;
753  const float minDistance;
755 
805  NvMediaVPI *vpi,
808  NvMediaImage *input,
809  NvMediaImage *mask,
810  NvMediaArray *trackedKeypoints,
811  NvMediaArray *trackedScores,
812  NvMediaArray *keypoints,
813  NvMediaArray *scores
814 );
815 
816 /*
817  * \brief NvMediaVPIGetKeyPointsFastDescriptor.
818  */
820 
833  NvMediaVPI *vpi,
834  const uint32_t width,
835  const uint32_t height,
836  const NvMediaSurfaceType type
837 );
838 
872  NvMediaVPI *vpi,
874  NvMediaImage *input,
875  const uint32_t strengthThresh,
876  const NvMediaBool nonmaxSupression,
877  NvMediaArray *keypoints,
878  NvMediaArray *scores
879 );
880 
884 typedef enum {
893 
897 typedef struct {
901  float epsilon;
903  uint32_t numPoints;
905  uint32_t numIterations;
908  uint32_t windowDimension;
911  int32_t calcError;
913  uint32_t numLevels;
915 
920 
931  NvMediaVPI *vpi,
933 );
934 
968  NvMediaVPI *vpi,
971  NvMediaImagePyramid *oldImages,
972  NvMediaImagePyramid *newImages,
973  NvMediaArray *oldPoints,
974  NvMediaArray *newPoints,
975  NvMediaArray *newStatus
976 );
977 
982 
995  NvMediaVPI *vpi,
996  const uint32_t width,
997  const uint32_t height,
998  const NvMediaSurfaceType type
999 );
1000 
1003 {
1007 
1011 typedef struct {
1033 
1079  NvMediaVPI *vpi,
1080  NvMediaVPIKLTDescriptor *descriptor,
1081  const NvMediaVPIKLTParams *params,
1082  NvMediaImage *referenceImage,
1083  NvMediaImage *templateImage,
1084  NvMediaArray *inputBoxList,
1085  NvMediaArray *predictedBoxList,
1086  NvMediaArray *outputBoxList,
1087  NvMediaArray *estimationList
1088 );
1089 
1107  void *descriptor,
1108  uint32_t *scratchpadSizeBytes
1109 );
1110 
1161  NvMediaVPI *vpi,
1162  NvMediaVPIKLTDescriptor *descriptor,
1163  NvMediaCVScratchpad *scratchpad,
1164  const NvMediaVPIKLTParams *params,
1165  NvMediaImage *referenceImage,
1166  NvMediaImage *templateImage,
1167  NvMediaArray *inputBoxList,
1168  NvMediaArray *predictedBoxList,
1169  NvMediaArray *outputBoxList,
1170  NvMediaArray *estimationList
1171 );
1172 
1198  NvMediaVPI *vpi,
1199  NvMediaImage *input,
1200  NvMediaImagePyramid *output
1201 );
1202 
1227  NvMediaVPI *vpi,
1228  NvMediaImage *input,
1229  const float *kernelData,
1230  const uint32_t kernelWidth,
1231  const uint32_t kernelHeight,
1232  NvMediaImage *output
1233 );
1234 
1240 
1256  NvMediaVPI *vpi,
1257  NvMediaSurfaceType type,
1258  const float *kernelX,
1259  const uint32_t kernelXSize,
1260  const float *kernelY,
1261  const uint32_t kernelYSize
1262 );
1263 
1289  NvMediaVPI *vpi,
1290  NvMediaImage *input,
1291  const float *kernelX,
1292  const uint32_t kernelXSize,
1293  const float *kernelY,
1294  const uint32_t kernelYSize,
1295  NvMediaImage *output
1296 );
1297 
1321  NvMediaVPI *vpi,
1322  NvMediaImage *input,
1323  const uint32_t windowWidth,
1324  const uint32_t windowHeight,
1325  NvMediaImage *output
1326 );
1327 
1348  NvMediaArray *array,
1349  const uint32_t startIndex,
1350  const uint32_t numElements,
1351  NvMediaVPIPoint2Df *destPtr
1352 );
1353 
1374  NvMediaVPIPoint2Df *inputPtr,
1375  const uint32_t startIndex,
1376  const uint32_t numElements,
1377  NvMediaArray *destArray
1378 );
1379 
1399  NvMediaArray *array,
1400  const uint32_t startIndex,
1401  const uint32_t numElements,
1402  NvMediaVPIAABB *destPtr
1403 );
1404 
1424  NvMediaVPIAABB *inputPtr,
1425  const uint32_t startIndex,
1426  const uint32_t numElements,
1427  NvMediaArray *destArray
1428 );
1429 
1450  NvMediaArray *array,
1451  const uint32_t startIndex,
1452  const uint32_t numElements,
1454 );
1455 
1477  const uint32_t startIndex,
1478  const uint32_t numElements,
1479  NvMediaArray *destArray
1480 );
1481 
1503  NvMediaArray *array,
1504  const uint32_t startIndex,
1505  const uint32_t numElements,
1507 );
1508 
1530  const uint32_t startIndex,
1531  const uint32_t numElements,
1532  NvMediaArray *destArray
1533 );
1534 
1555  NvMediaArray *array,
1556  const uint32_t startIndex,
1557  const uint32_t numElements,
1558  NvMediaVPI2DTransform *destPtr
1559 );
1560 
1579  NvMediaVPI2DTransform *inputPtr,
1580  const uint32_t startIndex,
1581  const uint32_t numElements,
1582  NvMediaArray *destArray
1583 );
1584 
1601  NvMediaVPI *vpi,
1602  void *descriptor
1603 );
1604 
1605 /*
1606  * \defgroup history_NvMediaVPI History
1607  * Provides change history for the NVIDIA VPI API.
1608  *
1609  * \section history_NvMediaVPI Version History
1610  *
1611  * <b> Version 1.0 </b> March 2, 2018
1612  * - Initial API definitions.
1613  *
1614  * <b> Version 2.0 </b> June 5, 2018
1615  * - Update Harris tracking API.
1616  *
1617  * <b> Version 2.1 </b> July 12, 2018
1618  * - Add KLT API, and array accessor API's.
1619  *
1620  * <b> Version 2.2 </b> July 12, 2018
1621  * - Add API to query number of available engines.
1622  *
1623  * <b> Version 2.3 </b> Sept 27, 2018
1624  * - Add KLT Fast API
1625  *
1626  */
1627 
1630 #ifdef __cplusplus
1631 }
1632 #endif
1633 
1634 #endif /* _NVMEDIA_VPI_H */
const float strengthThresh
Holds the minimum threshold with which to eliminate Harris Corner scores.
Definition: nvmedia_vpi.h:747
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:737
const int16_t * horizontalFilterCoefficients
Holds horizontal filter of gradientSize coefficients.
Definition: nvmedia_vpi.h:739
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:913
float x
x coordinate.
Definition: nvmedia_vpi.h:96
A handle representing image objects.
Definition: nvmedia_image.h:75
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:886
#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:744
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 the array.
Definition: nvmedia_array.h:78
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:79
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:888
struct NvMediaVPIConvertMVDescriptor NvMediaVPIConvertMVDescriptor
NvMediaVPIConvertMV descriptor.
Definition: nvmedia_vpi.h:454
Holds the KLT parameters.
Definition: nvmedia_vpi.h:1011
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:749
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:1017
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:733
float y
y co-ordinate.
Definition: nvmedia_vpi.h:75
NvMediaStatus NvMediaVPIGetScratchpadSize(void *descriptor, uint32_t *scratchpadSizeBytes)
Returns the size of scratchpad memory required for operations that support an NvMediaCVScratchpad bas...
NVIDIA Media Interface: Image Pyramid Processing
NvMediaVPIGetSparseFlowPyrLKParams.
Definition: nvmedia_vpi.h:897
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:710
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:819
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:1015
NVIDIA Media Interface: Arrays
NvMediaVPIHarrisGradientFilterType
Specifies types of filters used in the Harris corner detector.
Definition: nvmedia_vpi.h:699
Specifies termination by iterations or epsilon, whichever happens first.
Definition: nvmedia_vpi.h:891
Holds NvMedia Version information.
Definition: nvmedia_core.h:252
uint8_t reserved1
Reserved for future use.
Definition: nvmedia_vpi.h:108
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.
NVIDIA Media Interface: Common Types for Video/Image Encode/Decode
uint32_t numIterationsFine
Num Iterations Fine.
Definition: nvmedia_vpi.h:1019
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:741
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
The set of all possible error codes.
Definition: nvmedia_core.h:199
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:691
Built-in normalized separable Sobel filter.
Definition: nvmedia_vpi.h:701
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:905
NvMediaStatus NvMediaVPIScratchpadUnregister(NvMediaVPI *vpi, NvMediaCVScratchpad *scratchpad)
Unregisters scratchpad memory after use.
NvMediaVPIKltTrackType
Specifies the types of KLT Tracking.
Definition: nvmedia_vpi.h:1002
uint32_t numPoints
Holds the number of points.
Definition: nvmedia_vpi.h:903
int uint32_t uint32_t height
const float minDistance
Holds the radial Euclidean distance for non-maximum suppression.
Definition: nvmedia_vpi.h:753
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:911
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 image pyramid objects.
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:1027
float thresholdUpdate
Threshold Update.
Definition: nvmedia_vpi.h:1023
uint32_t windowDimension
Holds the disparity refinement window dimensions.
Definition: nvmedia_vpi.h:552
struct NvMediaVPIKLTDescriptor NvMediaVPIKLTDescriptor
NvMediaVPIKLTDescriptor descriptor.
Definition: nvmedia_vpi.h:981
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.
void NvMediaDevice
An opaque handle representing a NvMediaDevice object.
Definition: nvmedia_core.h:305
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:1013
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:98
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:899
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:1025
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:704
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:1238
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:908
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:1021
float height
height of bounding box.
Definition: nvmedia_vpi.h:141
const uint32_t gradientSize
Holds gradient window size.
Definition: nvmedia_vpi.h:735
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:884
NvMediaVPIKltTrackType trackingType
Tracking Type.
Definition: nvmedia_vpi.h:1031
float epsilon
Holds the error for terminating the algorithm.
Definition: nvmedia_vpi.h:901
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:1005
Holds stereo postprocess parameters.
Definition: nvmedia_vpi.h:547
struct NvMediaVPIGetSparseFlowPyrLKDescriptor NvMediaVPIGetSparseFlowPyrLKDescriptor
NvMediaVPISparseFlowPyr descriptor.
Definition: nvmedia_vpi.h:919
const NvMediaVPINonMaxSuppressionType nonMaxSuppressionType
Holds the post-process non-maximum suppression type.
Definition: nvmedia_vpi.h:751
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:1029
Absolute motion vector output.
Definition: nvmedia_vpi.h:396