PvaOperatorTypes.h#
Fully qualified name: public/src/operator/include/PvaOperatorTypes.h
File members: public/src/operator/include/PvaOperatorTypes.h
/*
* SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: LicenseRef-NvidiaProprietary
*
* NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
* property and proprietary rights in and to this material, related
* documentation and any modifications thereto. Any use, reproduction,
* disclosure or distribution of this material and related documentation
* without an express license agreement from NVIDIA CORPORATION or
* its affiliates is strictly prohibited.
*/
#ifndef PVA_OPERATOR_TYPES_H
#define PVA_OPERATOR_TYPES_H
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef enum
{
PVA_ERODE = 0,
PVA_DILATE = 1,
} PVAMorphologyType;
typedef enum
{
PVA_SPLIT_RGBA8_TO_U8 = 0,
PVA_MERGE_U8_TO_RGBA8 = 1
} PVAMixChannelsCode;
typedef enum
{
PVA_DIST_L1 = 0,
PVA_DIST_L2,
PVA_DIST_HAMMING
} PVADistanceType;
typedef enum
{
PVA_INTERPOLATION_NN = 0,
PVA_INTERPOLATION_LINEAR
} PVAInterpolationType;
typedef enum
{
PVA_WARP_TRANSFORMATION_PERSPECTIVE = 0,
PVA_WARP_TRANSFORMATION_AFFINE = 1,
} PVAWarpTransformationType;
#define PVA_MAX_BF_MATCHES_PER_DESCRIPTOR (3)
#define PVA_MAX_BF_DESCRIPTOR_COUNT (1024)
#define PVA_BRIEF_DESCRIPTOR_ARRAY_LENGTH (32)
typedef struct
{
uint8_t data[PVA_BRIEF_DESCRIPTOR_ARRAY_LENGTH];
} PVABriefDescriptor;
typedef struct PVABFMatchesTypeRec
{
int32_t refIndex[PVA_MAX_BF_MATCHES_PER_DESCRIPTOR];
float distance[PVA_MAX_BF_MATCHES_PER_DESCRIPTOR];
} PVABFMatchesType;
typedef enum
{
PVA_IMAGE_STAT_FLAG_PIXEL_COUNT = (1u << 0),
PVA_IMAGE_STAT_FLAG_SUM = (1u << 1),
PVA_IMAGE_STAT_FLAG_MEAN = ((1u << 2) | PVA_IMAGE_STAT_FLAG_SUM | PVA_IMAGE_STAT_FLAG_PIXEL_COUNT),
PVA_IMAGE_STAT_FLAG_VARIANCE = ((1u << 3) | PVA_IMAGE_STAT_FLAG_MEAN),
PVA_IMAGE_STAT_FLAG_COVARIANCE = ((1u << 4) | PVA_IMAGE_STAT_FLAG_VARIANCE)
} PVAImageStatFlag;
typedef struct
{
int pixelCount;
float sum[4];
float mean[4];
float covariance[4][4];
} PVAImageStatOutput;
typedef enum
{
PVA_GMM_DATA_TYPE_FP32,
PVA_GMM_DATA_TYPE_FP16
} PVAGMMDataType;
typedef enum
{
PVA_BATCH_FFT_WINDOW_HANNING,
PVA_BATCH_FFT_WINDOW_USER_DEFINED,
} PVABatchFFTWindowType;
typedef struct PVARangeFFTParamsRec
{
PVABatchFFTWindowType windowType;
} PVARangeFFTParams;
typedef struct PVADopplerFFTParamsRec
{
PVABatchFFTWindowType windowType;
uint8_t transposeOutput;
} PVADopplerFFTParams;
typedef enum
{
PVA_FLIP_HORIZONTAL = 0,
PVA_FLIP_VERTICAL = 1,
PVA_FLIP_BOTH = 2
} PVAFlipDirection;
typedef enum
{
PVA_CFAR_CA = 0,
PVA_CFAR_CA_OS = 1,
PVA_CFAR_CA_GO = 2,
PVA_CFAR_CA_SO = 3
} PVARadarCFARType;
#ifdef __cplusplus
}
#endif
#endif /* PVA_OPERATOR_TYPES_H */