Following the example given here, I always get a VPI_ERROR_INVALID_ARGUMENT
when calling vpiSubmitBruteForceMatcher
.
This is the code:
VPIStream stream;
VPI_CHECK_STATUS(vpiStreamCreate(0, &stream));
VPIArray matches;
VPIArray desc1, desc2;
VPI_CHECK_STATUS(vpiArrayCreate(10, VPI_ARRAY_TYPE_BRIEF_DESCRIPTOR, VPI_BACKEND_CUDA, &desc1));
VPI_CHECK_STATUS(vpiArrayCreate(10, VPI_ARRAY_TYPE_BRIEF_DESCRIPTOR, VPI_BACKEND_CUDA, &desc2));
VPI_CHECK_STATUS(vpiArrayCreate(8, VPI_ARRAY_TYPE_MATCHES, VPI_BACKEND_CUDA, &matches));
VPI_CHECK_STATUS(vpiSubmitBruteForceMatcher(stream, VPI_BACKEND_CUDA, desc1, desc2, VPI_NORM_HAMMING, 1, matches, VPI_ENABLE_CROSS_CHECK)); // Returns error VPI_ERROR_INVALID_ARGUMENT
VPI_CHECK_STATUS(vpiStreamSync(stream));
...
VPI_CHECK_STATUS
is just a macro that catches errors, also cloned from NVIDIA code.
Platform is Jetson Orin Nano Development Kit 8 GB, JetPack 6.0 with Cuda 12.2. VPI is version 3.0.10 according to apt list
.
Have I missed something obvious in the documentation?
Thanks in advance.