Gstreamer display video in not correct

Following gstreamer command can’t display the video properly:

gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 \
       ! 'video/x-raw(memory:NVMM), format=(string)UYVY, width=(int)2592, height=(int)1944, framerate=(fraction)28/1' \
      ! nvvidconv \
      ! 'video/x-raw(memory:NVMM), format=(string)NV12' \
      ! nv3dsink -e

This video screen captured:

But the gstreamer command below works fine.

    gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 \
       ! 'video/x-raw(memory:NVMM), format=(string)UYVY, width=(int)2560, height=(int)1440, framerate=(fraction)38/1' \
      ! nvvidconv \
      ! 'video/x-raw(memory:NVMM), format=(string)NV12' \
      ! nv3dsink -e

What’s wrong with it?
Is it the same issue I reported at the link below?

Yes, that seems similar, the camera resolution to 2592x1944 is not working.

Hi, kayccc
I did a simple test. I think this issue is the gstreamer with nvv4l2camerasrc at frame size 2592x1944 does NOT work.

This is OpenCV code to open VideoCapture:

   cv::VideoCapture camera("nvv4l2camerasrc device=/dev/video0 \
                                ! video/x-raw(memory:NVMM),width=2592,height=1944,format=UYVY\
                                ! nvvidconv ! video/x-raw, format=BGRx \
                                ! videoconvert ! video/x-raw,format=BGR \
                                ! appsink", CAP_GSTREAMER);

This is the saved 10th frame

You will see the saved frame is wrong and the bottom looks like no data. Memory issue?

When I changed above OpenCV Videocapture code as below:

cv::VideoCapture camera(0);

The screen display and the saved frame are correct. The only issue is it takes about 600 ms to capture one frame.

When I change the above VideoCapture code from nvv4l2camerasrc to v4l2src as below:

    cv::VideoCapture camera("v4l2src device=/dev/video0 \
                            ! video/x-raw,width=2592,height=1944,format=UYVY, framerate=28/1 \
                            ! nvvidconv ! video/x-raw(memory:NVMM), format=UYVY \
                            ! nvvidconv ! video/x-raw, format=BGRx \
                            ! videoconvert ! video/x-raw,format=BGR \
                            ! appsink", CAP_GSTREAMER);

It works fine as well. The only thing is it is slower than nvv4l2camerasrc to capture one frame.

Therefore, I think it is something wrong with the nvv4l2camerasrc, is it?

Hi,
We have passed the issue to E-Con. Since it is specific to the resolution, would need the vendor help check the driver first.