CV::CUDA::MAT Creation using NvEGLImageFromFd Missing in Jetpack5

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

Hi

Please find the sample below to see if it helps:

/usr/src/jetson_multimedia_api/samples/04_video_dec_trt

Thanks.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.