An important bug about nvargus and tee /queue when captured by using multiple sensors ?

Hi,
The issue is not about resolution. It hits constraint of CPU capability due to the memory copy. For getting CPU pointer of NVMM buffer, we would suggest use NvBuffer APIs instead of copying the whole buffer. Please refer to this sample:
How to run RTP Camera in deepstream on Nano - #29 by DaneLLL

So that you can get NvBuffer in appsink and call NvBufferMemMap() to get CPU pointer.

Do you know how to get the NVMM to memory by using dmabuf_fd?


I need the buffer to save yuv-file

Hi,
Please refer to this code:

        char filename[256];
	
        sprintf(filename,"output000.yuv",(unsigned)frameNumber);

        std::ofstream *outputFile = new std::ofstream(filename);
        dump_dmabuf(dmabuf_fd,0,outputFile);
        dump_dmabuf(dmabuf_fd,1,outputFile);
        if (par.pixel_format==NvBufferColorFormat_YUV420)
        {
            dump_dmabuf(dmabuf_fd,2,outputFile);
        }

        delete outputFile;

dump_dmabuf() is in

/usr/src/jetson_multimedia_api/samples/common/classes/NvUtils.cpp
1 Like

Hi,
Thank you for your guidance.I had try it, but the yuV images saved were abnormal.It seems to have a problem with the pixels,it was NV12 format after capture.


device1_.yuv (17.2 MB)

Hi,
Probably the buffer is in blocklinear. Please set this property of nvvidconv to false:

  bl-output           : Blocklinear output, applicable only for memory:NVMM NV12
 format output buffer
                        flags: readable, writable
                        Boolean. Default: true

And try again.

Hi,
After set to “bl-output” it will call error:

PosixMemMap (48) failed
nvbuf_utils: NvBufferMemMap function failed… Exiting…
NvBufferMap failed

I noticed other something strange,the pitch no equal to 4000,does it have anything to do with it?
palne:0,width:4000,height:3000,pitch:4096,psize:12320768
palne:1,width:2000,height:1500,pitch:4096,psize:6160384

Hello DaneLLL
I can set “bl-output” successfully by commenting out the following code, now I can get normal YUV data
image
But it created a new problem,the framerate was drop down after set nvvidconv “bl-output”.Is there any issue that can do “BL-output” processing for NVMM data received by appsink separately,not nvVidConv.

A new topic is created:
How to do "bl-output" for a single NVMM-buffer(NV12) which was been received by appsink?

Let’s continue discussion in the topic.

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