Just like my other topic
I do not add gst pipeline,just copy the CUeglFrame after cuGraphicsResourceGetMappedEglFrame,for my argus PixelFormat is PIXEL_FMT_YCbCr_420_888,the CUeglFrame format as below,so refer to EGLStreams_CUDA_Interop,use cuMemcpy3D for CU_MEMORYTYPE_ARRAY copy,but after argus producer 5 frame will failed for cuEGLStreamProducerReturnFrame (cross eglstream fifo mode,fifo length 5)
CUeglFrame:
** width: 1920**
** height: 1080**
** depth: 0**
** pitch: 1920**
** planeCount: 2**
** numChannels: 1**
** frameType: array**
** colorFormat: YUV420 semi-planar ER**
** cuFormat: uint8**
main.cpp (24.5 KB)
I do 3 test,
1ćSignal Thread copy test is okļ¼ argus->eglstream->cuEGLStreamConsumerAcquireFrame->cuGraphicsResourceGetMappedEglFrame->cuMemcpy3D->cuEGLStreamConsumerReleaseFrame
CUDA(gpu)->copy to host will be ok;
2ćCross eglstream no copy test is okļ¼
producerļ¼argus->ā¦
consumer:cuEGLStreamConsumerAcquireFrame->cuGraphicsResourceGetMappedEglFrame->cuEGLStreamConsumerReleaseFrame
3ćCross eglstream copy test is failedļ¼
producerļ¼argus->ā¦
consumer:>cuEGLStreamConsumerAcquireFrame->cuGraphicsResourceGetMappedEglFrame->cuMemcpy3D->cuEGLStreamConsumerReleaseFrame
producer present 5 frame ,before the 6 frame present,the return frame will be failed ā¦