OpTargetProcessing.h#

Fully qualified name: public/src/operator/include/OpTargetProcessing.h

File members: public/src/operator/include/OpTargetProcessing.h

/*
 * SPDX-FileCopyrightText: Copyright (c) 2025-2026 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_SOLUTIONS_OPTARGETPROCESSING_H
#define PVA_SOLUTIONS_OPTARGETPROCESSING_H

#include <PvaOperator.h>
#include <PvaOperatorTypes.h>
#include <cuda_runtime.h>
#include <cupva_host_scheduling.h>
#include <nvcv/Status.h>
#include <nvcv/Tensor.h>

#ifdef __cplusplus
extern "C" {
#endif

NVCVStatus pvaTargetProcessingCreate(NVCVOperatorHandle *handle,
                                     NVCVTensorRequirements const *const detectionListTensorRequirements,
                                     NVCVTensorRequirements const *const targetIndexMapTensorRequirements,
                                     NVCVTensorRequirements const *const targetAnglesTensorRequirements,
                                     NVCVTensorRequirements const *const ddmDopplerOffsetsTensorRequirements,
                                     NVCVTensorRequirements const *const targetListTensorRequirements,
                                     NVCVTensorRequirements const *const nciTensorRequirements,
                                     PVATargetProcessingParams const *const params);

#ifdef __cplusplus
}

NVCVStatus pvaTargetProcessingSubmit(NVCVOperatorHandle handle, cupvaStream_t stream,
                                     NVCVTensorHandle const targetCount, NVCVTensorHandle const detectionCount,
                                     NVCVTensorHandle const detectionList, NVCVTensorHandle const targetIndexMap,
                                     NVCVTensorHandle const targetAngles, NVCVTensorHandle const ddmDopplerOffsets,
                                     NVCVTensorHandle const nci, NVCVTensorHandle targetList);

NVCVStatus pvaTargetProcessingSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVTensorHandle const targetCount,
                                     NVCVTensorHandle const detectionCount, NVCVTensorHandle const detectionList,
                                     NVCVTensorHandle const targetIndexMap, NVCVTensorHandle const targetAngles,
                                     NVCVTensorHandle const ddmDopplerOffsets, NVCVTensorHandle const nci,
                                     NVCVTensorHandle targetList);

#endif // __cplusplus

#endif /* PVA_SOLUTIONS_OPTARGETPROCESSING_H */