Using overlay 2 in L4T 28.1 with TX2

Hi,

I’m using the following Gstreamer pipeline in L4T28.1-TX2 to render the preview in overlay 1:

gst-launch-1.0 v4l2src device=/dev/video0 ! “video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720” ! nvvidconv ! “video/x-raw(memory:NVMM), format=(string)I420, width=(int)1280, height=(int)720” ! nvoverlaysink overlay-w=640 overlay-h=480 overlay=1 sync=false

But with overlay=2, I encounter the following error:

nvidia@tegra-ubuntu:~$ gst-launch-1.0 v4l2src device=/dev/video0 ! “video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720” ! nvvidconv ! “video/x-raw(memory:NVMM), format=(string)I420, width=(int)1280, height=(int)720” ! nvoverlaysink overlay-w=640 overlay-h=480 overlay=2 sync=false
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Setting pipeline to PLAYING …
New clock: GstSystemClock
NvxBaseWorkerFunction[2575] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2948): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming task paused, reason error (-5)
Execution ended after 0:00:03.527952096
Setting pipeline to PAUSED …
Setting pipeline to READY …
NvxBaseWorkerFunction[2575] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2575] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2575] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2575] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2575] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552


Setting pipeline to NULL …
NvxBaseWorkerFunction[2575] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
Freeing pipeline …

The same pipeline is working with both overlays in L4T 27.1. Is there any fix for this problem?

Best Regards!!

Hi ramprasadrp2412,

Thanks for reporting this issue, we’re investigating to find the cause, the status will be updated once clarified.

Cheers.

Hi ramprasadrp2412,

Could you please share me how to run gst-launch-1.0 pipeline for YUV sensor on L4T 28.1 with TX2?

On TX1 I could run everything as well.

On TX2 I could capture image as well with v4l2 utils. But when I tried to run gst-launch-1.0 pipeline as below:

gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1280,height=720,format=(string)UYVY' ! nvvidconv ! 'video/x-raw(memory:NVMM),format=(string)NV12' ! nvoverlaysink

then got error

gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=1280,height=720,format=(string)UYVY' ! nvvidconv ! 'video/x-raw(memory:NVMM),format=(string)NV12' ! nvoverlaysink
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
    Additional debug info:
    gstbasesrc.c(2948): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming task paused, reason not-negotiated (-4)
    Execution ended after 0:00:00.302934630
    Setting pipeline to PAUSED ...
    Setting pipeline to READY ...
    Setting pipeline to NULL ...
    Freeing pipeline ...

More information about v4l2-compliance

v4l2-compliance -d /dev/video0 
    Driver Info:
    	Driver name   : tegra-video
    	Card type     : vi-output, ov10635 2-0030
    	Bus info      : platform:15700000.vi:0
    	Driver version: 4.4.38
    	Capabilities  : 0x84200001
    		Video Capture
    		Streaming
    		Extended Pix Format
    		Device Capabilities
    	Device Caps   : 0x04200001
    		Video Capture
    		Streaming
    		Extended Pix Format

    Compliance test for device /dev/video0 (not using libv4l2):

    Required ioctls:
    	test VIDIOC_QUERYCAP: OK

    Allow for multiple opens:
    	test second video open: OK
    	test VIDIOC_QUERYCAP: OK
    	test VIDIOC_G/S_PRIORITY: OK

    Debug ioctls:
    	test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
    	test VIDIOC_LOG_STATUS: OK

    Input ioctls:
    	test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
    	test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
    	test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
    	test VIDIOC_ENUMAUDIO: OK (Not Supported)
    	test VIDIOC_G/S/ENUMINPUT: OK
    	test VIDIOC_G/S_AUDIO: OK (Not Supported)
    	Inputs: 1 Audio Inputs: 0 Tuners: 0

    Output ioctls:
    	test VIDIOC_G/S_MODULATOR: OK (Not Supported)
    	test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
    	test VIDIOC_ENUMAUDOUT: OK (Not Supported)
    	test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
    	test VIDIOC_G/S_AUDOUT: OK (Not Supported)
    	Outputs: 0 Audio Outputs: 0 Modulators: 0

    Input/Output configuration ioctls:
    	test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
    	test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
    	test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
    	test VIDIOC_G/S_EDID: OK (Not Supported)

    Test input 0:

    	Control ioctls:
    		test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
    		test VIDIOC_QUERYCTRL: OK
    		test VIDIOC_G/S_CTRL: OK
    		test VIDIOC_G/S/TRY_EXT_CTRLS: OK
    		test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
    		test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
    		Standard Controls: 4 Private Controls: 6

    	Format ioctls:
    		test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
    		test VIDIOC_G/S_PARM: OK (Not Supported)
    		test VIDIOC_G_FBUF: OK (Not Supported)
    		fail: v4l2-test-formats.cpp(427): unknown pixelformat 59565955 for buftype 1
    		test VIDIOC_G_FMT: FAIL
    		test VIDIOC_TRY_FMT: OK (Not Supported)
    		test VIDIOC_S_FMT: OK (Not Supported)
    		test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
    		test Cropping: OK (Not Supported)
    		test Composing: OK (Not Supported)
    		test Scaling: OK (Not Supported)

    	Codec ioctls:
    		test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
    		test VIDIOC_G_ENC_INDEX: OK (Not Supported)
    		test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)

    	Buffer ioctls:
    		test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
    		fail: v4l2-test-buffers.cpp(571): q.has_expbuf(node)
    		test VIDIOC_EXPBUF: FAIL

    Test input 0:

Total: 42, Succeeded: 40, Failed: 2, Warnings: 0

Thanks

@forever3000 From your v4l2-compliance out:

fail: v4l2-test-formats.cpp(427): unknown pixelformat 59565955 for buftype 1
test VIDIOC_G_FMT: FAIL

Seems you haven’t configured for UYVY format. Check your dtsi file and sensor_common.c file for UYVY support.

Any update??

Please apply patches attached and try again.
0001-dt-t18x-quill-nvdisplay-update-window-mappings.patch.txt (6.02 KB)
0001-dt-quill-dc-update-plugin-manager-assignments.patch.txt (8.63 KB)

Hi DaneLLL,

Its working. Now, I’m able to access overlay 2 after applying these patches.
Thanks a lot.

Hi ramprasadrp2412,

Could you please share me what changed for YUV sensor on L4T 28.1 with TX2?

On TX2 I could capture image as well with v4l2 utils and yavta.
But when I tried to run gstreamer pipeline with v4l2src, I encounter the following error:

gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw, format=(string)UYVY, width=(int)2560, height=(int)800" ! nvvidconv ! "video/x-raw(memory:NVMM), format=(string)I420, width=(int)2560, height=(int)800" ! nvoverlaysink sync=false async=false
Setting pipeline to PAUSED ...
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingInside NvxLiteH265DecoderLowLatencyInitNvxLiteH2
65DecoderLowLatencyInit set DPB and MjstreamingPipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2948): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 0:00:00.000171904
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

thanks

Check my thread for solution