This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM623: mipi csi:Buffer pool activation failed

Part Number: AM623


Tool/software:

Hi, TI expert!

I have a development environment for am6234, with our own evaluation board.
The software SDK version is PROCESSOR-SDK-LINUX-RT-AM62X-10.01.10.04.

We are currently porting the camera driver from SDK 8.6 to SDK 10.1.

In SDK 8.6, the camera can record videos normally, but it cannot in SDK 10.1.

The hardware related information is as follows:

1.The am6234 SoC chip does not have a GPU module inside.

2.The model of the MiPi CSI sensor we use is nvp6188, which supports the following video formats as shown in the picture

On SDK 10.1, the relevant software information is as follows:

1.Device tree configuration information:

/ {
	compatible =  "ti,am62x-sk", "ti,am62x";

	chosen {
		stdout-path = "serial2:115200n8";

		framebuffer0: framebuffer@0 {
			compatible = "simple-framebuffer";
			power-domains = <&k3_pds 186 TI_SCI_PD_EXCLUSIVE>;
			clocks = <&k3_clks 186 6>,
				 <&dss_vp1_clk>,
				 <&k3_clks 186 2>;
			display = <&dss>;
			status = "disabled";
		};
	};

	memory@80000000 {
		bootph-pre-ram;
		device_type = "memory";
		/* 1G RAM */
		reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
	};

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		ramoops@9c700000 {
			compatible = "ramoops";
			reg = <0x00 0x9c700000 0x00 0x00100000>;
			record-size = <0x8000>;
			console-size = <0x8000>;
			ftrace-size = <0x00>;
			pmsg-size = <0x8000>;
		};

		rtos_ipc_memory_region: ipc-memories@9c800000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x9c800000 0x00 0x00300000>;
			no-map;
		};

		mcu_m4fss_dma_memory_region: m4f-dma-memory@9cb00000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x9cb00000 0x00 0x100000>;
			no-map;
		};

		mcu_m4fss_memory_region: m4f-memory@9cc00000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x9cc00000 0x00 0xe00000>;
			no-map;
		};

		/* global cma region */
		linux,cma {
			compatible = "shared-dma-pool";
			reusable;
			size = <0x00 0x8000000>;
			linux,cma-default;
		};

		wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9da00000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x9da00000 0x00 0x00100000>;
			no-map;
		};

		wkup_r5fss0_core0_memory_region: r5f-memory@9db00000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x9db00000 0x00 0x00c00000>;
			no-map;
		};

		secure_tfa_ddr: tfa@9e780000 {
			reg = <0x00 0x9e780000 0x00 0x80000>;
			alignment = <0x1000>;
			no-map;
		};

		secure_ddr: optee@9e800000 {
			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
			alignment = <0x1000>;
			no-map;
		};
	};
};


// SPDX-License-Identifier: GPL-2.0
/**
 * DT overlay for Camera in main domain on AM62x SK
 *
 * Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
 */

/dts-v1/;
/plugin/;

#include "../k3-pinctrl.h"
#include <dt-bindings/gpio/gpio.h>

&{/} {
	clk_nvp6188_fixed: nvp6188-xvclk {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <27000000>;
	};
};

&main_pmx0 {
	mipi_csi_rst_pins_default: mipi-csi-rst-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x00a0, PIN_OUTPUT, 7) /* (K25) GPMC0_WPn.GPIO0_39 */
		>;
	};
};

&main_i2c1 {
	status = "okay";
	nvp6188: nvp6188@30 {
		compatible = "nvp6188";
		reg = <0x30>;

		clocks = <&clk_nvp6188_fixed>;
		clock-names = "xvclk";

		pinctrl-names = "rockchip,camera_default";
		pinctrl-0 = <&mipi_csi_rst_pins_default>;
		reset-gpios = <&main_gpio0 39 GPIO_ACTIVE_HIGH>;

		rockchip,camera-module-index = <0>;
		rockchip,camera-module-facing = "back";
		rockchip,camera-module-name = "nvp6188";
		rockchip,camera-module-lens-name = "nvp6188";

		port {
			csi2_cam0: endpoint {
				remote-endpoint = <&csi2rx0_in_sensor>;
				clock-lanes = <0>;
				data-lanes = <1 2 3 4>;
			};
		};
	};
};

&csi0_port0 {
	status = "okay";
	csi2rx0_in_sensor: endpoint {
		remote-endpoint = <&csi2_cam0>;
		bus-type = <4>; /* CSI2 DPHY. */
		clock-lanes = <0>;
		data-lanes = <1 2 3 4>;
	};
};

&ti_csi2rx0 {
	status = "okay";
};

&dphy0 {
	status = "okay";
};

2.The driver program corresponding to nvp6188 is as follows:

https://github.com/radxa/kernel/blob/509ea9b11ad33309403d4bad36e2adf2f9c75f69/drivers/media/i2c/nvp6188.c

Then I run the following tests:

1.Information obtained using the command 'media-ctl - p - d/dev/media0'
root@AM62x:~# media-ctl -p -d /dev/media0
Media controller API version 6.6.58
[  230.206488] nvp6188 1-0030: nvp6188_open

Media device information
------------------------
driver          j721e-csi2rx
[  230.206565] nvp6188 1-0030: nvp6188_get_fmt: 2006 1280x720 vc 0
model           TI-CSI2RX
serial
bus info        platform:30102000.ticsi2rx
hw revision     0x1
driver version  6.6.58

Device topology
- entity 1: 30102000.ticsi2rx (5 pads, 5 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
        pad0: Sink
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
        pad1: Source
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
        pad2: Source
                -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
        pad3: Source
                -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
        pad4: Source
                -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]

- entity 7: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev1
        pad0: Sink
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                <- "m00_b_nvp6188 1-0030":0 [ENABLED,IMMUTABLE]
        pad1: Source
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
        pad2: Source
        pad3: Source
        pad4: Source

- entity 13: m00_b_nvp6188 1-0030 (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev2
        pad0: Source
                [fmt:UYVY8_2X8/1280x720@10000/250000 field:none]
                -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]

- entity 19: 30102000.ticsi2rx context 0 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video0
        pad0: Sink
                <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]

- entity 25: 30102000.ticsi2rx context 1 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video1
        pad0: Sink
                <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]

- entity 31: 30102000.ticsi2rx context 2 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video2
        pad0: Sink
                <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]

- entity 37: 30102000.ticsi2rx context 3 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video3
        pad0: Sink
                <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]
2.When collecting videos, the following error message appears
root@AM62x:~# gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! kmssink driver-name=tidss
[  467.207245] nvp6188 1-0030: nvp6188_open
[  467.687902] nvp6188 1-0030: nvp6188_open
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 800
管道被 PREROLLED ...
设置播放管道 ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
[  467.742017] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 640, sink 1280)
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
额外的调试信息:
../sys/v4l2/gstv4l2src.c(759): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
Execution ended after 0:00:00.044573185
错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
设置 NULL 管道 ...
额外的调试信息:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
释放管道资源 ...

There are the following errors in the log above:

[  467.742017] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 640, sink 1280)

错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
额外的调试信息:
../sys/v4l2/gstv4l2src.c(759): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed

More detailed logs are as follows:

root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! kmssink driver-name=tidss
[  543.301905] nvp6188 1-0030: nvp6188_open
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 800
管道被 PREROLLED ...
设置播放管道 ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
/GstPipeline:pipel[  543.358165] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 640, sink 1280)
ine0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
0:00:00.132054125   930 0xaaaae7e9e800 ERROR         v4l2bufferpool gstv4l2bufferpool.c:706:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
0:00:00.144053555   930 0xaaaae7e9e800 ERROR             bufferpool gstbufferpool.c:556:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
0:00:00.144556945   930 0xaaaae7e9e800 WARN                 v4l2src gstv4l2src.c:759:gst_v4l2src_decide_allocation:<v4l2src0> error: 分配请求的内存失败。
0:00:00.144612050   930 0xaaaae7e9e800 WARN                 v4l2src gstv4l2src.c:759:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
额外的调试信息:
../sys/v4l2/gstv4l2src.c(759): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
0:00:00.144952110   930 0xaaaae7e9e800 WARN                 basesrc gstbasesrc.c:3347:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
0:00:00.145037120   930 0xaaaae7e9e800 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
Execution ended after 0:00:00.050935055
0:00:00.145071360   930 0xaaaae7e9e800 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
设置 NULL 管道 ...
错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
额外的调试信息:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
释放管道资源 ...



root@AM62x:~# gst-launch-1.0 -m -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! kmssink driver-name=tidss
[  585.093766] nvp6188 1-0030: nvp6188_open
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
从组件“kmssink0”获得消息 #9(property-notify): GstMessagePropertyNotify, property-name=(string)display-width, property-value=(int)1280;
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
从组件“kmssink0”获得消息 #10(property-notify): GstMessagePropertyNotify, property-name=(string)display-height, property-value=(int)800;
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 800
从组件[  585.150014] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 640, sink 1280)
“kmssink0”获得消息 #11(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
从组件“capsfilter0”获得消息 #12(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
从组件“v4l2src0”获得消息 #13(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
从组件“pipeline0”获得消息 #14(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)paused;
从组件“capsfilter0”获得消息 #16(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
从填充“v4l2src0:src”获得消息 #19(stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)create, owner=(GstElement)"\(GstV4l2Src\)\ v4l2src0", object=(GstTask)"\(GstTask\)\ v4l2src0:src";
从组件“v4l2src0”获得消息 #20(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
从组件“pipeline0”获得消息 #21(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
管道被 PREROLLED ...
设置播放管道 ...
从填充“v4l2src0:src”获得消息 #22(stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)enter, owner=(GstElement)"\(GstV4l2Src\)\ v4l2src0", object=(GstTask)"\(GstTask\)\ v4l2src0:src";
从组件“pipeline0”获得消息 #23(stream-start): GstMessageStreamStart, group-id=(uint)1;
从组件“pipeline0”获得消息 #27(new-clock): GstMessageNewClock, clock=(GstClock)"\(GstSystemClock\)\ GstSystemClock";
New clock: GstSystemClock
从填充“v4l2src0:src”获得消息 #28(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt709";
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
从组件“capsfilter0”获得消息 #31(state-changed): GstMessageStateChanged, old-state=(GstState)paused, new-state=(GstState)playing, pending-state=(GstState)void-pending;
从填充“capsfilter0:src”获得消息 #32(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt709";
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
从组件“v4l2src0”获得消息 #33(state-changed): GstMessageStateChanged, old-state=(GstState)paused, new-state=(GstState)playing, pending-state=(GstState)void-pending;
从填充“kmssink0:sink”获得消息 #34(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt709";
错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
额外的调试信息:
../sys/v4l2/gstv4l2src.c(759): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
/GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
Execution ended after 0:00:00.338779490
错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
设置 NULL 管道 ...
额外的调试信息:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
释放管道资源 ...

Command pass width=640, height=480 , the log after  is as follows:

root@AM62x:~# gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=640, height=480 ! kmssink driver-name=tidss
[  660.291623] nvp6188 1-0030: nvp6188_open
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 800
管道被 PREROLLED ...
设置播放管道 ...
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
New clock: GstSystemClock
/GstPipeline:pipeli[  660.348371] j721e-csi2rx 30102000.ticsi2rx: Cannot transform "30102000.ticsi2rx":1 format UYVY little-endian (0x59565955) to YUYV little-endian (0x56595559)
ne0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
/GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
额外的调试信息:
../sys/v4l2/gstv4l2src.c(759): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
Execution ended after 0:00:00.055974765
设置 NULL 管道 ...
错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
额外的调试信息:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
释放管道资源 ...





root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=640, height=480 ! kmssink driver-name=tidss
[  727.648371] nvp6188 1-0030: nvp6188_open
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 800
管道被 PREROLLED ...
设置播放管道 ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
/GstPipeline:pipeli[  727.706338] j721e-csi2rx 30102000.ticsi2rx: Cannot transform "30102000.ticsi2rx":1 format UYVY little-endian (0x59565955) to YUYV little-endian (0x56595559)
ne0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
/GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
0:00:00.133094060   964 0xaaaaceaff800 ERROR         v4l2bufferpool gstv4l2bufferpool.c:706:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
0:00:00.149553270   964 0xaaaaceaff800 ERROR             bufferpool gstbufferpool.c:556:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
0:00:00.150011810   964 0xaaaaceaff800 WARN                 v4l2src gstv4l2src.c:759:gst_v4l2src_decide_allocation:<v4l2src0> error: 分配请求的内存失败。
0:00:00.150066840   964 0xaaaaceaff800 WARN                 v4l2src gstv4l2src.c:759:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
额外的调试信息:
../sys/v4l2/gstv4l2src.c(759): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
0:00:00.150455700   964 0xaaaaceaff800 WARN                 basesrc gstbasesrc.c:3347:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
0:00:00.150549910   964 0xaaaaceaff800 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
0:00:00.150589445   964 0xaaaaceaff800 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.056849745
设置 NULL 管道 ...
错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
额外的调试信息:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
释放管道资源 ...


root@AM62x:~# gst-launch-1.0 -m -vvv v4l2src device="/dev/video0" ! video/x-raw, width=640, height=480 ! kmssink driver-name=tidss
[  772.584734] nvp6188 1-0030: nvp6188_open
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
从组件“kmssink0”获得消息 #9(property-notify): GstMessagePropertyNotify, property-name=(string)display-width, property-value=(int)1280;
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
从组件“kmssink0”获得消息 #10(property-notify): GstMessagePropertyNotify, property-name=(string)display-height, property-value=(int)800;
/GstPipelin[  772.635316] j721e-csi2rx 30102000.ticsi2rx: Cannot transform "30102000.ticsi2rx":1 format UYVY little-endian (0x59565955) to YUYV little-endian (0x56595559)
e:pipeline0/GstKMSSink:kmssink0: display-height = 800
从组件“kmssink0”获得消息 #11(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
从组件“capsfilter0”获得消息 #12(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
从组件“v4l2src0”获得消息 #13(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
从组件“pipeline0”获得消息 #14(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)paused;
从组件“capsfilter0”获得消息 #16(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
从填充“v4l2src0:src”获得消息 #19(stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)create, owner=(GstElement)"\(GstV4l2Src\)\ v4l2src0", object=(GstTask)"\(GstTask\)\ v4l2src0:src";
从组件“v4l2src0”获得消息 #20(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
从组件“pipeline0”获得消息 #21(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
管道被 PREROLLED ...
设置播放管道 ...
从填充“v4l2src0:src”获得消息 #22(stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)enter, owner=(GstElement)"\(GstV4l2Src\)\ v4l2src0", object=(GstTask)"\(GstTask\)\ v4l2src0:src";
从组件“pipeline0”获得消息 #23(stream-start): GstMessageStreamStart, group-id=(uint)1;
从填充“v4l2src0:src”获得消息 #27(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)640\,\ height\=\(int\)480\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt601";
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
从组件“pipeline0”获得消息 #28(new-clock): GstMessageNewClock, clock=(GstClock)"\(GstSystemClock\)\ GstSystemClock";
New clock: GstSystemClock
从填充“capsfilter0:src”获得消息 #31(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)640\,\ height\=\(int\)480\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt601";
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
从组件“capsfilter0”获得消息 #32(state-changed): GstMessageStateChanged, old-state=(GstState)paused, new-state=(GstState)playing, pending-state=(GstState)void-pending;
从填充“kmssink0:sink”获得消息 #33(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)640\,\ height\=\(int\)480\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt601";
/GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
额外的调试信息:
../sys/v4l2/gstv4l2src.c(759): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
从组件“v4l2src0”获得消息 #34(state-changed): GstMessageStateChanged, old-state=(GstState)paused, new-state=(GstState)playing, pending-state=(GstState)void-pending;
错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
额外的调试信息:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.344994650
设置 NULL 管道 ...
释放管道资源 ...

Execute the following command:

media-ctl -V '"m00_b_nvp6188 1-0030":0 [fmt:UYVY8_1X16/1280x720 field:none]'
media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0 [fmt:UYVY8_1X16/1280x720 field:none]'
media-ctl -V '"30102000.ticsi2rx":0 [fmt:UYVY8_1X16/1280x720 field:none]'
yavta -s 1280x720 -f UYVY /dev/video0 -c5 -Fimage-#.yuv

The output log is as follows:

root@AM62x:~# media-ctl -V '"m00_b_nvp6188 1-0030":0 [fmt:UYVY8_1X16/1280x720 field:none]'
[  109.540872] nvp6188 1-0030: nvp6188_open
[  109.541031] nvp6188 1-0030: mipi_freq_idx 0
[  109.541038] nvp6188 1-0030: pixel_rate 729000000
root@AM62x:~# media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0 [fmt:UYVY8_1X16/1280x720 field:none]'
root@AM62x:~# media-ctl -V '"30102000.ticsi2rx":0 [fmt:UYVY8_1X16/1280x720 field:none]'
root@AM62x:~# yavta -s 1280x720 -f UYVY /dev/video0 -c5 -Fimage-#.yuv
Device /dev/video0 opened.
Device `j721e-csi2rx' on `platform:30102000.ticsi2rx' (driver 'j721e-csi2rx') supports video, capture, without mplanes.
Video format set: UYVY (59565955) 1280x720 (stride 2560) field none buffer size 1843200
Video format: UYVY (59565955) 1280x720 (stride 2560) field none buffer size 1843200
8 buffers requested.
length: 1843200 offset: 0 timestamp type/source: mono/EoF
Buf[  124.280233] nvp6188 1-0030: nvp6188_get_fmt: 2006 1280x720 vc 0
fer 0/0 mapped at address 0xffffb9f08000.
length: 1843200 offset: 1843200 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0xffffb9d46000.
length: 1843200 offset: 3686400 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0xffffb9b84000.
length: 1843200 offset: 5529600 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0xffffb99c2000.
length: 1843200 offset: 7372800 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0xffffb9800000.
length: 1843200 offset: 9216000 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0xffffb963e000.
length: 1843200 offset: 11059200 timestamp type/source: mono/EoF
Buffer 6/0 mapped at address 0xffffb947c000.
length: 1843200 offset: 12902400 timestamp type/source: mono/EoF
Buffer 7/0 mapped at address 0xffffb92ba000.
Unable to start streaming: Broken pipe (32).
8 buffers released.

Simultaneously execute the following commands:

v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 0" -v width=1280,height=720,pixelformat=UYVY  
v4l2-ctl -d2 --set-fmt-video=width=1280,height=720,pixelformat='UYVY'  --stream-mmap

The output log is as follows:

root@AM62x:~# v4l2-ctl -z platform:30102000.ticsi2rx -d "30102000.ticsi2rx context 0" -v width=1280,height=720,pixelformat=UYVY
root@AM62x:~# v4l2-ctl -d2 --set-fmt-video=width=1280,height=720,pixelformat='UYVY'  --stream-mmap
[   39.531797] nvp6188 1-0030: nvp6188_get_fmt: 2006 1280x720 vc 0
                VIDIOC_STREAMON returned -1 (Broken pipe)

Other supplementary logs are as follows:

root@AM62x:~# uname -a
Linux AM62x 6.6.58-rt45 #3 SMP PREEMPT_RT Thu Feb 13 11:11:26 CST 2025 aarch64 GNU/Linux


root@AM62x:~# dmesg | grep nvp
[    0.043461] /bus@f0000/i2c@20010000/nvp6188@30: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
[    0.044260] /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/nvp6188@30
[    0.051140] /bus@f0000/i2c@20010000/nvp6188@30: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
[    0.055734] /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/nvp6188@30
[    0.309318] /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/nvp6188@30
[    0.309500] /bus@f0000/i2c@20010000/nvp6188@30: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
[    8.001108] nvp6188 1-0030: driver version: 00.02.00
[    8.001166] nvp6188 1-0030: using DT '/bus@f0000/i2c@20010000/nvp6188@30' for 'reset' GPIO lookup
[    8.001216] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/bus@f0000/i2c@20010000/nvp6188@30[0]' - status (0)
[    8.001272] nvp6188 1-0030: using DT '/bus@f0000/i2c@20010000/nvp6188@30' for 'power' GPIO lookup
[    8.001288] of_get_named_gpiod_flags: can't parse 'power-gpios' property of node '/bus@f0000/i2c@20010000/nvp6188@30[0]'
[    8.001305] of_get_named_gpiod_flags: can't parse 'power-gpio' property of node '/bus@f0000/i2c@20010000/nvp6188@30[0]'
[    8.001318] nvp6188 1-0030: using lookup tables for GPIO lookup
[    8.001324] nvp6188 1-0030: No GPIO consumer power found
[    8.001328] nvp6188 1-0030: using DT '/bus@f0000/i2c@20010000/nvp6188@30' for 'vi' GPIO lookup
[    8.001346] of_get_named_gpiod_flags: can't parse 'vi-gpios' property of node '/bus@f0000/i2c@20010000/nvp6188@30[0]'
[    8.001363] of_get_named_gpiod_flags: can't parse 'vi-gpio' property of node '/bus@f0000/i2c@20010000/nvp6188@30[0]'
[    8.001374] nvp6188 1-0030: using lookup tables for GPIO lookup
[    8.001379] nvp6188 1-0030: No GPIO consumer vi found
[    8.004823] nvp6188 1-0030: could not get sleep pinstate
[    8.004877] nvp6188 1-0030: mipi_freq_idx 0
[    8.004882] nvp6188 1-0030: pixel_rate 729000000
[    8.004888] nvp6188 1-0030: link_freq 729000000
[    8.074611] /bus@f0000/i2c@20010000/nvp6188@30: Fixed dependency cycle(s) with /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000
[    8.074744] /bus@f0000/ticsi2rx@30102000/csi-bridge@30101000: Fixed dependency cycle(s) with /bus@f0000/i2c@20010000/nvp6188@30
[    8.176609] nvp6188 1-0030: chip_id : 0xd0 chip_revid : 0x 0
[    8.176893] input: nvp6188_input_event as /devices/platform/bus@f0000/20010000.i2c/i2c-1/1-0030/input/input3
[    8.593728] nvp6188 1-0030: nv6188_set_chn_1080p ch 0 ntpal 0
[    8.660612] nvp6188 1-0030: channel 0 not detect
[    8.665109] nvp6188 1-0030: nv6188_set_chn_1080p ch 1 ntpal 0
[    8.724879] nvp6188 1-0030: channel 1 not detect
[    8.730094] nvp6188 1-0030: nv6188_set_chn_1080p ch 2 ntpal 0
[    8.797859] nvp6188 1-0030: channel 2 not detect
[    8.803571] nvp6188 1-0030: nv6188_set_chn_1080p ch 3 ntpal 0
[    8.905745] nvp6188 1-0030: channel 3 not detect
[    8.911447] nvp6188 1-0030: [nvp6188_auto_det_set::2108]
[    9.118073] nvp6188 1-0030: channel 0 not detect
[    9.122197] nvp6188 1-0030: channel 1 not detect
[    9.125079] nvp6188 1-0030: channel 2 not detect
[    9.133795] nvp6188 1-0030: channel 3 not detect
[   10.366415] nvp6188 1-0030: nvp6188_open



root@AM62x:~# lsmod | grep v4l
v4l2_fwnode            16384  2 cdns_csi2rx,nvp6188
videobuf2_v4l2         20480  1 j721e_csi2rx
v4l2_async             16384  4 v4l2_fwnode,j721e_csi2rx,cdns_csi2rx,nvp6188
videobuf2_common       40960  4 j721e_csi2rx,videobuf2_dma_contig,videobuf2_v4l2,videobuf2_memops
videodev              180224  6 v4l2_async,v4l2_fwnode,j721e_csi2rx,videobuf2_v4l2,cdns_csi2rx,nvp6188
mc                     32768  7 v4l2_async,videodev,j721e_csi2rx,videobuf2_v4l2,cdns_csi2rx,videobuf2_common,nvp6188

root@AM62x:~# lsmod | grep j721
j721e_csi2rx           20480  0
videobuf2_dma_contig    16384  1 j721e_csi2rx
videobuf2_v4l2         20480  1 j721e_csi2rx
v4l2_async             16384  4 v4l2_fwnode,j721e_csi2rx,cdns_csi2rx,nvp6188
videobuf2_common       40960  4 j721e_csi2rx,videobuf2_dma_contig,videobuf2_v4l2,videobuf2_memops
videodev              180224  6 v4l2_async,v4l2_fwnode,j721e_csi2rx,videobuf2_v4l2,cdns_csi2rx,nvp6188
mc                     32768  7 v4l2_async,videodev,j721e_csi2rx,videobuf2_v4l2,cdns_csi2rx,videobuf2_common,nvp6188

root@AM62x:~# lsmod | grep video
videobuf2_dma_contig    16384  1 j721e_csi2rx
videobuf2_memops       12288  1 videobuf2_dma_contig
videobuf2_v4l2         20480  1 j721e_csi2rx
videobuf2_common       40960  4 j721e_csi2rx,videobuf2_dma_contig,videobuf2_v4l2,videobuf2_memops
videodev              180224  6 v4l2_async,v4l2_fwnode,j721e_csi2rx,videobuf2_v4l2,cdns_csi2rx,nvp6188
mc                     32768  7 v4l2_async,videodev,j721e_csi2rx,videobuf2_v4l2,cdns_csi2rx,videobuf2_common,nvp6188

root@AM62x:~# lsmod | grep nvp
nvp6188                32768  1
v4l2_fwnode            16384  2 cdns_csi2rx,nvp6188
v4l2_async             16384  4 v4l2_fwnode,j721e_csi2rx,cdns_csi2rx,nvp6188
videodev              180224  6 v4l2_async,v4l2_fwnode,j721e_csi2rx,videobuf2_v4l2,cdns_csi2rx,nvp6188
mc                     32768  7 v4l2_async,videodev,j721e_csi2rx,videobuf2_v4l2,cdns_csi2rx,videobuf2_common,nvp6188




root@AM62x:~# cat /proc/bus/input/devices
I: Bus=0019 Vendor=001f Product=0001 Version=0100
N: Name="pwm-beeper"
P: Phys=pwm/input0
S: Sysfs=/devices/platform/buzzer/input/input0
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=40001
B: SND=6

I: Bus=0018 Vendor=dead Product=beef Version=28bb
N: Name="goodix-ts"
P: Phys=input/ts
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=event1
B: PROP=2
B: EV=b
B: KEY=0
B: ABS=265800000000000

I: Bus=0018 Vendor=dead Product=beef Version=28bb
N: Name="goodix-ts"
P: Phys=input/ts
S: Sysfs=/devices/virtual/input/input2
U: Uniq=
H: Handlers=event2
B: PROP=2
B: EV=b
B: KEY=0
B: ABS=265800000000000

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="nvp6188_input_event"
P: Phys=
S: Sysfs=/devices/platform/bus@f0000/20010000.i2c/i2c-1/1-0030/input/input3
U: Uniq=
H: Handlers=event3
B: PROP=0
B: EV=11
B: MSC=8


root@AM62x:~# ls -l /dev/input/
total 0
drwxr-xr-x 2 root root      80 11月 11 18:54 by-path
crw-rw---- 1 root input 13, 64 11月 11 18:54 event0
crw-rw---- 1 root input 13, 65 11月 11 18:54 event1
crw-rw---- 1 root input 13, 66 11月 11 18:54 event2
crw-rw---- 1 root input 13, 67 11月 11 18:54 event3
lrwxrwxrwx 1 root root       6 11月 11 18:54 touchscreen0 -> event2


root@AM62x:~# ls -l /dev/media*
crw-rw---- 1 root video 236, 0 11月 11 18:54 /dev/media0
root@AM62x:~#
root@AM62x:~# ls -l /dev/v4l*
crw-rw---- 1 root video 81, 4 11月 11 18:54 /dev/v4l-subdev0
crw-rw---- 1 root video 81, 5 11月 11 18:54 /dev/v4l-subdev1
crw-rw---- 1 root video 81, 6 11月 11 18:54 /dev/v4l-subdev2

/dev/v4l:
total 0
drwxr-xr-x 2 root root 120 11月 11 18:54 by-path


root@AM62x:~# ls -l /dev/video*
crw-rw---- 1 root video 81, 0 11月 11 18:54 /dev/video0
crw-rw---- 1 root video 81, 1 11月 11 18:54 /dev/video1
crw-rw---- 1 root video 81, 2 11月 11 18:54 /dev/video2
crw-rw---- 1 root video 81, 3 11月 11 18:54 /dev/video3


root@AM62x:~# ls -l /sys/class/video4linux
total 0
lrwxrwxrwx 1 root root 0 11月 11 18:56 v4l-subdev0 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/v4l-subdev0
lrwxrwxrwx 1 root root 0 11月 11 18:56 v4l-subdev1 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/30101000.csi-bridge/video4linux/v4l-subdev1
lrwxrwxrwx 1 root root 0 11月 11 18:56 v4l-subdev2 -> ../../devices/platform/bus@f0000/20010000.i2c/i2c-1/1-0030/video4linux/v4l-subdev2
lrwxrwxrwx 1 root root 0 11月 11 18:56 video0 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/video0
lrwxrwxrwx 1 root root 0 11月 11 18:56 video1 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/video1
lrwxrwxrwx 1 root root 0 11月 11 18:56 video2 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/video2
lrwxrwxrwx 1 root root 0 11月 11 18:56 video3 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/video3



root@AM62x:~# v4l2-ctl --list-devices
[  198.332682] nvp6188 1-0030: nvp6188_open
j721e-csi2rx (platform:30102000.ticsi2rx):
        /dev/video0
        /dev/video1
        /dev/video2
        /dev/video3
        /dev/media0



root@AM62x:~# v4l2-ctl -d /dev/video0 --all
Driver Info:
        Driver name      : j721e-csi2rx
        Card type        : j721e-csi2rx
        Bus info         : platform:30102000.ticsi2rx
        Driver version   : 6.6.58
        Capabilities     : 0xa4200001
                Video Capture
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x24200001
                Video Capture
                Streaming
                Extended Pix Format
Media Driver Info:
        Driver name      : j721e-csi2rx
        Model            : TI-CSI2RX
        Serial           :
        Bus info         : platform:30102000.ticsi2rx
        Media version    : 6.6.58
        Hardware revision: 0x00000001 (1)
        Driver version   : 6.6.58
Interface Info:
        ID               : 0x03000015
        Type             : V4L Video
Entity Info:
        ID               : 0x00000013 (19)
        Name             : 30102000.ticsi2rx context 0
        Function         : V4L2 I/O
        Pad 0x01000014   : 0: Sink
          Link 0x02000017: from remote pad 0x1000003 of entity '30102000.ticsi2rx' (Video Interface Bridge): Data, Enabled, Immutable
Priority: 2
Video input : 0 (30102000.ticsi2rx context 0: ok)
Format Video Capture:
        Width/Height      : 640/480
        Pixel Format      : 'UYVY' (UYVY 4:2:2)
        Field             : None
        Bytes per Line    : 1280
        Size Image        : 614400
        Colorspace        : sRGB
        Transfer Function : sRGB
        YCbCr/HSV Encoding: ITU-R 601
        Quantization      : Limited Range
        Flags             :


root@AM62x:~# media-ctl -p -d /dev/media0
Media controller API version 6.6.58
[  230.206488] nvp6188 1-0030: nvp6188_open

Media device information
------------------------
driver          j721e-csi2rx
[  230.206565] nvp6188 1-0030: nvp6188_get_fmt: 2006 1280x720 vc 0
model           TI-CSI2RX
serial
bus info        platform:30102000.ticsi2rx
hw revision     0x1
driver version  6.6.58

Device topology
- entity 1: 30102000.ticsi2rx (5 pads, 5 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
        pad0: Sink
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
        pad1: Source
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
        pad2: Source
                -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
        pad3: Source
                -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
        pad4: Source
                -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]

- entity 7: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev1
        pad0: Sink
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                <- "m00_b_nvp6188 1-0030":0 [ENABLED,IMMUTABLE]
        pad1: Source
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
        pad2: Source
        pad3: Source
        pad4: Source

- entity 13: m00_b_nvp6188 1-0030 (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev2
        pad0: Source
                [fmt:UYVY8_2X8/1280x720@10000/250000 field:none]
                -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]

- entity 19: 30102000.ticsi2rx context 0 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video0
        pad0: Sink
                <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]

- entity 25: 30102000.ticsi2rx context 1 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video1
        pad0: Sink
                <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]

- entity 31: 30102000.ticsi2rx context 2 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video2
        pad0: Sink
                <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]

- entity 37: 30102000.ticsi2rx context 3 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video3
        pad0: Sink
                <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]



root@AM62x:~# media-ctl -d /dev/media0 -e 'm00_b_nvp6188 1-0030'
/dev/v4l-subdev2


root@AM62x:~# media-ctl --known-mbus-fmts
RGB444_1X12                     0x1016
RGB444_2X8_PADHI_BE             0x1001
RGB444_2X8_PADHI_LE             0x1002
RGB555_2X8_PADHI_BE             0x1003
RGB555_2X8_PADHI_LE             0x1004
RGB565_1X16                     0x1017
BGR565_2X8_BE                   0x1005
BGR565_2X8_LE                   0x1006
RGB565_2X8_BE                   0x1007
RGB565_2X8_LE                   0x1008
RGB666_1X18                     0x1009
RBG888_1X24                     0x100e
RGB666_1X24_CPADHI              0x1015
RGB666_1X7X3_SPWG               0x1010
BGR888_1X24                     0x1013
BGR888_3X8                      0x101b
GBR888_1X24                     0x1014
RGB888_1X24                     0x100a
RGB888_2X12_BE                  0x100b
RGB888_2X12_LE                  0x100c
RGB888_3X8                      0x101c
RGB888_3X8_DELTA                0x101d
RGB888_1X7X4_SPWG               0x1011
RGB888_1X7X4_JEIDA              0x1012
ARGB8888_1X32                   0x100d
RGB888_1X32_PADHI               0x100f
RGB101010_1X30                  0x1018
RGB121212_1X36                  0x1019
RGB161616_1X48                  0x101a
Y8_1X8                          0x2001
UV8_1X8                         0x2015
UYVY8_1_5X8                     0x2002
VYUY8_1_5X8                     0x2003
YUYV8_1_5X8                     0x2004
YVYU8_1_5X8                     0x2005
UYVY8_2X8                       0x2006
VYUY8_2X8                       0x2007
YUYV8_2X8                       0x2008
YVYU8_2X8                       0x2009
Y10_1X10                        0x200a
Y10_2X8_PADHI_LE                0x202c
UYVY10_2X10                     0x2018
VYUY10_2X10                     0x2019
YUYV10_2X10                     0x200b
YVYU10_2X10                     0x200c
Y12_1X12                        0x2013
UYVY12_2X12                     0x201c
VYUY12_2X12                     0x201d
YUYV12_2X12                     0x201e
YVYU12_2X12                     0x201f
Y14_1X14                        0x202d
UYVY8_1X16                      0x200f
VYUY8_1X16                      0x2010
YUYV8_1X16                      0x2011
YVYU8_1X16                      0x2012
YDYUYDYV8_1X16                  0x2014
UYVY10_1X20                     0x201a
VYUY10_1X20                     0x201b
YUYV10_1X20                     0x200d
YVYU10_1X20                     0x200e
VUY8_1X24                       0x2024
YUV8_1X24                       0x2025
UYYVYY8_0_5X24                  0x2026
UYVY12_1X24                     0x2020
VYUY12_1X24                     0x2021
YUYV12_1X24                     0x2022
YVYU12_1X24                     0x2023
YUV10_1X30                      0x2016
UYYVYY10_0_5X30                 0x2027
AYUV8_1X32                      0x2017
UYYVYY12_0_5X36                 0x2028
YUV12_1X36                      0x2029
YUV16_1X48                      0x202a
UYYVYY16_0_5X48                 0x202b
SBGGR8_1X8                      0x3001
SGBRG8_1X8                      0x3013
SGRBG8_1X8                      0x3002
SRGGB8_1X8                      0x3014
SBGGR10_ALAW8_1X8               0x3015
SGBRG10_ALAW8_1X8               0x3016
SGRBG10_ALAW8_1X8               0x3017
SRGGB10_ALAW8_1X8               0x3018
SBGGR10_DPCM8_1X8               0x300b
SGBRG10_DPCM8_1X8               0x300c
SGRBG10_DPCM8_1X8               0x3009
SRGGB10_DPCM8_1X8               0x300d
SBGGR10_2X8_PADHI_BE            0x3003
SBGGR10_2X8_PADHI_LE            0x3004
SBGGR10_2X8_PADLO_BE            0x3005
SBGGR10_2X8_PADLO_LE            0x3006
SBGGR10_1X10                    0x3007
SGBRG10_1X10                    0x300e
SGRBG10_1X10                    0x300a
SRGGB10_1X10                    0x300f
SBGGR12_1X12                    0x3008
SGBRG12_1X12                    0x3010
SGRBG12_1X12                    0x3011
SRGGB12_1X12                    0x3012
SBGGR14_1X14                    0x3019
SGBRG14_1X14                    0x301a
SGRBG14_1X14                    0x301b
SRGGB14_1X14                    0x301c
SBGGR16_1X16                    0x301d
SGBRG16_1X16                    0x301e
SGRBG16_1X16                    0x301f
SRGGB16_1X16                    0x3020
JPEG_1X8                        0x4001
S5C_UYVY_JPEG_1X8               0x5001
AHSV8888_1X32                   0x6001



root@AM62x:~# v4l2-ctl --list-formats-ext -d /dev/video0
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'YUYV' (YUYV 4:2:2)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [1]: 'UYVY' (UYVY 4:2:2)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [2]: 'YVYU' (YVYU 4:2:2)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [3]: 'VYUY' (VYUY 4:2:2)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [4]: 'BA81' (8-bit Bayer BGBG/GRGR)
                Size: Stepwise 16x1 - 16384x16384 with step 16/1
        [5]: 'GBRG' (8-bit Bayer GBGB/RGRG)
                Size: Stepwise 16x1 - 16384x16384 with step 16/1
        [6]: 'GRBG' (8-bit Bayer GRGR/BGBG)
                Size: Stepwise 16x1 - 16384x16384 with step 16/1
        [7]: 'RGGB' (8-bit Bayer RGRG/GBGB)
                Size: Stepwise 16x1 - 16384x16384 with step 16/1
        [8]: 'GREY' (8-bit Greyscale)
                Size: Stepwise 16x1 - 16384x16384 with step 16/1
        [9]: 'BG10' (10-bit Bayer BGBG/GRGR)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [10]: 'GB10' (10-bit Bayer GBGB/RGRG)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [11]: 'BA10' (10-bit Bayer GRGR/BGBG)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [12]: 'RG10' (10-bit Bayer RGRG/GBGB)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [13]: 'RGI0' (10-bit Bayer RGBG/GIrGIr)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [14]: 'GRI0' (10-bit Bayer GRGB/IrGIrG)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [15]: 'BGI0' (10-bit Bayer BGRG/GIrGIr)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [16]: 'GBI0' (10-bit Bayer GBGR/IrGIrG)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [17]: 'GIR0' (10-bit Bayer GIrGIr/RGBG)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [18]: 'IGR0' (10-bit Bayer IrGIrG/GRGB)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [19]: 'GIB0' (10-bit Bayer GIrGIr/BGRG)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [20]: 'IGB0' (10-bit Bayer IrGIrG/GBGR)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [21]: 'BG12' (12-bit Bayer BGBG/GRGR)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [22]: 'GB12' (12-bit Bayer GBGB/RGRG)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [23]: 'BA12' (12-bit Bayer GRGR/BGBG)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [24]: 'RG12' (12-bit Bayer RGRG/GBGB)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [25]: 'RGBR' (16-bit RGB 5-6-5 BE)
                Size: Stepwise 8x1 - 8192x16384 with step 8/1
        [26]: 'XR24' (32-bit BGRX 8-8-8-8)
                Size: Stepwise 4x1 - 4096x16384 with step 4/1
        [27]: 'XB24' (32-bit RGBX 8-8-8-8)
                Size: Stepwise 4x1 - 4096x16384 with step 4/1


root@AM62x:~# v4l2-ctl -d /dev/v4l-subdev2 --list-subdev-mbus-codes pad=0
[  326.929497] nvp6188 1-0030: nvp6188_open
ioctl: VIDIOC_SUBDEV_ENUM_MBUS_CODE (pad=0)
        0x2006: MEDIA_BUS_FMT_UYVY8_2X8



root@AM62x:~# v4l2-ctl -d /dev/v4l-subdev2 --list-subdev-framesizes pad=0,code=0x2006
[  344.161576] nvp6188 1-0030: nvp6188_open
ioctl: VIDIOC_SUBDEV_ENUM_FRAME_SIZE (pad=0)
[  344.165756] nvp6188 1-0030: nvp6188_enum_frame_sizes:
        Size Range: 1280x720 - 1280x720
[  344.174852] nvp6188 1-0030: nvp6188_enum_frame_sizes:
        Size Range: 1920x1080 - 1920x1080
[  344.182881] nvp6188 1-0030: nvp6188_enum_frame_sizes:
        Size Range: 960x480 - 960x480
[  344.191079] nvp6188 1-0030: nvp6188_enum_frame_sizes:




root@AM62x:~# v4l2-ctl -d /dev/v4l-subdev2 --list-subdev-frameintervals pad=0,width=1920,height=1080,code=0x2006
ioctl: VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL (pad=0)
[  360.548919] nvp6188 1-0030: nvp6188_open
        Interval: 0.040s (25.000 fps)
        Interval: 0.040s (25.000 fps)
        Interval: 0.040s (25.000 fps)



root@AM62x:~# v4l2-ctl -d /dev/v4l-subdev2 --list-subdev-frameintervals pad=0,width=1280,height=720,code=0x2006
[  374.232898] nvp6188 1-0030: nvp6188_open
ioctl: VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL (pad=0)
        Interval: 0.040s (25.000 fps)
        Interval: 0.040s (25.000 fps)
        Interval: 0.040s (25.000 fps)



root@AM62x:~# v4l2-ctl -d /dev/v4l-subdev2 --list-subdev-frameintervals pad=0,width=960,height=480,code=0x2006
[  387.223505] nvp6188 1-0030: nvp6188_open
ioctl: VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL (pad=0)
        Interval: 0.040s (25.000 fps)
        Interval: 0.040s (25.000 fps)
        Interval: 0.040s (25.000 fps)


root@AM62x:~# v4l2-ctl -d2 --stream-mmap
[  408.438040] nvp6188 1-0030: nvp6188_get_fmt: 2006 1280x720 vc 0
                VIDIOC_STREAMON returned -1 (Broken pipe)

Video can be collected normally in SDK 8.6, and the corresponding logs are as follows:

root@AM62x:~# uname -a
Linux AM62x 5.10.168-rt83-gc1a1291911 #1 SMP PREEMPT_RT Thu Jan 23 08:09:06 UTC 2025 aarch64 GNU/Linux

root@AM62x:~# dmesg | grep nvp
[    7.247453] nvp6188 1-0030: driver version: 00.01.00
[    7.247615] nvp6188 1-0030: could not get sleep pinstate
[    7.248189] nvp6188 1-0030: mipi_freq_idx 0
[    7.248198] nvp6188 1-0030: pixel_rate 729000000
[    7.248203] nvp6188 1-0030: link_freq 729000000
[    7.311060] nvp6188 1-0030: chip_id : 0xd0 chip_revid : 0x 0
[    7.338557] input: nvp6188_input_event as /devices/platform/bus@f0000/20010000.i2c/i2c-1/1-0030/input/input3
[   10.643346] nvp6188 1-0030: nvp6188_open


root@AM62x:~# lsmod | grep v4l
v4l2_fwnode            24576  2 cdns_csi2rx,nvp6188

root@AM62x:~# lsmod | grep j721
j721e_csi2rx           24576  0
videobuf2_dma_contig    24576  1 j721e_csi2rx

root@AM62x:~# lsmod | grep video
videobuf2_dma_contig    24576  1 j721e_csi2rx

root@AM62x:~# lsmod | grep nvp
nvp6188                45056  1
v4l2_fwnode            24576  2 cdns_csi2rx,nvp6188


root@AM62x:~# cat /proc/bus/input/devices
I: Bus=0019 Vendor=001f Product=0001 Version=0100
N: Name="pwm-beeper"
P: Phys=pwm/input0
S: Sysfs=/devices/platform/buzzer/input/input0
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=40001
B: SND=6

I: Bus=0018 Vendor=dead Product=beef Version=28bb
N: Name="goodix-ts"
P: Phys=input/ts
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=event1
B: PROP=2
B: EV=b
B: KEY=0
B: ABS=265800000000000

I: Bus=0018 Vendor=dead Product=beef Version=28bb
N: Name="goodix-ts"
P: Phys=input/ts
S: Sysfs=/devices/virtual/input/input2
U: Uniq=
H: Handlers=event2
B: PROP=2
B: EV=b
B: KEY=0
B: ABS=265800000000000

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="nvp6188_input_event"
P: Phys=
S: Sysfs=/devices/platform/bus@f0000/20010000.i2c/i2c-1/1-0030/input/input3
U: Uniq=
H: Handlers=event3
B: PROP=0
B: EV=11
B: MSC=8




root@AM62x:~# ls -l /dev/input/
total 0
drwxr-xr-x 2 root root      80 10月 22 17:47 by-path
crw-rw---- 1 root input 13, 64 10月 22 17:47 event0
crw-rw---- 1 root input 13, 65 10月 22 17:47 event1
crw-rw---- 1 root input 13, 66 10月 22 17:47 event2
crw-rw---- 1 root input 13, 67 10月 22 17:47 event3
lrwxrwxrwx 1 root root       6 10月 22 17:47 touchscreen0 -> event2



root@AM62x:~# ls -l /dev/media*
crw-rw---- 1 root video 250, 0 10月 22 17:47 /dev/media0

root@AM62x:~# ls -l /dev/v4l*
crw-rw---- 1 root video 81, 4 10月 22 17:47 /dev/v4l-subdev0
crw-rw---- 1 root video 81, 5 10月 22 17:47 /dev/v4l-subdev1
crw-rw---- 1 root video 81, 6 10月 22 17:47 /dev/v4l-subdev2

/dev/v4l:
total 0
drwxr-xr-x 2 root root 120 10月 22 17:47 by-path

root@AM62x:~# ls -l /dev/video*
crw-rw---- 1 root video 81, 0 10月 22 17:47 /dev/video0
crw-rw---- 1 root video 81, 1 10月 22 17:47 /dev/video1
crw-rw---- 1 root video 81, 2 10月 22 17:47 /dev/video2
crw-rw---- 1 root video 81, 3 10月 22 17:47 /dev/video3

root@AM62x:~# ls -l /sys/class/video4linux
total 0
lrwxrwxrwx 1 root root 0 10月 22 18:09 v4l-subdev0 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/v4l-subdev0
lrwxrwxrwx 1 root root 0 10月 22 18:09 v4l-subdev1 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/30101000.csi-bridge/video4linux/v4l-subdev1
lrwxrwxrwx 1 root root 0 10月 22 18:09 v4l-subdev2 -> ../../devices/platform/bus@f0000/20010000.i2c/i2c-1/1-0030/video4linux/v4l-subdev2
lrwxrwxrwx 1 root root 0 10月 22 18:09 video0 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/video0
lrwxrwxrwx 1 root root 0 10月 22 18:09 video1 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/video1
lrwxrwxrwx 1 root root 0 10月 22 18:09 video2 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/video2
lrwxrwxrwx 1 root root 0 10月 22 18:09 video3 -> ../../devices/platform/bus@f0000/30102000.ticsi2rx/video4linux/video3



root@AM62x:~# v4l2-ctl --list-devices
j721e-csi2rx (platform:30102000.ticsi2rx):[ 1334.906938] nvp6188 1-0030: nvp6188_open

        /dev/video0
        /dev/video1
        /dev/video2
        /dev/video3
        /dev/media0


root@AM62x:~# v4l2-ctl -d /dev/video0 --all
Driver Info:
        Driver name      : j721e-csi2rx
        Card type        : j721e-csi2rx
        Bus info         : platform:30102000.ticsi2rx
        Driver version   : 5.10.168
        Capabilities     : 0xa5200001
                Video Capture
                Read/Write
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x25200001
                Video Capture
                Read/Write
                Streaming
                Extended Pix Format
Media Driver Info:
        Driver name      : j721e-csi2rx
        Model            : TI-CSI2RX
        Serial           :
        Bus info         : platform:30102000.ticsi2rx
        Media version    : 5.10.168
        Hardware revision: 0x00000001 (1)
        Driver version   : 5.10.168
Interface Info:
        ID               : 0x03000015
        Type             : V4L Video
Entity Info:
        ID               : 0x00000013 (19)
        Name             : 30102000.ticsi2rx context 0
        Function         : V4L2 I/O
        Pad 0x01000014   : 0: Sink
          Link 0x02000017: from remote pad 0x1000003 of entity '30102000.ticsi2rx' (Video Interface Bridge): Data, Enabled, Immutable
Priority: 2
Video input : 0 (30102000.ticsi2rx context 0: ok)
Format Video Capture:
        Width/Height      : 640/480
        Pixel Format      : 'UYVY' (UYVY 4:2:2)
        Field             : Any
        Bytes per Line    : 1280
        Size Image        : 614400
        Colorspace        : sRGB
        Transfer Function : Default (maps to sRGB)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Limited Range)
        Flags             :


root@AM62x:~# media-ctl -p -d /dev/media0
Media controller API version 5.10.168[ 1363.684331] nvp6188 1-0030: nvp6188_open


Media device information
------------------------
driver  [ 1363.684365] nvp6188 1-0030: nvp6188_get_fmt: 2006 1280x720 vc 0
        j721e-csi2rx
model           TI-CSI2RX
serial
bus info        platform:30102000.ticsi2rx
hw revision     0x1
driver version  5.10.168

Device topology
- entity 1: 30102000.ticsi2rx (5 pads, 5 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
        pad0: Sink
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
        pad1: Source
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
        pad2: Source
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
        pad3: Source
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
        pad4: Source
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]

- entity 7: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev1
        pad0: Sink
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                <- "m00_b_nvp6188 1-0030":0 [ENABLED,IMMUTABLE]
        pad1: Source
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
        pad2: Source
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
        pad3: Source
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
        pad4: Source
                [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]

- entity 13: m00_b_nvp6188 1-0030 (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev2
        pad0: Source
                [fmt:UYVY8_2X8/1280x720@10000/250000 field:none]
                -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]

- entity 19: 30102000.ticsi2rx context 0 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video0
        pad0: Sink
                <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]

- entity 25: 30102000.ticsi2rx context 1 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video1
        pad0: Sink
                <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]

- entity 31: 30102000.ticsi2rx context 2 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video2
        pad0: Sink
                <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]

- entity 37: 30102000.ticsi2rx context 3 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video3
        pad0: Sink
                <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]


root@AM62x:~# media-ctl -d /dev/media0 -e 'm00_b_nvp6188 1-0030'
/dev/v4l-subdev2


root@AM62x:~# media-ctl --known-mbus-fmts
RGB444_1X12                     0x1016
RGB444_2X8_PADHI_BE             0x1001
RGB444_2X8_PADHI_LE             0x1002
RGB555_2X8_PADHI_BE             0x1003
RGB555_2X8_PADHI_LE             0x1004
RGB565_1X16                     0x1017
BGR565_2X8_BE                   0x1005
BGR565_2X8_LE                   0x1006
RGB565_2X8_BE                   0x1007
RGB565_2X8_LE                   0x1008
RGB666_1X18                     0x1009
RBG888_1X24                     0x100e
RGB666_1X24_CPADHI              0x1015
RGB666_1X7X3_SPWG               0x1010
BGR888_1X24                     0x1013
BGR888_3X8                      0x101b
GBR888_1X24                     0x1014
RGB888_1X24                     0x100a
RGB888_2X12_BE                  0x100b
RGB888_2X12_LE                  0x100c
RGB888_3X8                      0x101c
RGB888_3X8_DELTA                0x101d
RGB888_1X7X4_SPWG               0x1011
RGB888_1X7X4_JEIDA              0x1012
ARGB8888_1X32                   0x100d
RGB888_1X32_PADHI               0x100f
RGB101010_1X30                  0x1018
RGB121212_1X36                  0x1019
RGB161616_1X48                  0x101a
Y8_1X8                          0x2001
UV8_1X8                         0x2015
UYVY8_1_5X8                     0x2002
VYUY8_1_5X8                     0x2003
YUYV8_1_5X8                     0x2004
YVYU8_1_5X8                     0x2005
UYVY8_2X8                       0x2006
VYUY8_2X8                       0x2007
YUYV8_2X8                       0x2008
YVYU8_2X8                       0x2009
Y10_1X10                        0x200a
Y10_2X8_PADHI_LE                0x202c
UYVY10_2X10                     0x2018
VYUY10_2X10                     0x2019
YUYV10_2X10                     0x200b
YVYU10_2X10                     0x200c
Y12_1X12                        0x2013
UYVY12_2X12                     0x201c
VYUY12_2X12                     0x201d
YUYV12_2X12                     0x201e
YVYU12_2X12                     0x201f
Y14_1X14                        0x202d
UYVY8_1X16                      0x200f
VYUY8_1X16                      0x2010
YUYV8_1X16                      0x2011
YVYU8_1X16                      0x2012
YDYUYDYV8_1X16                  0x2014
UYVY10_1X20                     0x201a
VYUY10_1X20                     0x201b
YUYV10_1X20                     0x200d
YVYU10_1X20                     0x200e
VUY8_1X24                       0x2024
YUV8_1X24                       0x2025
UYYVYY8_0_5X24                  0x2026
UYVY12_1X24                     0x2020
VYUY12_1X24                     0x2021
YUYV12_1X24                     0x2022
YVYU12_1X24                     0x2023
YUV10_1X30                      0x2016
UYYVYY10_0_5X30                 0x2027
AYUV8_1X32                      0x2017
UYYVYY12_0_5X36                 0x2028
YUV12_1X36                      0x2029
YUV16_1X48                      0x202a
UYYVYY16_0_5X48                 0x202b
SBGGR8_1X8                      0x3001
SGBRG8_1X8                      0x3013
SGRBG8_1X8                      0x3002
SRGGB8_1X8                      0x3014
SBGGR10_ALAW8_1X8               0x3015
SGBRG10_ALAW8_1X8               0x3016
SGRBG10_ALAW8_1X8               0x3017
SRGGB10_ALAW8_1X8               0x3018
SBGGR10_DPCM8_1X8               0x300b
SGBRG10_DPCM8_1X8               0x300c
SGRBG10_DPCM8_1X8               0x3009
SRGGB10_DPCM8_1X8               0x300d
SBGGR10_2X8_PADHI_BE            0x3003
SBGGR10_2X8_PADHI_LE            0x3004
SBGGR10_2X8_PADLO_BE            0x3005
SBGGR10_2X8_PADLO_LE            0x3006
SBGGR10_1X10                    0x3007
SGBRG10_1X10                    0x300e
SGRBG10_1X10                    0x300a
SRGGB10_1X10                    0x300f
SBGGR12_1X12                    0x3008
SGBRG12_1X12                    0x3010
SGRBG12_1X12                    0x3011
SRGGB12_1X12                    0x3012
SBGGR14_1X14                    0x3019
SGBRG14_1X14                    0x301a
SGRBG14_1X14                    0x301b
SRGGB14_1X14                    0x301c
SBGGR16_1X16                    0x301d
SGBRG16_1X16                    0x301e
SGRBG16_1X16                    0x301f
SRGGB16_1X16                    0x3020
JPEG_1X8                        0x4001
S5C_UYVY_JPEG_1X8               0x5001
AHSV8888_1X32                   0x6001



root@AM62x:~# v4l2-ctl --list-formats-ext -d /dev/video0
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'YUYV' (YUYV 4:2:2)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [1]: 'UYVY' (UYVY 4:2:2)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [2]: 'YVYU' (YVYU 4:2:2)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [3]: 'VYUY' (VYUY 4:2:2)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [4]: 'BA81' (8-bit Bayer BGBG/GRGR)
                Size: Stepwise 16x1 - 16777216x16777216 with step 16/1
        [5]: 'GBRG' (8-bit Bayer GBGB/RGRG)
                Size: Stepwise 16x1 - 16777216x16777216 with step 16/1
        [6]: 'GRBG' (8-bit Bayer GRGR/BGBG)
                Size: Stepwise 16x1 - 16777216x16777216 with step 16/1
        [7]: 'RGGB' (8-bit Bayer RGRG/GBGB)
                Size: Stepwise 16x1 - 16777216x16777216 with step 16/1
        [8]: 'BG10' (10-bit Bayer BGBG/GRGR)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [9]: 'GB10' (10-bit Bayer GBGB/RGRG)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [10]: 'BA10' (10-bit Bayer GRGR/BGBG)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [11]: 'RG10' (10-bit Bayer RGRG/GBGB)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [12]: 'BG12' (12-bit Bayer BGBG/GRGR)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [13]: 'GB12' (12-bit Bayer GBGB/RGRG)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [14]: 'BA12' (12-bit Bayer GRGR/BGBG)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [15]: 'RG12' (12-bit Bayer RGRG/GBGB)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [16]: 'RGI0' (10-bit Bayer RGBG/GIrGIr)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [17]: 'GRI0' (10-bit Bayer GRGB/IrGIrG)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [18]: 'BGI0' (10-bit Bayer BGRG/GIrGIr)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [19]: 'GBI0' (10-bit Bayer GBGR/IrGIrG)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [20]: 'GIR0' (10-bit Bayer GIrGIr/RGBG)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [21]: 'IGR0' (10-bit Bayer IrGIrG/GRGB)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [22]: 'GIB0' (10-bit Bayer GIrGIr/BGRG)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1
        [23]: 'IGB0' (10-bit Bayer IrGIrG/GBGR)
                Size: Stepwise 8x1 - 16777216x16777216 with step 8/1



root@AM62x:~# v4l2-ctl -d /dev/v4l-subdev2 --list-subdev-mbus-codes pad=0
[ 1422.830313] nvp6188 1-0030: nvp6188_open
ioctl: VIDIOC_SUBDEV_ENUM_MBUS_CODE (pad=0)
        0x2006: MEDIA_BUS_FMT_UYVY8_2X8

root@AM62x:~# v4l2-ctl -d /dev/v4l-subdev2 --list-subdev-framesizes pad=0,code=0x2006
[ 1427.915439] nvp6188 1-0030: nvp6188_open
ioctl: VIDIOC_SUBDEV_ENUM_FRAME_SIZE (pad=0)
[ 1427.919914] nvp6188 1-0030: nvp6188_enum_frame_sizes:
        Size Range: 1280x720 - 1280x720
        Size Range: 1920x1080 - 1920x1080
        [ 1427.919964] nvp6188 1-0030: nvp6188_enum_frame_sizes:
        Size Range: 960x480 - 960x480
[ 1427.919981] nvp6188 1-0030: nvp6188_enum_frame_sizes:
[ 1427.919996] nvp6188 1-0030: nvp6188_enum_frame_sizes:



root@AM62x:~# gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! kmssink driver-name=tidss
[   29.314048] nvp6188 1-0030: nvp6188_open
[   29.484506] nvp6188 1-0030: nvp6188_open
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height =[   29.528822] nvp6188 1-0030: s_stream: 1. 1280x720
 800
管道被 PREROLLED ...
设置播放管道 ...
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
New clock: GstSystemClock
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
[   30.262754] nvp6188 1-0030: read vfc 0x21 0xff 0xff 0xff
[   30.271176] nvp6188 1-0030: channel 0 det 720p pal
[   30.274280] nvp6188 1-0030: channel 1 not detect, def 1080p pal
[   30.277387] nvp6188 1-0030: channel 2 not detect, def 1080p pal
[   30.280502] nvp6188 1-0030: channel 3 not detect, def 1080p pal
[   30.280509] nvp6188 1-0030: nv6188_set_chn_1080p ch 3 ntpal 1
[   30.322567] nvp6188 1-0030: nv6188_set_chn_1080p ch 2 ntpal 1
[   30.364684] nvp6188 1-0030: nv6188_set_chn_1080p ch 1 ntpal 1
[   30.412045] nvp6188 1-0030: nv6188_set_chn_720p ch 0 ntpal 1
重新分配延迟时间...
handling interrupt.:99.
中断: 中止管道 ...
Execution ended after 0:00:05.769800320
设置 NULL 管道 ...
[   35.408428] nvp6188 1-0030: s_stream: 0. 1280x720
释放管道资源 ...




root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! kmssink driver-name=tidss
[   55.588958] nvp6188 1-0030: nvp6188_open
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height =[   55.615869] nvp6188 1-0030: s_stream: 1. 1280x720
 800
管道被 PREROLLED ...
设置播放管道 ...
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
New clock: GstSystemClock
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
[   56.336793] nvp6188 1-0030: read vfc 0x21 0xff 0xff 0xff
[   56.342828] nvp6188 1-0030: channel 0 det 720p pal
[   56.345950] nvp6188 1-0030: channel 1 not detect, def 1080p pal
[   56.349101] nvp6188 1-0030: channel 2 not detect, def 1080p pal
[   56.352190] nvp6188 1-0030: channel 3 not detect, def 1080p pal
[   56.352197] nvp6188 1-0030: nv6188_set_chn_1080p ch 3 ntpal 1
[   56.394209] nvp6188 1-0030: nv6188_set_chn_1080p ch 2 ntpal 1
[   56.439040] nvp6188 1-0030: nv6188_set_chn_1080p ch 1 ntpal 1
[   56.481080] nvp6188 1-0030: nv6188_set_chn_720p ch 0 ntpal 1
0:00:01.013977945  1075 0xaaaab3cc7800 WARN          v4l2bufferpool gstv4l2bufferpool.c:1373:gst_v4l2_buffer_pool_dqbuf:<v4l2src0:pool0:src> Driver should never set v4l2_buffer.field to ANY
重新分配延迟时间...
^Chandling interrupt.
中断: 中止管道 ...
Execution ended after 0:00:07.131747715
设置 NULL 管道 ...
[   62.823811] nvp6188 1-0030: s_stream: 0. 1280x720
释放管道资源 ...




root@AM62x:~# gst-launch-1.0 -m -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! kmssink driver-name=tidss
[   87.517401] nvp6188 1-0030: nvp6188_open
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
从组件“kmssink0”获得消息 #9(property-notify): GstMessagePropertyNotify, property-name=(string)display-width, pr[   87.544881] nvp6188 1-0030: s_stream: 1. 1280x720
operty-value=(int)1280;
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
从组件“kmssink0”获得消息 #10(property-notify): GstMessagePropertyNotify, property-name=(string)display-height, property-value=(int)800;
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 800
从组件“kmssink0”获得消息 #11(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
从组件“capsfilter0”获得消息 #12(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
从组件“v4l2src0”获得消息 #13(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
从组件“pipeline0”获得消息 #14(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)paused;
从组件“capsfilter0”获得消息 #16(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
从填充“v4l2src0:src”获得消息 #19(stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)create, owner=(GstElement)"\(GstV4l2Src\)\ v4l2src0", object=(GstTask)"\(GstTask\)\ v4l2src0:src";
从组件“v4l2src0”获得消息 #20(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
从填充“v4l2src0:src”获得消息 #22(stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)enter, owner=(GstElement)"\(GstV4l2Src\)\ v4l2src0", object=(GstTask)"\(GstTask\)\ v4l2src0:src";
从组件“pipeline0”获得消息 #21(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
管道被 PREROLLED ...
设置播放管道 ...
从组件“pipeline0”获得消息 #23(stream-start): GstMessageStreamStart, group-id=(uint)1;
从填充“v4l2src0:src”获得消息 #27(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt709";
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
从填充“capsfilter0:src”获得消息 #29(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt709";
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
从填充“kmssink0:sink”获得消息 #30(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt709";
/GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
从填充“capsfilter0:sink”获得消息 #31(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt709";
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
从组件“pipeline0”获得消息 #32(new-clock): GstMessageNewClock, clock=(GstClock)"\(GstSystemClock\)\ GstSystemClock";
New clock: GstSystemClock
从组件“capsfilter0”获得消息 #34(state-changed): GstMessageStateChanged, old-state=(GstState)paused, new-state=(GstState)playing, pending-state=(GstState)void-pending;
从组件“v4l2src0”获得消息 #35(state-changed): GstMessageStateChanged, old-state=(GstState)paused, new-state=(GstState)playing, pending-state=(GstState)void-pending;
[   88.267209] nvp6188 1-0030: read vfc 0x21 0xff 0xff 0xff
[   88.270465] nvp6188 1-0030: channel 0 det 720p pal
[   88.273595] nvp6188 1-0030: channel 1 not detect, def 1080p pal
[   88.276704] nvp6188 1-0030: channel 2 not detect, def 1080p pal
[   88.279890] nvp6188 1-0030: channel 3 not detect, def 1080p pal
[   88.279898] nvp6188 1-0030: nv6188_set_chn_1080p ch 3 ntpal 1
[   88.321948] nvp6188 1-0030: nv6188_set_chn_1080p ch 2 ntpal 1
[   88.364144] nvp6188 1-0030: nv6188_set_chn_1080p ch 1 ntpal 1
[   88.406244] nvp6188 1-0030: nv6188_set_chn_720p ch 0 ntpal 1
从组件“kmssink0”获得消息 #38(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
从组件“pipeline0”获得消息 #40(async-done): GstMessageAsyncDone, running-time=(guint64)18446744073709551615;
从组件“kmssink0”获得消息 #41(latency): no message details
重新分配延迟时间...
从组件“kmssink0”获得消息 #44(state-changed): GstMessageStateChanged, old-state=(GstState)paused, new-state=(GstState)playing, pending-state=(GstState)void-pending;
从组件“pipeline0”获得消息 #45(state-changed): GstMessageStateChanged, old-state=(GstState)paused, new-state=(GstState)playing, pending-state=(GstState)void-pending;
从组件“kmssink0”获得消息 #47(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)999886825, stream-time=(guint64)999886825, timestamp=(guint64)999886825, duration=(guint64)8333333, jitter=(gint64)19856317, proportion=(double)0.96042432356465368, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)2, dropped=(guint64)1;
从组件“kmssink0”获得消息 #53(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)1239878750, stream-time=(guint64)1239878750, timestamp=(guint64)1239878750, duration=(guint64)8333333, jitter=(gint64)15219577, proportion=(double)0.96172722315250392, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)6, dropped=(guint64)2;
从组件“kmssink0”获得消息 #57(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)1359886570, stream-time=(guint64)1359886570, timestamp=(guint64)1359886570, duration=(guint64)8333333, jitter=(gint64)13574777, proportion=(double)0.91875242877685204, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)8, dropped=(guint64)3;
从组件“kmssink0”获得消息 #62(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)1519907895, stream-time=(guint64)1519907895, timestamp=(guint64)1519907895, duration=(guint64)8333333, jitter=(gint64)20599327, proportion=(double)0.89321967381884981, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)11, dropped=(guint64)4;
从组件“kmssink0”获得消息 #68(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)1759898860, stream-time=(guint64)1759898860, timestamp=(guint64)1759898860, duration=(guint64)8333333, jitter=(gint64)15948497, proportion=(double)0.90000314104136581, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)15, dropped=(guint64)5;
从组件“kmssink0”获得消息 #72(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)1879894455, stream-time=(guint64)1879894455, timestamp=(guint64)1879894455, duration=(guint64)8333333, jitter=(gint64)14363192, proportion=(double)0.88552703082642703, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)17, dropped=(guint64)6;
从组件“kmssink0”获得消息 #77(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)2039889730, stream-time=(guint64)2039889730, timestamp=(guint64)2039889730, duration=(guint64)8333333, jitter=(gint64)21389962, proportion=(double)0.86998036509633259, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)20, dropped=(guint64)7;
从组件“kmssink0”获得消息 #83(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)2279899260, stream-time=(guint64)2279899260, timestamp=(guint64)2279899260, duration=(guint64)8333333, jitter=(gint64)56907477, proportion=(double)0.88715067618470544, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)24, dropped=(guint64)8;
从组件“kmssink0”获得消息 #85(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)2319884605, stream-time=(guint64)2319884605, timestamp=(guint64)2319884605, duration=(guint64)8333333, jitter=(gint64)17136457, proportion=(double)1.0028570048782315, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)24, dropped=(guint64)9;
从组件“kmssink0”获得消息 #90(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)2519903115, stream-time=(guint64)2519903115, timestamp=(guint64)2519903115, duration=(guint64)8333333, jitter=(gint64)13516962, proportion=(double)0.87894688174959845, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)27, dropped=(guint64)10;
从组件“kmssink0”获得消息 #95(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)2679905625, stream-time=(guint64)2679905625, timestamp=(guint64)2679905625, duration=(guint64)8333333, jitter=(gint64)20569092, proportion=(double)0.88654380626723206, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)30, dropped=(guint64)11;
从组件“kmssink0”获得消息 #101(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)2919902525, stream-time=(guint64)2919902525, timestamp=(guint64)2919902525, duration=(guint64)8333333, jitter=(gint64)15942337, proportion=(double)0.89590568883081323, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)34, dropped=(guint64)12;
从组件“kmssink0”获得消息 #105(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)3039900350, stream-time=(guint64)3039900350, timestamp=(guint64)3039900350, duration=(guint64)8333333, jitter=(gint64)14351312, proportion=(double)0.88340738903620741, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)36, dropped=(guint64)13;
从组件“kmssink0”获得消息 #110(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)3199910100, stream-time=(guint64)3199910100, timestamp=(guint64)3199910100, duration=(guint64)8333333, jitter=(gint64)21403242, proportion=(double)0.86855986545633246, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)39, dropped=(guint64)14;
从组件“kmssink0”获得消息 #116(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)3439907195, stream-time=(guint64)3439907195, timestamp=(guint64)3439907195, duration=(guint64)8333333, jitter=(gint64)56992017, proportion=(double)0.88632183567579859, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)43, dropped=(guint64)15;
从组件“kmssink0”获得消息 #118(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)3479906980, stream-time=(guint64)3479906980, timestamp=(guint64)3479906980, duration=(guint64)8333333, jitter=(gint64)17330412, proportion=(double)1.0024019212123585, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)43, dropped=(guint64)16;
从组件“kmssink0”获得消息 #123(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)3679916170, stream-time=(guint64)3679916170, timestamp=(guint64)3679916170, duration=(guint64)8333333, jitter=(gint64)13515977, proportion=(double)0.87888680349227055, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)46, dropped=(guint64)17;
从组件“kmssink0”获得消息 #128(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)3839910245, stream-time=(guint64)3839910245, timestamp=(guint64)3839910245, duration=(guint64)8333333, jitter=(gint64)20559172, proportion=(double)0.88622380311692162, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)49, dropped=(guint64)18;
从组件“kmssink0”获得消息 #134(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)4079921160, stream-time=(guint64)4079921160, timestamp=(guint64)4079921160, duration=(guint64)8333333, jitter=(gint64)16016092, proportion=(double)0.89568960728142366, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)53, dropped=(guint64)19;
从组件“kmssink0”获得消息 #138(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)4199933655, stream-time=(guint64)4199933655, timestamp=(guint64)4199933655, duration=(guint64)8333333, jitter=(gint64)14339132, proportion=(double)0.88354378787654386, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)55, dropped=(guint64)20;
从组件“kmssink0”获得消息 #143(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)4359921260, stream-time=(guint64)4359921260, timestamp=(guint64)4359921260, duration=(guint64)8333333, jitter=(gint64)21388402, proportion=(double)0.86848288659772799, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)58, dropped=(guint64)21;
^Chandling interrupt.
从组件“pipeline0”获得消息 #146(application): GstLaunchInterrupt, message=(string)"Pipeline\ interrupted";
中断: 中止管道 ...
Execution ended after 0:00:04.536596065
设置 NULL 管道 ...
[   92.130539] nvp6188 1-0030: s_stream: 0. 1280x720
释放管道资源 ...






root@AM62x:~# gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=640, height=480 ! kmssink driver-name=tidss
[  112.530468] nvp6188 1-0030: nvp6188_open
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
/GstPipeline:pipel[  112.555704] nvp6188 1-0030: s_stream: 1. 1280x720
ine0/GstKMSSink:kmssink0: display-height = 800
管道被 PREROLLED ...
设置播放管道 ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:16:1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:16:1
/GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:16:1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:16:1
[  113.319042] nvp6188 1-0030: read vfc 0x21 0xff 0xff 0xff
[  113.322479] nvp6188 1-0030: channel 0 det 720p pal
[  113.325582] nvp6188 1-0030: channel 1 not detect, def 1080p pal
[  113.328686] nvp6188 1-0030: channel 2 not detect, def 1080p pal
[  113.331779] nvp6188 1-0030: channel 3 not detect, def 1080p pal
[  113.331793] nvp6188 1-0030: nv6188_set_chn_1080p ch 3 ntpal 1
[  113.374047] nvp6188 1-0030: nv6188_set_chn_1080p ch 2 ntpal 1
[  113.416190] nvp6188 1-0030: nv6188_set_chn_1080p ch 1 ntpal 1
[  113.458283] nvp6188 1-0030: nv6188_set_chn_720p ch 0 ntpal 1
重新分配延迟时间...9.
^Chandling interrupt.
[  117.132526] nvp6188 1-0030: s_stream: 0. 1280x720
中断: 中止管道 ...
Execution ended after 0:00:04.581424855
设置 NULL 管道 ...
释放管道资源 ...




root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=640, height=480 ! kmssink driver-name=tidss
[  134.563520] nvp6188 1-0030: nvp6188_open
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280[  134.587397] nvp6188 1-0030: s_stream: 1. 1280x720

/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 800
管道被 PREROLLED ...
设置播放管道 ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:16:1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:16:1
/GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:16:1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:16:1
[  135.332079] nvp6188 1-0030: read vfc 0x21 0xff 0xff 0xff
[  135.335448] nvp6188 1-0030: channel 0 det 720p pal
[  135.338574] nvp6188 1-0030: channel 1 not detect, def 1080p pal
[  135.341668] nvp6188 1-0030: channel 2 not detect, def 1080p pal
[  135.344693] nvp6188 1-0030: channel 3 not detect, def 1080p pal
[  135.344701] nvp6188 1-0030: nv6188_set_chn_1080p ch 3 ntpal 1
[  135.386749] nvp6188 1-0030: nv6188_set_chn_1080p ch 2 ntpal 1
[  135.428915] nvp6188 1-0030: nv6188_set_chn_1080p ch 1 ntpal 1
[  135.471134] nvp6188 1-0030: nv6188_set_chn_720p ch 0 ntpal 1
0:00:01.023507300  1092 0xaaaaddbee800 WARN          v4l2bufferpool gstv4l2bufferpool.c:1373:gst_v4l2_buffer_pool_dqbuf:<v4l2src0:pool0:src> Driver should never set v4l2_buffer.field to ANY
重新分配延迟时间...
^Chandling interrupt.
中断: 中止管道 ...
Execution ended after 0:00:04.289882635
设置 NULL 管道 ...
[  138.909449] nvp6188 1-0030: s_stream: 0. 1280x720
释放管道资源 ...




root@AM62x:~# gst-launch-1.0 -m -vvv v4l2src device="/dev/video0" ! video/x-raw, width=640, height=480 ! kmssink driver-name=tidss
[  160.481189] nvp6188 1-0030: nvp6188_open
设置暂停管道 ...
管道正在使用且不需要 PREROLL ...
从组件“kmssink0”获得消息 #9(property-notify):[  160.505755] nvp6188 1-0030: s_stream: 1. 1280x720
 GstMessagePropertyNotify, property-name=(string)display-width, property-value=(int)1280;
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
从组件“kmssink0”获得消息 #10(property-notify): GstMessagePropertyNotify, property-name=(string)display-height, property-value=(int)800;
/GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 800
从组件“kmssink0”获得消息 #11(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
从组件“capsfilter0”获得消息 #12(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
从组件“v4l2src0”获得消息 #13(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
从组件“pipeline0”获得消息 #14(state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)paused;
从组件“capsfilter0”获得消息 #16(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
从填充“v4l2src0:src”获得消息 #19(stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)create, owner=(GstElement)"\(GstV4l2Src\)\ v4l2src0", object=(GstTask)"\(GstTask\)\ v4l2src0:src";
从组件“v4l2src0”获得消息 #20(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
从填充“v4l2src0:src”获得消息 #22(stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)enter, owner=(GstElement)"\(GstV4l2Src\)\ v4l2src0", object=(GstTask)"\(GstTask\)\ v4l2src0:src";
从组件“pipeline0”获得消息 #21(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
管道被 PREROLLED ...
设置播放管道 ...
从组件“pipeline0”获得消息 #23(stream-start): GstMessageStreamStart, group-id=(uint)1;
从填充“v4l2src0:src”获得消息 #27(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)640\,\ height\=\(int\)480\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)2:4:16:1";
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:16:1
从填充“capsfilter0:src”获得消息 #29(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)640\,\ height\=\(int\)480\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)2:4:16:1";
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:16:1
从填充“kmssink0:sink”获得消息 #30(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)640\,\ height\=\(int\)480\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)2:4:16:1";
/GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:16:1
从填充“capsfilter0:sink”获得消息 #31(property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"video/x-raw\,\ width\=\(int\)640\,\ height\=\(int\)480\,\ format\=\(string\)YUY2\,\ framerate\=\(fraction\)120/1\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)2:4:16:1";
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:16:1
从组件“pipeline0”获得消息 #32(new-clock): GstMessageNewClock, clock=(GstClock)"\(GstSystemClock\)\ GstSystemClock";
New clock: GstSystemClock
从组件“capsfilter0”获得消息 #34(state-changed): GstMessageStateChanged, old-state=(GstState)paused, new-state=(GstState)playing, pending-state=(GstState)void-pending;
从组件“v4l2src0”获得消息 #35(state-changed): GstMessageStateChanged, old-state=(GstState)paused, new-state=(GstState)playing, pending-state=(GstState)void-pending;
[  161.258239] nvp6188 1-0030: read vfc 0x21 0xff 0xff 0xff
[  161.261463] nvp6188 1-0030: channel 0 det 720p pal
[  161.264593] nvp6188 1-0030: channel 1 not detect, def 1080p pal
[  161.267699] nvp6188 1-0030: channel 2 not detect, def 1080p pal
[  161.270878] nvp6188 1-0030: channel 3 not detect, def 1080p pal
[  161.270886] nvp6188 1-0030: nv6188_set_chn_1080p ch 3 ntpal 1
[  161.312962] nvp6188 1-0030: nv6188_set_chn_1080p ch 2 ntpal 1
[  161.355146] nvp6188 1-0030: nv6188_set_chn_1080p ch 1 ntpal 1
[  161.397260] nvp6188 1-0030: nv6188_set_chn_720p ch 0 ntpal 1
从组件“kmssink0”获得消息 #38(state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
从组件“pipeline0”获得消息 #40(async-done): GstMessageAsyncDone, running-time=(guint64)18446744073709551615;
从组件“kmssink0”获得消息 #41(latency): no message details
重新分配延迟时间...
从组件“kmssink0”获得消息 #44(state-changed): GstMessageStateChanged, old-state=(GstState)paused, new-state=(GstState)playing, pending-state=(GstState)void-pending;
从组件“pipeline0”获得消息 #45(state-changed): GstMessageStateChanged, old-state=(GstState)paused, new-state=(GstState)playing, pending-state=(GstState)void-pending;
从组件“kmssink0”获得消息 #46(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)938440550, stream-time=(guint64)938440550, timestamp=(guint64)938440550, duration=(guint64)8333333, jitter=(gint64)54108347, proportion=(double)-1, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)1, dropped=(guint64)1;
从组件“kmssink0”获得消息 #51(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)1116633115, stream-time=(guint64)1116633115, timestamp=(guint64)1116633115, duration=(guint64)8333333, jitter=(gint64)56947742, proportion=(double)777.67874569344656, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)4, dropped=(guint64)2;
从组件“kmssink0”获得消息 #53(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)1156630480, stream-time=(guint64)1156630480, timestamp=(guint64)1156630480, duration=(guint64)8333333, jitter=(gint64)17094482, proportion=(double)2.6162870561319531, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)4, dropped=(guint64)3;
从组件“kmssink0”获得消息 #58(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)1356636650, stream-time=(guint64)1356636650, timestamp=(guint64)1356636650, duration=(guint64)8333333, jitter=(gint64)14651382, proportion=(double)1.6413509200477527, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)7, dropped=(guint64)4;
从组件“kmssink0”获得消息 #63(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)1516635650, stream-time=(guint64)1516635650, timestamp=(guint64)1516635650, duration=(guint64)8333333, jitter=(gint64)20939482, proportion=(double)1.2157563764350099, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)10, dropped=(guint64)5;
从组件“kmssink0”获得消息 #69(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)1756645495, stream-time=(guint64)1756645495, timestamp=(guint64)1756645495, duration=(guint64)8333333, jitter=(gint64)56873622, proportion=(double)1.104817523086367, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)14, dropped=(guint64)6;
从组件“kmssink0”获得消息 #71(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)1796634460, stream-time=(guint64)1796634460, timestamp=(guint64)1796634460, duration=(guint64)8333333, jitter=(gint64)17041667, proportion=(double)1.1163862675074891, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)14, dropped=(guint64)7;
从组件“kmssink0”获得消息 #76(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)1996647290, stream-time=(guint64)1996647290, timestamp=(guint64)1996647290, duration=(guint64)8333333, jitter=(gint64)13856017, proportion=(double)0.96500711663782934, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)17, dropped=(guint64)8;
从组件“kmssink0”获得消息 #81(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)2156652140, stream-time=(guint64)2156652140, timestamp=(guint64)2156652140, duration=(guint64)8333333, jitter=(gint64)20092102, proportion=(double)0.93601643318637529, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)20, dropped=(guint64)9;
从组件“kmssink0”获得消息 #87(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)2396654120, stream-time=(guint64)2396654120, timestamp=(guint64)2396654120, duration=(guint64)8333333, jitter=(gint64)16243727, proportion=(double)0.92315706014469012, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)24, dropped=(guint64)10;
从组件“kmssink0”获得消息 #91(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)2516658295, stream-time=(guint64)2516658295, timestamp=(guint64)2516658295, duration=(guint64)8333333, jitter=(gint64)14680797, proportion=(double)0.89782682638199696, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)26, dropped=(guint64)11;
从组件“kmssink0”获得消息 #96(qos): GstMessageQOS, live=(boolean)true, running-time=(guint64)2676655435, stream-time=(guint64)2676655435, timestamp=(guint64)2676655435, duration=(guint64)8333333, jitter=(gint64)20885077, proportion=(double)0.87842984631932786, quality=(int)1000000, format=(GstFormat)buffers, processed=(guint64)29, dropped=(guint64)12;
从组件“kmssink0”获得消息 #102(qos): GstMessageQ^Chandling interrupt.
从组件“pipeline0”获得消息 #106[  163.506208] nvp6188 1-0030: s_stream: 0. 1280x720
(application): GstLaunchInterrupt, message=(string)"Pipeline\ interrupted";
中断: 中止管道 ...
Execution ended after 0:00:03.003976665
设置 NULL 管道 ...
释放管道资源 ...

I would like to ask what caused this problem and how to solve it?

Regards,
Li

  • Hello Li,

    Thanks for the detailed log. 

    Execute the following command:

    After you ran those "media-ctl" commands, what's the output of "medai-ctl -p"?

    Also, can you try to use Gstreamer again after running the above commands? We have another customer who had similar experience as yours. Please take a look at this thread and look at the last few posts.

    Regards,

    Jianzhong

  • Hello Jianzhong,

    I executed the command again and the captured logs are as follows:

    root@AM62x:~# media-ctl -p
    Media controller API version 6.6.58[   88.569818] nvp6188 1-0030: nvp6188_open
    
    
    Media device information
    ------------------------
    driver  [   88.569880] nvp6188 1-0030: nvp6188_get_fmt: 2006 1280x720 vc 0
            j721e-csi2rx
    model           TI-CSI2RX
    serial
    bus info        platform:30102000.ticsi2rx
    hw revision     0x1
    driver version  6.6.58
    
    Device topology
    - entity 1: 30102000.ticsi2rx (5 pads, 5 links)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            pad0: Sink
                    [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: Source
                    [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                    -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
            pad2: Source
                    -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
            pad3: Source
                    -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
            pad4: Source
                    -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
    
    - entity 7: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev1
            pad0: Sink
                    [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                    <- "m00_b_nvp6188 1-0030":0 [ENABLED,IMMUTABLE]
            pad1: Source
                    [fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: Source
            pad3: Source
            pad4: Source
    
    - entity 13: m00_b_nvp6188 1-0030 (1 pad, 1 link)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            pad0: Source
                    [fmt:UYVY8_2X8/1280x720@10000/250000 field:none]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
    
    - entity 19: 30102000.ticsi2rx context 0 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video0
            pad0: Sink
                    <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]
    
    - entity 25: 30102000.ticsi2rx context 1 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video1
            pad0: Sink
                    <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]
    
    - entity 31: 30102000.ticsi2rx context 2 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video2
            pad0: Sink
                    <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]
    
    - entity 37: 30102000.ticsi2rx context 3 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video3
            pad0: Sink
                    <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]
    
    
    
    
    root@AM62x:~# media-ctl -V '"m00_b_nvp6188 1-0030":0 [fmt:UYVY8_1X16/1280x720 field:none]'
    [   93.997148] nvp6188 1-0030: nvp6188_open
    [   93.997250] nvp6188 1-0030: mipi_freq_idx 0
    [   93.997256] nvp6188 1-0030: pixel_rate 729000000
    
    
    root@AM62x:~# media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0 [fmt:UYVY8_1X16/1280x720 field:none]'
    
    
    root@AM62x:~# media-ctl -V '"30102000.ticsi2rx":0 [fmt:UYVY8_1X16/1280x720 field:none]'
    
    
    root@AM62x:~# media-ctl -p
    Media controller API version 6.6.58[  109.643963] nvp6188 1-0030: nvp6188_open
    
    
    Media device information
    ------------------------
    driver  [  109.644015] nvp6188 1-0030: nvp6188_get_fmt: 2006 1280x720 vc 0
            j721e-csi2rx
    model           TI-CSI2RX
    serial
    bus info        platform:30102000.ticsi2rx
    hw revision     0x1
    driver version  6.6.58
    
    Device topology
    - entity 1: 30102000.ticsi2rx (5 pads, 5 links)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            pad0: Sink
                    [fmt:UYVY8_1X16/1280x720 field:none]
                    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: Source
                    [fmt:UYVY8_1X16/1280x720 field:none]
                    -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
            pad2: Source
                    -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
            pad3: Source
                    -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
            pad4: Source
                    -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
    
    - entity 7: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev1
            pad0: Sink
                    [fmt:UYVY8_1X16/1280x720 field:none]
                    <- "m00_b_nvp6188 1-0030":0 [ENABLED,IMMUTABLE]
            pad1: Source
                    [fmt:UYVY8_1X16/1280x720 field:none]
                    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: Source
            pad3: Source
            pad4: Source
    
    - entity 13: m00_b_nvp6188 1-0030 (1 pad, 1 link)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            pad0: Source
                    [fmt:UYVY8_2X8/1280x720@10000/250000 field:none]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
    
    - entity 19: 30102000.ticsi2rx context 0 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video0
            pad0: Sink
                    <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]
    
    - entity 25: 30102000.ticsi2rx context 1 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video1
            pad0: Sink
                    <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]
    
    - entity 31: 30102000.ticsi2rx context 2 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video2
            pad0: Sink
                    <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]
    
    - entity 37: 30102000.ticsi2rx context 3 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video3
            pad0: Sink
                    <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]
    
    
    
    
    root@AM62x:~# gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! kmssink driver-name=tidss
    [  117.378123] nvp6188 1-0030: nvp6188_open
    [  117.837531] nvp6188 1-0030: nvp6188_open
    设置暂停管道 ...
    管道正在使用且不需要 PREROLL ...
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 800
    管道被 PREROLLED ...
    设置播放管道 ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipel[  117.897498] j721e-csi2rx 30102000.ticsi2rx: Cannot transform "30102000.ticsi2rx":1 format UYVY little-endian (0x59565955) to YUYV little-endian (0x56595559)
    ine0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
    额外的调试信息:
    ../sys/v4l2/gstv4l2src.c(759): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    Execution ended after 0:00:00.056042450
    设置 NULL 管道 ...
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    释放管道资源 ...
    
    
    
    
    
    
    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! kmssink driver-name=tidss
    [  137.537012] nvp6188 1-0030: nvp6188_open
    设置暂停管道 ...
    管道正在使用且不需要 PREROLL ...
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 800
    管道被 PREROLLED ...
    设置播放管道 ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(str[  137.589554] j721e-csi2rx 30102000.ticsi2rx: Cannot transform "30102000.ticsi2rx":1 format UYVY little-endian (0x59565955) to YUYV little-endian (0x56595559)
    ing)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    0:00:00.128752615   890 0xaaaad705d800 ERROR         v4l2bufferpool gstv4l2bufferpool.c:706:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
    0:00:00.144877050   890 0xaaaad705d800 ERROR             bufferpool gstbufferpool.c:556:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
    0:00:00.145371965   890 0xaaaad705d800 WARN                 v4l2src gstv4l2src.c:759:gst_v4l2src_decide_allocation:<v4l2src0> error: 分配请求的内存失败。
    0:00:00.145422930   890 0xaaaad705d800 WARN                 v4l2src gstv4l2src.c:759:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
    额外的调试信息:
    ../sys/v4l2/gstv4l2src.c(759): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    0:00:00.145776450   890 0xaaaad705d800 WARN                 basesrc gstbasesrc.c:3347:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
    0:00:00.145861525   890 0xaaaad705d800 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
    Execution ended after 0:00:00.051509035
    0:00:00.145898320   890 0xaaaad705d800 WARN                 basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    设置 NULL 管道 ...
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    释放管道资源 ...
    


    Regards,
    Li

  • Hi Li,

    Thanks for providing the logs. The log shows Gstreamer expects YUY2 (or YUYV) as the input format:

    caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)YUY2.

    Please try the following:

    gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720, format=UYVY ! kmssink driver-name=tidss force-modesetting=true

    Regards,

    Jianzhong

  • Hi Jianzhong,
    The logs obtained using the above command are as follows:

    root@AM62x:~# gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720, format=UYVY ! kmssink driver-name=tidss force-modesetting=true
    [10010.039729] nvp6188 1-0030: nvp6188_open
    [10010.484989] nvp6188 1-0030: nvp6188_open
    设置暂停管道 ...
    错误:来自组件 /GstPipeline:pipeline0/GstKMSSink:kmssink0:Could not open DRM module tidss force-modesetting=true
    额外的调试信息:
    ../sys/kms/gstkmssink.c(1160): gst_kms_sink_start (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    reason: No such file or directory (2)
    错误: 管道不需要 preroll.
    错误:来自组件 /GstPipeline:pipeline0/GstKMSSink:kmssink0:Gstreamer 错误:改变状态时失败,并且一些组件无法提供有关错误原因的信息。
    额外的调试信息:
    ../libs/gst/base/gstbasesink.c(5881): gst_base_sink_change_state (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    Failed to start
    错误: 管道不需要 preroll.
    将管道设为暂停状态失败。
    设置 NULL 管道 ...
    释放管道资源 ...
    

    The log after adding GST_deBUG=3 is as follows:

    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720, format=UYVY ! kmssink driver-name=tidss force-modesetting=true
    [   48.325336] nvp6188 1-0030: nvp6188_open
    [   48.486620] nvp6188 1-0030: nvp6188_open
    0:00:00.378008025   967 0xaaaadb9ea470 WARN                 kmssink gstkmssink.c:2101:_validate_and_set_external_fd:<kmssink0> Can't set fd... driver-name already set.
    设置暂停管道 ...
    0:00:00.702005890   967 0xaaaadb9ea470 WARN                 kmssink gstkmssink.c:1160:gst_kms_sink_start:<kmssink0> error: Could not open DRM module tidss force-modesetting=true
    0:00:00.702146650   967 0xaaaadb9ea470 WARN                 kmssink gstkmssink.c:1160:gst_kms_sink_start:<kmssink0> error: reason: No such file or directory (2)
    错误:来自组件 /GstPipeline:pipeline0/GstKMSSink:kmssink0:Could not open DRM module tidss force-modesetting=true
    额外的调试信息:
    ../sys/kms/gstkmssink.c(1160): gst_kms_sink_start (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    reason: No such file or directory (2)
    错误: 管道不需要 preroll.
    0:00:00.702532515   967 0xaaaadb9ea470 WARN                basesink gstbasesink.c:5881:gst_base_sink_change_state:<kmssink0> error: Failed to start
    错误:来自组件 /GstPipeline:pipeline0/GstKMSSink:kmssink0:Gstreamer 错误:改变状态时失败,并且一些组件无法提供有关错误原因的信息。
    额外的调试信息:
    ../libs/gst/base/gstbasesink.c(5881): gst_base_sink_change_state (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    Failed to start
    错误: 管道不需要 preroll.
    将管道设为暂停状态失败。
    设置 NULL 管道 ...
    释放管道资源 ...
    

    Regards,
    Li

  • Hi Li,

    The command I provided to you works fine on my setup:

    root@am62xx-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720,format=UYVY ! kmssink driver-name=tidss force-modesetting=true
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1920
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 1080
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    Redistribute latency...
    0:00:01.8 / 99:99:99.
    

    Can you try the same command but without "force-modesetting=true"? It should work too.

    You can also try a few things:

    1. use a fakesink to see if the capture works:

    gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720,format=UYVY ! fakesink

    2. use video test source to see if your display works fine, for example:

    gst-launch-1.0 videotestsrc ! video/x-raw,width=1280,height=720,format=UYVY ! kmssink driver-name=tidss

    3. use waylandsink:

    gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720,format=UYVY ! videoconvert ! video/x-raw,width=1280,height=720,format=NV12 ! waylandsink
    You'll need to convert UYVY to NV12 in order to use waylandsink, but that will slow down the pipeline.

    Please try these and see if any works.

    Thank you.

    Jianzhong

  • Hi Jianzhong,

    1. use a fakesink to see if the capture works:

    The corresponding test logs are as follows:

    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720,format=UYVY ! fakesink
    [   75.672632] nvp6188 1-0030: nvp6188_open
    设置暂停管道 ...
    管道正在使用且不需要 PREROLL ...
    0:00:00.086575655   988 0xffffa4000b90 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    管道被 PREROLLED ...
    设置播放管道 ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilte[   75.736016] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 640, sink 1280)
    r0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    0:00:00.087835280   988 0xffffa4000b90 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    0:00:00.131010175   988 0xffffa4000b90 WARN          v4l2bufferpool gstv4l2bufferpool.c:850:gst_v4l2_buffer_pool_start:<v4l2src0:pool0:src> Uncertain or not enough buffers, enabling copy threshold
    0:00:00.136021705   988 0xffffa4000b90 ERROR         v4l2bufferpool gstv4l2bufferpool.c:714:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
    0:00:00.145408265   988 0xffffa4000b90 ERROR             bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
    0:00:00.145938060   988 0xffffa4000b90 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: 分配请求的内存失败。
    0:00:00.145987645   988 0xffffa4000b90 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
    额外的调试信息:
    ../sys/v4l2/gstv4l2src.c(949): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    0:00:00.146332445   988 0xffffa4000b90 WARN                 basesrc gstbasesrc.c:3352:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
    0:00:00.146430825   988 0xffffa4000b90 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
    Execution ended after 0:00:00.059289760
    0:00:00.146473470   988 0xffffa4000b90 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    设置 NULL 管道 ...
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    释放管道资源 ...
    

    2. use video test source to see if your display works fine, for example:

    The corresponding test logs are as follows:

    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 videotestsrc ! video/x-raw,width=1280,height=720,format=UYVY ! kmssink driver-name=tidss
    0:00:00.071000375   980 0xaaaac6a8dfb0 WARN                 kmssink gstkmssink.c:2101:_validate_and_set_external_fd:<kmssink0> Can't set fd... driver-name already set.
    设置暂停管道 ...
    管道正在 PREROLLING ...
    0:00:00.077256610   980 0xffff80000b70 FIXME                default gstutils.c:4036:gst_pad_create_stream_id_internal:<videotestsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
    管道被 PREROLLED ...
    设置播放管道 ...
    重新分配延迟时间...9.
    New clock: GstSystemClock
    ^Chandling interrupt.
    中断: 中止管道 ...
    Execution ended after 0:00:06.737460690
    设置 NULL 管道 ...
    释放管道资源 ...
    
    

    The screen display is as follows:

    3. use waylandsink:

    The corresponding test logs are as follows:

    root@AM62x:~# gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720,format=UYVY ! videoconvert ! video/x-raw,width=1280,height=720,format=NV12 ! waylandsink
    [  210.031780] nvp6188 1-0030: nvp6188_open
    [  210.188543] nvp6188 1-0030: nvp6188_open
    设置暂停管道 ...
    
    (gst-launch-1.0:987): GStreamer-Wayland-WARNING **: 23:52:59.383: Could not bind to zwp_linux_dmabuf_v1
    管道正在使用且不需要 PREROLL ...
    管道被 PREROLLED ...
    设置播放管道 ...
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    错误: 管道不需要 preroll.
    Execution ended after 0:00:00.000578935
    设置 NULL 管道 ...
    释放管道资源 ...

    Execute the following command:

    GST_DEBUG=3 gst-launch-1.0 v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! waylandsink

    The corresponding test logs are as follows:

    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! waylandsink
    [  225.506818] nvp6188 1-0030: nvp6188_open
    设置暂停管道 ...
    
    (gst-launch-1.0:993): GStreamer-Wayland-WARNING **: 23:53:14.681: Could not bind to zwp_linux_dmabuf_v1
    管道正在使用且不需要 PREROLL ...
    0:00:00.090933180   993 0xffffb0000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    管道被 PREROLLED ...
    设置播放管道 ...
    New clock: GstSystemClock
    0:00:00.092947535   993 0xffffb0000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_cr[  225.572345] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 640, sink 1280)
    op_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    0:00:00.137756185   993 0xffffb0000b70 ERROR         v4l2bufferpool gstv4l2bufferpool.c:714:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
    0:00:00.147744780   993 0xffffb0000b70 ERROR             bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
    0:00:00.149392065   993 0xffffb0000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: 分配请求的内存失败。
    0:00:00.149492030   993 0xffffb0000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
    额外的调试信息:
    ../sys/v4l2/gstv4l2src.c(949): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    0:00:00.149901175   993 0xffffb0000b70 WARN                 basesrc gstbasesrc.c:3352:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
    0:00:00.149998385   993 0xffffb0000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
    Execution ended after 0:00:00.058342305
    0:00:00.150035405   993 0xffffb0000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    设置 NULL 管道 ...
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    释放管道资源 ...
    



    Regards,
    Li

  • Hi Li,

    Thanks for doing these tests. 

    I think I found the problem. Your sensor format is configured to be UYVY8_2X8 but the CSI2 Rx driver is configured to UYVY8_1X16:

    - entity 13: m00_b_nvp6188 1-0030 (1 pad, 1 link)
    type V4L2 subdev subtype Sensor flags 0
    device node name /dev/v4l-subdev2
    pad0: Source
    [fmt:UYVY8_2X8/1280x720@10000/250000 field:none]
    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]

    UYVY8_2X8 is not supported by the CSI2 Rx driver after 8.6. You'll need to modify your sensor driver to send raw images in UYVY8_1X16 format.

    Regards,

    Jianzhong

  • Hi Jianzhong,

    UYVY8_2X8 is not supported by the CSI2 Rx driver after 8.6


    If only the UYVY8_1X16 format is supported, then the formats supported by the CSI controller are too limited.

    You'll need to modify your sensor driver to send raw images in UYVY8_1X16 format

    I consulted the nvp6188 sensor manufacturer, and their response is that this chip only supports outputting UYVY8_2X8 format and does not support outputting UYVY8_1X16 format.

    Can you modify the CSI2 Rx driver? This makes the compatibility of the CSI2 RX driver much better, and it can support UYVY8_2X8.
    Regards,
    Li

  • Hi Li,

    We currently don't have a plan to add that support. Please check an earlier version of the CSI driver which supported UYVY8_2X8: 

    https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/media/platform/ti-vpe/ti-csi2rx.c?h=ti-linux-5.4.y

    Regards,

    Jianzhong

  • Hi Jianzhong

    I think it doesn't make sense that SDK10.0 cannot support UYUY8_2X8, we always suggest customer upgrade the SDK version, now customer want to change their SDK version from SDK8.6 to SDK10.0, we need BU give this patch for customer as soon as possible.

    Best regards

    Ethan

  • Hello Ethan,

    CSI is a serial bus, but UYVY8_2X8 is a format for parallel bus. That's why the CSI Rx driver removed the support for UYVY8_2X8. 

    I believe your customer can simply add UYVY8_1X16 to the sensor driver, similar to this: https://lore.kernel.org/all/20210618075933.915202-1-xavier.roumegue@oss.nxp.com/. This should work because UYVY8_2X8 and UYVY8_1X16 are actually the same when sending on a serial bus.

    Regards,

    Jianzhong

  • Hi Li,

    Can you try the workaround that I mentioned above? An alternative is to add the support for UYVY8_2X8 in CSI2 Rx driver. Can you try to add the following to https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c?h=ti-linux-6.1.y#n138?

    	{
    		.fourcc			= V4L2_PIX_FMT_YUYV,
    		.code			= MEDIA_BUS_FMT_UYVY8_2X8,
    		.csi_dt			= MIPI_CSI2_DT_YUV422_8B,
    		.bpp			= 16,
    		.size			= SHIM_DMACNTX_SIZE_8,
    	},

    Thank you.

    Jianzhong

  • Hi Jianzhong,

    In actual testing, it still doesn't work.

    I believe your customer can simply add UYVY8_1X16 to the sensor driver, similar to this: https://lore.kernel.org/all/20210618075933.915202-1-xavier.roumegue@oss.nxp.com/. This should work because UYVY8_2X8 and UYVY8_1X16 are actually the same when sending on a serial bus.

    The log output during testing is as follows:

    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! kmssink driver-name=tidss
    [   67.821682] nvp6188 1-0030: nvp6188_open
    0:00:00.084257470   983 0xaaab218ad380 WARN                 kmssink gstkmssink.c:2101:_validate_and_set_external_fd:<kmssink0> Can't set fd... driver-name already set.
    设置暂停管道 ...
    管道正在使用且不需要 PREROLL ...
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
    0:00:00.091360765   983 0xffff94000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 800
    管道被 PREROLLED ...
    设置播放管道 ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4[   67.891226] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 640, sink 1280)
    l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    /GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    0:00:00.093914070   983 0xffff94000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    0:00:00.142282975   983 0xffff94000b70 ERROR         v4l2bufferpool gstv4l2bufferpool.c:714:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
    0:00:00.153965300   983 0xffff94000b70 ERROR             bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
    0:00:00.154377370   983 0xffff94000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: 分配请求的内存失败。
    0:00:00.154429685   983 0xffff94000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
    额外的调试信息:
    ../sys/v4l2/gstv4l2src.c(949): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    0:00:00.154830145   983 0xffff94000b70 WARN                 basesrc gstbasesrc.c:3352:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
    Execution ended after 0:00:00.063188200
    0:00:00.154917515   983 0xffff94000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
    0:00:00.154967395   983 0xffff94000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_l设置 NULL 管道 ...
    oop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    释放管道资源 ...
    
    
    
    
    
    
    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=640, height=480 ! kmssink driver-name=tidss
    [  104.206701] nvp6188 1-0030: nvp6188_open
    0:00:00.084152860   995 0xaaaad3621380 WARN                 kmssink gstkmssink.c:2101:_validate_and_set_external_fd:<kmssink0> Can't set fd... driver-name already set.
    设置暂停管道 ...
    管道正在使用且不需要 PREROLL ...
    0:00:00.090815155   995 0xffffa0000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-[  104.260621] j721e-csi2rx 30102000.ticsi2rx: Cannot transform "30102000.ticsi2rx":1 format UYVY little-endian (0x59565955) to XR24 little-endian (0x34325258)
    width = 1280
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 800
    管道被 PREROLLED ...
    设置播放管道 ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    /GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    0:00:00.093534945   995 0xffffa0000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    0:00:00.126579595   995 0xffffa0000b70 ERROR         v4l2bufferpool gstv4l2bufferpool.c:714:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
    0:00:00.142978445   995 0xffffa0000b70 ERROR             bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
    0:00:00.143437710   995 0xffffa0000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: 分配请求的内存失败。
    0:00:00.143487500   995 0xffffa0000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
    额外的调试信息:
    ../sys/v4l2/gstv4l2src.c(949): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    0:00:00.143866805   995 0xffffa0000b70 WARN                 basesrc gstbasesrc.c:3352:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
    0:00:00.143954105   995 0xffffa0000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_lExecution ended after 0:00:00.052150265
    oop:<v4l2src0> error: Internal data stream error.
    0:00:00.144007995   995 0xffffa0000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    设置 NULL 管道 ...
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    释放管道资源 ...
    
    
    
    
    
    
    
    
    
    
    
    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720, format=UYVY ! kmssink driver-name=tidss force-modesetting=true
    [  177.060213] nvp6188 1-0030: nvp6188_open
    0:00:00.085037990  1007 0xaaaaffe97db0 WARN                 kmssink gstkmssink.c:2101:_validate_and_set_external_fd:<kmssink0> Can't set fd... driver-name already set.
    设置暂停管道 ...
    0:00:00.406601945  1007 0xaaaaffe97db0 WARN                 kmssink gstkmssink.c:1160:gst_kms_sink_start:<kmssink0> error: Could not open DRM module tidss force-modesetting=true
    0:00:00.406811345  1007 0xaaaaffe97db0 WARN                 kmssink gstkmssink.c:1160:gst_kms_sink_start:<kmssink0> error: reason: No such file or directory (2)
    错误:来自组件 /GstPipeline:pipeline0/GstKMSSink:kmssink0:Could not open DRM module tidss force-modesetting=true
    额外的调试信息:
    ../sys/kms/gstkmssink.c(1160): gst_kms_sink_start (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    reason: No such file or directory (2)
    错误: 管道不需要 preroll.
    0:00:00.407197665  1007 0xaaaaffe97db0 WARN                basesink gstbasesink.c:5881:gst_base_sink_change_state:<kmssink0> error: Failed to start
    错误:来自组件 /GstPipeline:pipeline0/GstKMSSink:kmssink0:Gstreamer 错误:改变状态时失败,并且一些组件无法提供有关错误原因的信息。
    额外的调试信息:
    ../libs/gst/base/gstbasesink.c(5881): gst_base_sink_change_state (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    Failed to start
    错误: 管道不需要 preroll.
    将管道设为暂停状态失败。
    设置 NULL 管道 ...
    释放管道资源 ...
    
    
    
    
    
    
    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720,format=UYVY ! fakesink
    [  210.645377] nvp6188 1-0030: nvp6188_open
    设置暂停管道 ...
    管道正在使用且不需要 PREROLL ...
    0:00:00.087956915  1008 0xffff84000b90 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    管道被 PREROLLED ...
    设置播放管道 ...
    New clock: GstSystemClock
    0:00:00.089233920  1008 0xffff84000b90 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get[  210.694065] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 640, sink 1280)
    _crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    0:00:00.116825240  1008 0xffff84000b90 WARN          v4l2bufferpool gstv4l2bufferpool.c:850:gst_v4l2_buffer_pool_start:<v4l2src0:pool0:src> Uncertain or not enough buffers, enabling copy threshold
    0:00:00.121856210  1008 0xffff84000b90 ERROR         v4l2bufferpool gstv4l2bufferpool.c:714:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
    0:00:00.135311300  1008 0xffff84000b90 ERROR             bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
    0:00:00.135786100  1008 0xffff84000b90 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: 分配请求的内存失败。
    0:00:00.135836090  1008 0xffff84000b90 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
    额外的调试信息:
    ../sys/v4l2/gstv4l2src.c(949): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    0:00:00.136208365  1008 0xffff84000b90 WARN                 basesrc gstbasesrc.c:3352:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
    Execution ended after 0:00:00.047545815
    0:00:00.136295320  1008 0xffff84000b90 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
    0:00:00.136341610  1008 0xffff84000b90 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_l设置 NULL 管道 ...
    oop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    释放管道资源 ...
    
    
    
    
    
    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 videotestsrc ! video/x-raw,width=1280,height=720,format=UYVY ! kmssink driver-name=tidss
    0:00:00.077685900  1020 0xaaaae27f4fb0 WARN                 kmssink gstkmssink.c:2101:_validate_and_set_external_fd:<kmssink0> Can't set fd... driver-name already set.
    设置暂停管道 ...
    管道正在 PREROLLING ...
    0:00:00.083926360  1020 0xffffa4000b70 FIXME                default gstutils.c:4036:gst_pad_create_stream_id_internal:<videotestsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
    管道被 PREROLLED ...
    设置播放管道 ...
    重新分配延迟时间...
    New clock: GstSystemClock
    ^Chandling interrupt.
    中断: 中止管道 ...
    Execution ended after 0:00:02.188702180
    设置 NULL 管道 ...
    释放管道资源 ...
    
    
    
    
    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720,format=UYVY ! videoconvert ! video/x-raw,width=1280,height=720,format=NV12 ! waylandsink
    [  320.635690] nvp6188 1-0030: nvp6188_open
    设置暂停管道 ...
    
    (gst-launch-1.0:1059): GStreamer-Wayland-WARNING **: 23:21:59.833: Could not bind to zwp_linux_dmabuf_v1
    管道正在使用且不需要 PREROLL ...
    0:00:00.097789020  1059 0xffff8c000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    管道被 PREROLLED ...
    设置播放管道 ...
    0:00:00.098622050  1059 0xffff8c000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
    0:00:00.098678740  1059 0xffff8c000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    New clock: GstSystemClock
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Execution ended after 0:00:00.000810130
    设置 NULL 管道 ...
    释放管道资源 ...
    
    
    
    
    
    
    
    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! waylandsink
    [  338.541228] nvp6188 1-0030: nvp6188_open
    设置暂停管道 ...
    
    (gst-launch-1.0:1064): GStreamer-Wayland-WARNING **: 23:22:17.732: Could not bind to zwp_linux_dmabuf_v1
    管道正在使用且不需要 PREROLL ...
    管道被 PREROLLED ...
    设置播放管道 ...
    0:00:00.092560805  1064 0xffff94000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    New clock: GstSystemClock
    0:00:00.094520465  1064 0xffff94000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    [  338.610325] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 640, sink 1280)
    0:00:00.142048880  1064 0xffff94000b70 ERROR         v4l2bufferpool gstv4l2bufferpool.c:714:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
    0:00:00.153370905  1064 0xffff94000b70 ERROR             bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
    0:00:00.153810965  1064 0xffff94000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: 分配请求的内存失败。
    0:00:00.153853570  1064 0xffff94000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
    额外的调试信息:
    ../sys/v4l2/gstv4l2src.c(949): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    0:00:00.154230515  1064 0xffff94000b70 WARN                 basesrc gstbasesrc.c:3352:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
    Execution ended after 0:00:00.061739575
    0:00:00.154316265  1064 0xffff94000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_l设置 NULL 管道 ...
    oop:<v4l2src0> error: Internal data stream error.
    0:00:00.154473600  1064 0xffff94000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    释放管道资源 ...
    

    Can you try the workaround that I mentioned above? An alternative is to add the support for UYVY8_2X8 in CSI2 Rx driver. Can you try to add the following to https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c?h=ti-linux-6.1.y#n138?

    The log output during testing is as follows:

    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! kmssink driver-name=tidss
    [   78.157545] nvp6188 1-0030: nvp6188_open
    0:00:00.084715815   982 0xaaaaf4f8c3e0 WARN                 kmssink gstkmssink.c:2101:_validate_and_set_external_fd:<kmssink0> Can't set fd... driver-name already set.
    设置暂停管道 ...
    管道正在使用且不需要 PREROLL ...
    0:00:00.091245540   982 0xffff84000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1280
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: displa[   78.216247] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 640, sink 1280)
    y-height = 800
    管道被 PREROLLED ...
    设置播放管道 ...
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    /GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    0:00:00.093552230   982 0xffff84000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    0:00:00.131968500   982 0xffff84000b70 ERROR         v4l2bufferpool gstv4l2bufferpool.c:714:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
    0:00:00.143323035   982 0xffff84000b70 ERROR             bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
    0:00:00.143781820   982 0xffff84000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: 分配请求的内存失败。
    0:00:00.143830125   982 0xffff84000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
    额外的调试信息:
    ../sys/v4l2/gstv4l2src.c(949): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    0:00:00.144190080   982 0xffff84000b70 WARN                 basesrc gstbasesrc.c:3352:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
    Execution ended after 0:00:00.052037935
    0:00:00.144314945   982 0xffff84000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
    0:00:00.144367080   982 0xffff84000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_l设置 NULL 管道 ...
    oop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    释放管道资源 ...
    
    
    
    
    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=640, height=480 ! kmssink driver-name=tidss
    [   91.910842] nvp6188 1-0030: nvp6188_open
    0:00:00.084427870   994 0xaaaaf87cc3e0 WARN                 kmssink gstkmssink.c:2101:_validate_and_set_external_fd:<kmssink0> Can't set fd... driver-name already set.
    设置暂停管道 ...
    管道正在使用且不需要 PREROLL ...
    0:00:00.090918060   994 0xffffac000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-[   91.966587] j721e-csi2rx 30102000.ticsi2rx: Cannot transform "30102000.ticsi2rx":1 format UYVY little-endian (0x59565955) to XR24 little-endian (0x34325258)
    width = 1280
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 800
    管道被 PREROLLED ...
    设置播放管道 ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    /GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)BGRx, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)sRGB
    0:00:00.093401865   994 0xffffac000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    0:00:00.128303640   994 0xffffac000b70 ERROR         v4l2bufferpool gstv4l2bufferpool.c:714:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
    0:00:00.143270120   994 0xffffac000b70 ERROR             bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
    0:00:00.143709625   994 0xffffac000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: 分配请求的内存失败。
    0:00:00.143761380   994 0xffffac000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
    额外的调试信息:
    ../sys/v4l2/gstv4l2src.c(949): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    0:00:00.144141295   994 0xffffac000b70 WARN                 basesrc gstbasesrc.c:3352:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
    0:00:00.144230510   994 0xffffac000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_lExecution ended after 0:00:00.052454025
    oop:<v4l2src0> error: Internal data stream error.
    0:00:00.144278490   994 0xffffac000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    设置 NULL 管道 ...
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    释放管道资源 ...
    
    
    
    
    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -vvv v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720, format=UYVY ! kmssink driver-name=tidss force-modesetting=true
    [  100.725725] nvp6188 1-0030: nvp6188_open
    0:00:00.084289505  1006 0xaaab290047b0 WARN                 kmssink gstkmssink.c:2101:_validate_and_set_external_fd:<kmssink0> Can't set fd... driver-name already set.
    设置暂停管道 ...
    0:00:00.409920520  1006 0xaaab290047b0 WARN                 kmssink gstkmssink.c:1160:gst_kms_sink_start:<kmssink0> error: Could not open DRM module tidss force-modesetting=true
    0:00:00.410122240  1006 0xaaab290047b0 WARN                 kmssink gstkmssink.c:1160:gst_kms_sink_start:<kmssink0> error: reason: No such file or directory (2)
    错误:来自组件 /GstPipeline:pipeline0/GstKMSSink:kmssink0:Could not open DRM module tidss force-modesetting=true
    额外的调试信息:
    ../sys/kms/gstkmssink.c(1160): gst_kms_sink_start (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    reason: No such file or directory (2)
    错误: 管道不需要 preroll.
    0:00:00.410563785  1006 0xaaab290047b0 WARN                basesink gstbasesink.c:5881:gst_base_sink_change_state:<kmssink0> error: Failed to start
    错误:来自组件 /GstPipeline:pipeline0/GstKMSSink:kmssink0:Gstreamer 错误:改变状态时失败,并且一些组件无法提供有关错误原因的信息。
    额外的调试信息:
    ../libs/gst/base/gstbasesink.c(5881): gst_base_sink_change_state (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    Failed to start
    错误: 管道不需要 preroll.
    将管道设为暂停状态失败。
    设置 NULL 管道 ...
    释放管道资源 ...
    
    
    
    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720,format=UYVY ! fakesink
    [  125.920251] nvp6188 1-0030: nvp6188_open
    设置暂停管道 ...
    管道正在使用且不需要 PREROLL ...
    0:00:00.086301960  1007 0xffff98000b90 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    管道被 PREROLLED ...
    设置播放管道 ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerat[  125.969103] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 640, sink 1280)
    e=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    0:00:00.087954630  1007 0xffff98000b90 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1280, height=(int)720, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    0:00:00.115814050  1007 0xffff98000b90 WARN          v4l2bufferpool gstv4l2bufferpool.c:850:gst_v4l2_buffer_pool_start:<v4l2src0:pool0:src> Uncertain or not enough buffers, enabling copy threshold
    0:00:00.120888720  1007 0xffff98000b90 ERROR         v4l2bufferpool gstv4l2bufferpool.c:714:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
    0:00:00.134013505  1007 0xffff98000b90 ERROR             bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
    0:00:00.134446045  1007 0xffff98000b90 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: 分配请求的内存失败。
    0:00:00.134519455  1007 0xffff98000b90 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
    额外的调试信息:
    ../sys/v4l2/gstv4l2src.c(949): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    0:00:00.134923060  1007 0xffff98000b90 WARN                 basesrc gstbasesrc.c:3352:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
    0:00:00.135010120  1007 0xffff98000b90 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_lExecution ended after 0:00:00.047990505
    oop:<v4l2src0> error: Internal data stream error.
    0:00:00.135057050  1007 0xffff98000b90 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    设置 NULL 管道 ...
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    释放管道资源 ...
    
    
    
    
    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 videotestsrc ! video/x-raw,width=1280,height=720,format=UYVY ! kmssink driver-name=tidss
    0:00:00.070767875  1019 0xaaaaf0618000 WARN                 kmssink gstkmssink.c:2101:_validate_and_set_external_fd:<kmssink0> Can't set fd... driver-name already set.
    设置暂停管道 ...
    管道正在 PREROLLING ...
    0:00:00.076997305  1019 0xffffa8000b70 FIXME                default gstutils.c:4036:gst_pad_create_stream_id_internal:<videotestsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
    管道被 PREROLLED ...
    设置播放管道 ...
    重新分配延迟时间...9.
    New clock: GstSystemClock
    ^Chandling interrupt.
    中断: 中止管道 ...
    Execution ended after 0:00:02.029544020
    设置 NULL 管道 ...
    释放管道资源 ...
    
    
    
    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=720,format=UYVY ! videoconvert ! video/x-raw,width=1280,height=720,format=NV12 ! waylandsink
    [  174.164589] nvp6188 1-0030: nvp6188_open
    设置暂停管道 ...
    
    (gst-launch-1.0:1040): GStreamer-Wayland-WARNING **: 23:39:02.362: Could not bind to zwp_linux_dmabuf_v1
    管道正在使用且不需要 PREROLL ...
    0:00:00.103718995  1040 0xffff94000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    管道被 PREROLLED ...
    设置播放管道 ...
    0:00:00.104902060  1040 0xffff94000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_lNew clock: GstSystemClock
    oop:<v4l2src0> error: Internal data stream error.
    0:00:00.104989130  1040 0xffff94000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Execution ended after 0:00:00.000952770
    设置 NULL 管道 ...
    释放管道资源 ...
    
    
    
    
    root@AM62x:~# GST_DEBUG=3 gst-launch-1.0 v4l2src device="/dev/video0" ! video/x-raw, width=1280, height=720 ! waylandsink
    [  182.973385] nvp6188 1-0030: nvp6188_open
    设置暂停管道 ...
    
    (gst-launch-1.0:1045): GStreamer-Wayland-WARNING **: 23:39:11.165: Could not bind to zwp_linux_dmabuf_v1
    管道正在使用且不需要 PREROLL ...
    0:00:00.091245510  1045 0xffff84000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    管道被 PREROLLED ...
    设置播放管道 ...
    New clock: GstSystemClock
    0:00:00.093289425  1045 0xffff84000b70 WARN                    v4l2 gstv4l2object.c:4534:gst_v4l2_object_get_crop_rect:<v4l2src0:src> VIDIOC_CROPCAP failed
    [  183.042306] j721e-csi2rx 30102000.ticsi2rx: Width does not match (source 640, sink 1280)
    0:00:00.141056160  1045 0xffff84000b70 ERROR         v4l2bufferpool gstv4l2bufferpool.c:714:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 32 (Broken pipe)
    0:00:00.152628720  1045 0xffff84000b70 ERROR             bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed
    0:00:00.153072320  1045 0xffff84000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: 分配请求的内存失败。
    0:00:00.153117800  1045 0xffff84000b70 WARN                 v4l2src gstv4l2src.c:949:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:分配请求的内存失败。
    额外的调试信息:
    ../sys/v4l2/gstv4l2src.c(949): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    0:00:00.153539805  1045 0xffff84000b70 WARN                 basesrc gstbasesrc.c:3352:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation
    0:00:00.153631330  1045 0xffff84000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
    0:00:00.153665625  1045 0xffff84000b70 WARN                 basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
    Execution ended after 0:00:00.061709250
    设置 NULL 管道 ...
    错误:来自组件 /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:Internal data stream error.
    额外的调试信息:
    ../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    释放管道资源 ...
    

    Regards,
    Li

  • Hi Li,

    Thanks for the update. Would you mind sharing the "media-ctl -p" output?

    Regards,

    Jianzhong