Hi All,
I have been using Jetpack4 for quite a long time and now upgrading to jetpack5,
Previously I used the following snippet to convert an nvbuf into GPU mat
EGLImageKHR egl_image;
egl_image = NvEGLImageFromFd(/*g_display.get()*/NULL, m_dmabufs[0]);
// printf("NV EGLIMAGE FROM FD\n");
CUresult status;
CUeglFrame eglFrame;
CUgraphicsResource pResource = NULL;
cudaFree(0);
status = cuGraphicsEGLRegisterImage(&pResource,
egl_image,
CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE);
// printf("CU GRAPHICS REGISTER IMAGE\n");
if (status != CUDA_SUCCESS)
{
printf("cuGraphicsEGLRegisterImage failed: %d \n",status);
}
// printf("CONSUMERTHREAD GET MAPPED EGL FRAME\n");
status = cuGraphicsResourceGetMappedEglFrame(&eglFrame, pResource, 0, 0);
status = cuCtxSynchronize();
// cv::cuda::GpuMat d_mat(STREAM_SIZE.height(), STREAM_SIZE.width(), CV_8UC4, eglFrame.frame.pPitch[0]);
cv::cuda::GpuMat d_mat(STREAM_SIZE.height(), STREAM_SIZE.width(), CV_8UC4, eglFrame.frame.pPitch[0]);
But I am not able to find the method “NvEGLImageFromFd“ seems it has been removed.
Is there any way to convert the “iNativeBuffer->copyToNvBuffer(m_dmabufs[0]) “ into a GPU MAT??
Thanks In Advance