IT6616 driver porting to Ubuntu 20.04

Hi, I try to port a non Ubutnu driver into Ubuntu env. I have modified the DT the best I could, and added the required L4T callback function. though I keep getting green screen upon Gstreamer invocation, hereafter the relevant portions of the DT and the dmesg during running the GStreamer

gst-launch-1.0 v4l2src device=/dev/video0 io-mode=2 ! video/x-raw,format=UYVY,width=1280,height=720 ! videoconvert ! xvimagesink

Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Setting pipeline to PLAYING …
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Output window was closed
Additional debug info:
xvimagesink.c(554): gst_xv_image_sink_handle_xevents (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0
Execution ended after 0:00:05.680428811
Setting pipeline to NULL …
Freeing pipeline …

hereafter the dmesg printpout:

[ 1975.179117] dummy 1-0056: it6616_s_stream(enable=1)
[ 1975.179522] dummy 1-0056: it6616_disable_mipi
[ 1975.180057] dummy 1-0056: before calc_pclk
[ 1975.287505] it6616 1-0048: PCLK = 72.115 MHz sump 153 retry 5
[ 1975.287518] dummy 1-0056: before get_video_info
[ 1975.297677] it6616 1-0048: ----- Video Timing -----
[ 1975.297689] it6616 1-0048: HActive = 1280
[ 1975.297696] it6616 1-0048: HTotal = 1980
[ 1975.297747] it6616 1-0048: VActive = 720
[ 1975.297754] it6616 1-0048: VTotal = 750
[ 1975.297760] it6616 1-0048: HFrontPorch = 438
[ 1975.297766] it6616 1-0048: HSyncWidth = 40
[ 1975.297772] it6616 1-0048: HBackPorch = 222
[ 1975.297804] it6616 1-0048: VFrontPorch = 6
[ 1975.297812] it6616 1-0048: VSyncWidth = 5
[ 1975.297818] it6616 1-0048: VBackPorch = 19
[ 1975.297824] it6616 1-0048: FrameRate = 48
[ 1975.297830] it6616 1-0048: ScanMode = Progressive
[ 1975.297836] it6616 1-0048: VSyncPol = Positive
[ 1975.297842] it6616 1-0048: HSyncPol = Positive
[ 1975.297848] it6616 1-0048: ---------------------------
[ 1975.297855] dummy 1-0056: after get_video_info: 1280x720 pclk=72115
[ 1975.297863] dummy 1-0056: set pixel_rate=72115000 Hz
[ 1975.297894] dummy 1-0056: before setup_csc
[ 1975.297900] it6616 1-0048: csc rgb2yuv
[ 1975.297907] it6616 1-0048: DEBUG: colorimetry=2, quantization=2
[ 1975.297913] it6616 1-0048: FORCED: Using ITU709 full range (0-255)
[ 1975.297919] it6616 1-0048: setup csc matrix: 3
[ 1975.304334] dummy 1-0056: before enable_mipi
[ 1975.304349] dummy 1-0056: MIPI_CSI
[ 1975.304356] dummy 1-0056: color space:CSI_YCbCr4228b
[ 1975.304401] dummy 1-0056: lan_num: 2, swap_pn: 0
[ 1975.304408] dummy 1-0056: swap_lan: 0, pclk_inv: 0
[ 1975.304415] dummy 1-0056: mclk_inv: 1, lpx_num: 3
[ 1975.304425] dummy 1-0056: mipi_get_bus_config = 17 (MIPI_CSI)
[ 1975.304435] dummy 1-0056: {2, 1E, 12, 67, 23 ,1}
[ 1975.304443] dummy 1-0056: prediv: 0x00, plldiv: 0x01
[ 1975.304453] dummy 1-0056: mclk_ns: 13.888 ns, mclk: 72 MHz, pclk: 72 MHz
[ 1975.304462] dummy 1-0056: mclk: 72000 KHz, mclk_inv: 1
[ 1975.304468] dummy 1-0056: set mclk_inv: 1
[ 1975.309440] dummy 1-0056: MIPI reg 0x21 = 0x10 (lanes=2, VC bits[7:6] should be 0)
[ 1975.310456] dummy 1-0056: MIPI reg 0x21 after VC fix = 0x10
[ 1975.310466] dummy 1-0056: set hs_prepare num: 0x01, hs_lpx num: 0x03
[ 1975.315295] dummy 1-0056: MIPI reg 0x21 = 0x10 (VC should be in bits 7:6)
[ 1975.420640] dummy 1-0056: hs_prepare_zero num: 0x1c, hs_trail num: 0x05, tx_csi_p2m_delay: 0x04, mipi CSI TX setting done !!!
[ 1975.420655] dummy 1-0056: trail_time: 80.0 ns, EOT time: 115.0 ns
[ 1975.421194] dummy 1-0056: MIPI CSI Data Type reg 0x20 = 0x1e (should be 0x1E)
[ 1975.421204] dummy 1-0056: mipi_tx_enable_continuous_clock!!!
[ 1975.529130] dummy 1-0056: it6616_enable_mipi
[ 1975.529142] dummy 1-0056: === MIPI TX Register Dump ===
[ 1975.529665] dummy 1-0056: 0x05 (reset/enable) = 0x00
[ 1975.530225] dummy 1-0056: 0x09 (status) = 0x48
[ 1975.530732] dummy 1-0056: 0x20 (data type) = 0x1e
[ 1975.531247] dummy 1-0056: 0x21 (lane/VC) = 0x10
[ 1975.531764] dummy 1-0056: 0x23 (timing) = 0x12
[ 1975.532269] dummy 1-0056: 0x44 (clock mode) = 0x0d
[ 1975.533228] dummy 1-0056: 0xB0 (PLL) = 0x01
[ 1975.533238] dummy 1-0056: =============================
[ 1975.533277] dummy 1-0056: it6616_enable_mipi
[ 1975.533283] dummy 1-0056: after enable_mipi
[ 1975.544101] dummy 1-0056: mipi tx Video Stable Change …
[ 1975.544116] dummy 1-0056: mipi tx reg09 = 0x48, video stable
[ 1975.870822] dummy 1-0056: mipi rclk = 23.743 MHz sum 2374316 retry 3
[ 1975.908107] dummy 1-0056: mipi mclk = 79.194 MHz
[ 1975.946962] dummy 1-0056: mipi pclk = 79.194 MHz
[ 1977.720586] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 1977.720923] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 1977.721149] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 1977.721316] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 1977.721541] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 1977.722243] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 1980.536510] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 1980.536814] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 1980.537081] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 1980.537254] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 1980.537521] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 1980.537692] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 1980.538259] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 1983.096506] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 1983.096758] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 1983.097049] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 1983.097236] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 1983.097520] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 1983.097699] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 1983.098724] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 1983.099077] dummy 1-0056: it6616_s_stream(enable=0)
[ 1983.099455] dummy 1-0056: it6616_disable_mipi
[ 1983.177025] dummy 1-0056: mipi tx Video Stable Change …
[ 1983.177072] dummy 1-0056: mipi tx reg09 = 0x00, video unstable

nvcsi@15a00000 {
compatible = “nvidia,tegra194-nvcsi”;
clocks = <0x04 0x51>;
clock-names = “nvcsi”;
num-channels = <0x01>;
#address-cells = <0x01>;
#size-cells = <0x00>;
phandle = <0x23c>;

		prod-settings {
			#prod-cells = <0x04>;

			prod {
				prod = <0x00 0x11018 0x70000 0x20000 0x00 0x1109c 0xe000e000 0xc000c000 0x00 0x110a8 0xfefe 0x4c4c 0x00 0x11128 0xe000e000 0xc000c000 0x00 0x11134 0xfefe 0x4c4c 0x00 0x21018 0x70000 0x20000 0x00 0x2109c 0xe000e000 0xc000c000 0x00 0x210a8 0xfefe 0x4c4c 0x00 0x21128 0xe000e000 0xc000c000 0x00 0x21134 0xfefe 0x4c4c 0x00 0x31018 0x70000 0x20000 0x00 0x3109c 0xe000e000 0xc000c000 0x00 0x310a8 0xfefe 0x4c4c 0x00 0x31128 0xe000e000 0xc000c000 0x00 0x31134 0xfefe 0x4c4c 0x00 0x41018 0x70000 0x20000 0x00 0x4109c 0xe000e000 0xc000c000 0x00 0x410a8 0xfefe 0x4c4c 0x00 0x41128 0xe000e000 0xc000c000 0x00 0x41134 0xfefe 0x4c4c 0x00 0x1102c 0xfc000000 0xe0000000 0x00 0x110b8 0xfc000000 0xe0000000 0x00 0x2102c 0xfc000000 0xe0000000 0x00 0x210b8 0xfc000000 0xe0000000 0x00 0x3102c 0xfc000000 0xe0000000 0x00 0x310b8 0xfc000000 0xe0000000 0x00 0x4102c 0xfc000000 0xe0000000 0x00 0x410b8 0xfc000000 0xe0000000>;
			};

			prod_c_cphy_mode {
				prod = <0x00 0x11030 0x7f7f7f 0x444444 0x00 0x110bc 0x7f7f7f 0x444444 0x00 0x21030 0x7f7f7f 0x444444 0x00 0x210bc 0x7f7f7f 0x444444 0x00 0x31030 0x7f7f7f 0x444444 0x00 0x310bc 0x7f7f7f 0x444444 0x00 0x41030 0x7f7f7f 0x444444 0x00 0x410bc 0x7f7f7f 0x444444 0x00 0x110a8 0xffff 0xfcfc 0x00 0x1109c 0xffffffff 0xd848d848 0x00 0x110a0 0x03 0x00 0x00 0x11098 0x03 0x03 0x00 0x11134 0xffff 0xfcfc 0x00 0x11128 0xffffffff 0xd848d848 0x00 0x1112c 0x03 0x00 0x00 0x11124 0x03 0x03 0x00 0x210a8 0xffff 0xfcfc 0x00 0x2109c 0xffffffff 0xd848d848 0x00 0x210a0 0x03 0x00 0x00 0x21098 0x03 0x03 0x00 0x21134 0xffff 0xfcfc 0x00 0x21128 0xffffffff 0xd848d848 0x00 0x2112c 0x03 0x00 0x00 0x21124 0x03 0x03 0x00 0x310a8 0xffff 0xfcfc 0x00 0x3109c 0xffffffff 0xd848d848 0x00 0x310a0 0x03 0x00 0x00 0x31098 0x03 0x03 0x00 0x31134 0xffff 0xfcfc 0x00 0x31128 0xffffffff 0xd848d848 0x00 0x3112c 0x03 0x00 0x00 0x31124 0x03 0x03 0x00 0x410a8 0xffff 0xfcfc 0x00 0x4109c 0xffffffff 0xd848d848 0x00 0x410a0 0x03 0x00 0x00 0x41098 0x03 0x03 0x00 0x41134 0xffff 0xfcfc 0x00 0x41128 0xffffffff 0xd848d848 0x00 0x4112c 0x03 0x00 0x00 0x41124 0x03 0x03>;
			};

			prod_c_dphy_mode {
				prod = <0x00 0x11030 0x7f7f7f 0x00 0x00 0x110bc 0x7f7f7f 0x00 0x00 0x21030 0x7f7f7f 0x00 0x00 0x210bc 0x7f7f7f 0x00 0x00 0x31030 0x7f7f7f 0x00 0x00 0x310bc 0x7f7f7f 0x00 0x00 0x41030 0x7f7f7f 0x00 0x00 0x410bc 0x7f7f7f 0x00>;
			};
		};

		channel@0 {
			reg = <0x00>;
            status = "okay";
			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@0 {
					reg = <0x00>;
                    status = "okay";
					csi_in0: endpoint@0 {
                        status = "okay";
						reg = <0>;
						port-index = <0>;
						bus-width = <2>;
						remote-endpoint = <&it6616_out0>;
					};
				};

				port@1 {
					reg = <0x01>;
                    status = "okay";

					csi_out0: endpoint@0 {
                        status = "okay";
						remote-endpoint = <&vi_in0>;
					};
				};
			};
		};
	};

it6616@48 {
status = “okay”;
reg = <0x48>;
compatible = “ite,it6616”;
vi-port = <0>;
devnode = “video0”;
ports {
#address-cells = <0x01>;
#size-cells = <0x00>;
port@1 {
reg = <0x1>;
#address-cells = <0x01>;
#size-cells = <0x00>;
it6616_out0: endpoint {
port-index = <0>;
bus-width = <2>;
remote-endpoint = <&csi_in0>;
};
};
};
modes {
mode0 {
mclk_khz = “24000”;
num_lanes = “2”;
tegra_sinterface = “serial_a”;
phy_mode = “DPHY”;
discontinuous_clk = “no”;
cil_settletime = <0 0>;
active_w = “1280”;
active_h = “720”;
line_length = “1980”;
frame_length = “750”;
dynamic_pixel_bit_depth = “8”;
mode_type = “yuv”;
csi_pixel_bit_depth = “8”;
pixel_phase = “yuyv”;
pix_clk_hz = “74250000”; /* 1980 x 750 x 50 /
framerate_factor=“1000000”;
embedded_metadata_height=“0”;
serdes_pix_clk_hz = “288460000”;
min_gain_val = “0”;
max_gain_val = “48”;
step_gain_val = “1”;
default_gain = “0”;
min_hdr_ratio = “1”;
max_hdr_ratio = “1”;
min_framerate = “25”;
max_framerate = “50”;
default_framerate = “50”;
step_framerate = “1”;
min_exp_time = “1”;
max_exp_time = “33333”;
step_exp_time = “1”;
default_exp_time = “33333”;
/
Image corrections */
inherent_gain = “1”;
mclk_multiplier = “3”;
};
};
};
};

tegra-capture-vi {
compatible = “nvidia,tegra-camrtc-capture-vi”;
nvidia,vi-devices = <0x23b>;
nvidia,vi-mapping-size = <0x06>;
nvidia,vi-mapping = <0x00 0x00 0x01 0x00 0x02 0x00 0x03 0x00 0x04 0x00 0x05 0x00>;
nvidia,vi-max-channels = <0x24>;
nvidia,reset-on-probe;
nvidia,vi-mapping-names = “csi-stream-id\0vi-unit-id”;
status = “okay”;
num-channels = <0x01>;
ports {
#address-cells = <0x01>;
#size-cells = <0x00>;
port@0 {
status = “okay”;
reg = <0x00>;
vi_in0: endpoint{
status = “okay”;
port-index = <0>;
bus-width = <2>;
remote-endpoint = <&csi_out0>;
};
};
};
};

The setup is composed of a camera that provides 720p50 connected to IT6616 evaluation board and a flat MIPI cable connected to Jetson Xavier NX evaluation board Port 0.
any help will be appreciated, or you need any other information, please say so.

hello igal.kroyter,

according to the logs, it’s reporting capture has timed out, such NULL VI channel failure usually due to an invalid sensor operations.

please refer to developer guide,
you may see-also To verify the port binding result.
you should also have Applications Using V4L2 IOCTL Directly to test the basic camera functionality.

hi @JerryChang, I’ve converted my driver to the “tegracam framework” V2 getting the same results. how do you think I should proceed debugging the system?

hello igal.kroyter,

as mentioned, please refer to developer guide To verify the port binding result.
you may also sharing the latest device tree for reference.

@JerryChang , thank you for the prompt reply. Hereafter some printout:

sudo media-ctl -p -d /dev/media0
Media controller API version 5.10.216

Media device information

driver tegra-camrtc-ca
model NVIDIA Tegra Video Input Device
serial
bus info
hw revision 0x3
driver version 5.10.216

Device topology

  • entity 1: 13e10000.host1x:nvcsi@15a00000- (2 pads, 2 links)
    type V4L2 subdev subtype Unknown flags 0
    device node name /dev/v4l-subdev0
    pad0: Sink
    ← “it6616 1-0048”:0 [ENABLED]
    pad1: Source
    → “vi-output, it6616 1-0048”:0 [ENABLED]

  • entity 4: it6616 1-0048 (1 pad, 1 link)
    type V4L2 subdev subtype Sensor flags 0
    device node name /dev/v4l-subdev1
    pad0: Source
    [fmt:YUYV8_1X16/1280x720 field:none colorspace:srgb]
    → “13e10000.host1x:nvcsi@15a00000-”:0 [ENABLED]

  • entity 6: vi-output, it6616 1-0048 (1 pad, 1 link)
    type Node subtype V4L flags 0
    device node name /dev/video0
    pad0: Sink
    ← “13e10000.host1x:nvcsi@15a00000-”:1 [ENABLED]

**
DT.txt (395.6 KB)
**
v4l2-compliance SHA: not available, 64 bits

Compliance test for tegra-video device /dev/video0:

Driver Info:
Driver name : tegra-video
Card type : vi-output, it6616 1-0048
Bus info : platform:tegra-capture-vi:0
Driver version : 5.10.216
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Media Driver Info:
Driver name : tegra-camrtc-ca
Model : NVIDIA Tegra Video Input Device
Serial :
Bus info :
Media version : 5.10.216
Hardware revision: 0x00000003 (3)
Driver version : 5.10.216
Interface Info:
ID : 0x03000008
Type : V4L Video
Entity Info:
ID : 0x00000006 (6)
Name : vi-output, it6616 1-0048
Function : V4L2 I/O
Pad 0x01000007 : 0: Sink
Link 0x0200000c: from remote pad 0x1000003 of entity ‘13e10000.host1x:nvcsi@15a00000-’: Data, Enabled

Required ioctls:
test MC information (see ‘Media Driver Info’ above): OK
test VIDIOC_QUERYCAP: OK

Allow for multiple opens:
test second /dev/video0 open: OK
test VIDIOC_QUERYCAP: OK
test VIDIOC_G/S_PRIORITY: OK
test for unlimited opens: OK

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

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

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

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

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

Format ioctls (Input 0):
fail: v4l2-test-formats.cpp(280): duplicate format 56595559 (YUYV)
test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: FAIL
fail: v4l2-test-formats.cpp(1280): ret && node->has_frmintervals
test VIDIOC_G/S_PARM: FAIL
test VIDIOC_G_FBUF: OK (Not Supported)
test VIDIOC_G_FMT: OK
test VIDIOC_TRY_FMT: OK
test VIDIOC_S_FMT: OK
test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
test Cropping: OK (Not Supported)
test Composing: OK (Not Supported)
test Scaling: OK (Not Supported)

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

Buffer ioctls (Input 0):
fail: v4l2-test-buffers.cpp(715): q.create_bufs(node, 1, &fmt) != EINVAL
test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: FAIL
test VIDIOC_EXPBUF: OK
test Requests: OK (Not Supported)

Total for tegra-video device /dev/video0: 45, Succeeded: 42, Failed: 3, Warnings: 0

hello igal.kroyter,

you may check $ gst-inspect-1.0 v4l2src, the output capabilities shows that for video/x-raw it supports YUY2, YVYU, and UYVY.
since your pixel format types as pixel_phase = "yuyv"; , you should configure the format as YUV2 in the gst pipeline.

BTW, please see-also similar forum threads for reference, Topic 288808.

@JerryChang hi,

I have tried YUV2 too, same results.

hello igal.kroyter,

may I know the latest error message, do you still have NULL VI channel failure reported?

@JerryChang, hi,

I postpone the discussion as I’ve found that the MIPI clock was not provided correctly to the Jetson Eval board, and the levels of the signal were lower than expected as a result of incorrect impedances of the data lanes - so I wait for my HW eng, to do their “magic”. Thanks. Please do not close this discussion yet. If I have the result I’ll summarize the solution and close it.

@JerryChang, hi,

OK so the lines were corrected and the signals seems to be stable On J12 (CAM1) on the evaluation board. here are portions of my latest DT:

  it6616: it6616@48 {
		compatible = "ite,it6616";
		reg = <0x48>;
		status = "okay";
		//devnode = "video0";
		
        physical_w = "15.0";
        physical_h = "12.5";

        sensor_model ="it6616";
		post_crop_frame_drop = "0";
		use_decibel_gain = "true";
		delayed_gain = "true";
		use_sensor_mode_id = "true";
		limit_analog_gain = "true";

        mode0 { // IT6616_1280x720_50fps
            /* === Signal properties === */
            mclk_khz = "39597";              // 74.25 MHz pixclk with x2 37125
            num_lanes = "2";
            tegra_sinterface = "serial_a"; 
            phy_mode = "DPHY";
            discontinuous_clk = "no";
            dpcm_enable = "false";
            cil_settletime = "30";

            /* === Pixel format (bridge output) === */
            mode_type = "yuv";
            pixel_phase = "yuyv";            // "uyvy" 
            dynamic_pixel_bit_depth = "16";
            csi_pixel_bit_depth = "16";      // YUV422 = 16 bits per pixel

            /* === Image format === */
            active_w = "1280";
            active_h = "720";
            readout_orientation = "0";

            /*
             * Total pixels per line for 1280x720@50 per CEA-861:
             * 1280 active + 370 front/back/sync ≈ 1650
             * or set this to "1280" like NVIDIA’s lt6911 example –
             * it mostly affects exposure calc, not CSI timing.
             */
            line_length = "1980";           // 1650

            inherent_gain = "1";
            mclk_multiplier = "2";           // 37.125 MHz * 2 = 74.25 MHz
            pix_clk_hz = "74250000";         // 1280x720p50 standard pixel clock 74250000 1980x750x50

            /* === Control “dummy” limits (bridge has no real gain/exposure) === */
            gain_factor = "16";
            min_gain_val = "16";             // 1.0x
            max_gain_val = "160";            // 10.0x (arbitrary but sane)
            step_gain_val = "1";
            default_gain = "16";

            min_hdr_ratio = "1";
            max_hdr_ratio = "1";

            framerate_factor = "1000000";
            min_framerate = "2000000";       // 2 fps
            max_framerate = "50000000";      // 50 fps
            step_framerate = "1";
            default_framerate = "50000000";  // 50 fps

            exposure_factor = "1000000";
            min_exp_time = "20";             // 20 µs
            max_exp_time = "700000";         // 0.7 s
            step_exp_time = "1";
            default_exp_time = "20000";      // 1 / 50 s = 20 ms

            embedded_metadata_height = "0";  // IT6616 doesn’t add CSI metadata lines
        };

		
		/* CSI port configuration */
		ports {
		    #address-cells = <1>;
	        #size-cells = <0>;
			port@0 {
				reg = <0>;			
				it6616_out0: endpoint {
					port-index = <1>;
					bus-width = <2>;
					remote-endpoint = <&it6616_csi_in0>;
				};
			};
		};
	};

nvcsi@15a00000 {
compatible = “nvidia,tegra194-nvcsi”;
clocks = <0x04 0x51>;
clock-names = “nvcsi”;
num-channels = <0x01>;
#address-cells = <0x01>;
#size-cells = <0x00>;
phandle = <0x23c>;

		prod-settings {
			#prod-cells = <0x04>;

			prod {
				prod = <0x00 0x11018 0x70000 0x20000 0x00 0x1109c 0xe000e000 0xc000c000 0x00 0x110a8 0xfefe 0x4c4c 0x00 0x11128 0xe000e000 0xc000c000 0x00 0x11134 0xfefe 0x4c4c 0x00 0x21018 0x70000 0x20000 0x00 0x2109c 0xe000e000 0xc000c000 0x00 0x210a8 0xfefe 0x4c4c 0x00 0x21128 0xe000e000 0xc000c000 0x00 0x21134 0xfefe 0x4c4c 0x00 0x31018 0x70000 0x20000 0x00 0x3109c 0xe000e000 0xc000c000 0x00 0x310a8 0xfefe 0x4c4c 0x00 0x31128 0xe000e000 0xc000c000 0x00 0x31134 0xfefe 0x4c4c 0x00 0x41018 0x70000 0x20000 0x00 0x4109c 0xe000e000 0xc000c000 0x00 0x410a8 0xfefe 0x4c4c 0x00 0x41128 0xe000e000 0xc000c000 0x00 0x41134 0xfefe 0x4c4c 0x00 0x1102c 0xfc000000 0xe0000000 0x00 0x110b8 0xfc000000 0xe0000000 0x00 0x2102c 0xfc000000 0xe0000000 0x00 0x210b8 0xfc000000 0xe0000000 0x00 0x3102c 0xfc000000 0xe0000000 0x00 0x310b8 0xfc000000 0xe0000000 0x00 0x4102c 0xfc000000 0xe0000000 0x00 0x410b8 0xfc000000 0xe0000000>;
			};

			prod_c_cphy_mode {
				prod = <0x00 0x11030 0x7f7f7f 0x444444 0x00 0x110bc 0x7f7f7f 0x444444 0x00 0x21030 0x7f7f7f 0x444444 0x00 0x210bc 0x7f7f7f 0x444444 0x00 0x31030 0x7f7f7f 0x444444 0x00 0x310bc 0x7f7f7f 0x444444 0x00 0x41030 0x7f7f7f 0x444444 0x00 0x410bc 0x7f7f7f 0x444444 0x00 0x110a8 0xffff 0xfcfc 0x00 0x1109c 0xffffffff 0xd848d848 0x00 0x110a0 0x03 0x00 0x00 0x11098 0x03 0x03 0x00 0x11134 0xffff 0xfcfc 0x00 0x11128 0xffffffff 0xd848d848 0x00 0x1112c 0x03 0x00 0x00 0x11124 0x03 0x03 0x00 0x210a8 0xffff 0xfcfc 0x00 0x2109c 0xffffffff 0xd848d848 0x00 0x210a0 0x03 0x00 0x00 0x21098 0x03 0x03 0x00 0x21134 0xffff 0xfcfc 0x00 0x21128 0xffffffff 0xd848d848 0x00 0x2112c 0x03 0x00 0x00 0x21124 0x03 0x03 0x00 0x310a8 0xffff 0xfcfc 0x00 0x3109c 0xffffffff 0xd848d848 0x00 0x310a0 0x03 0x00 0x00 0x31098 0x03 0x03 0x00 0x31134 0xffff 0xfcfc 0x00 0x31128 0xffffffff 0xd848d848 0x00 0x3112c 0x03 0x00 0x00 0x31124 0x03 0x03 0x00 0x410a8 0xffff 0xfcfc 0x00 0x4109c 0xffffffff 0xd848d848 0x00 0x410a0 0x03 0x00 0x00 0x41098 0x03 0x03 0x00 0x41134 0xffff 0xfcfc 0x00 0x41128 0xffffffff 0xd848d848 0x00 0x4112c 0x03 0x00 0x00 0x41124 0x03 0x03>;
			};

			prod_c_dphy_mode {
				prod = <0x00 0x11030 0x7f7f7f 0x00 0x00 0x110bc 0x7f7f7f 0x00 0x00 0x21030 0x7f7f7f 0x00 0x00 0x210bc 0x7f7f7f 0x00 0x00 0x31030 0x7f7f7f 0x00 0x00 0x310bc 0x7f7f7f 0x00 0x00 0x41030 0x7f7f7f 0x00 0x00 0x410bc 0x7f7f7f 0x00>;
			};
		};

		channel@0{
			reg = <0>;
		    #address-cells = <0x01>;
		    #size-cells = <0x00>;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					it6616_csi_in0: endpoint@0 {
						port-index = <1>;
						bus-width = <2>;
						remote-endpoint = <&it6616_out0>;
					};
				};

				port@1 {
					reg = <1>;
					it6616_csi_out0: endpoint@1 {
						remote-endpoint = <&it6616_vi_in0>;
					};
				};
			};
		};
	};

tegra-capture-vi {
compatible = “nvidia,tegra-camrtc-capture-vi”;
nvidia,vi-devices = <0x23b>;
#nvidia,vi-mapping-size = <0x06>;
#nvidia,vi-mapping = <0x00 0x00 0x01 0x00 0x02 0x00 0x03 0x00 0x04 0x00 0x05 0x00>;
nvidia,vi-mapping-size = <0x01>;
nvidia,vi-mapping = <0x00 0x00>;
nvidia,vi-mapping-names = “csi-stream-id\0vi-unit-id”;
nvidia,vi-max-channels = <0x24>;
status = “okay”;
num-channels = <0x01>;
#address-cells = <1>;
#size-cells = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
it6616_vi_in0: endpoint{
port-index = <1>;
bus-width = <2>;
remote-endpoint = <&it6616_csi_out0>;
};
};
};
};

media-ctl -p
Media controller API version 5.10.216

Media device information

driver tegra-camrtc-ca
model NVIDIA Tegra Video Input Device
serial
bus info
hw revision 0x3
driver version 5.10.216

Device topology

  • entity 1: 13e10000.host1x:nvcsi@15a00000- (2 pads, 2 links)
    type V4L2 subdev subtype Unknown flags 0
    device node name /dev/v4l-subdev0
    pad0: Sink
    ← “it6616 1-0048”:0 [ENABLED]
    pad1: Source
    → “vi-output, it6616 1-0048”:0 [ENABLED]

  • entity 4: it6616 1-0048 (1 pad, 1 link)
    type V4L2 subdev subtype Sensor flags 0
    device node name /dev/v4l-subdev1
    pad0: Source
    [fmt:YUYV8_1X16/1280x720 field:none colorspace:srgb]
    → “13e10000.host1x:nvcsi@15a00000-”:0 [ENABLED]

  • entity 6: vi-output, it6616 1-0048 (1 pad, 1 link)
    type Node subtype V4L flags 0
    device node name /dev/video0
    pad0: Sink
    ← “13e10000.host1x:nvcsi@15a00000-”:1 [ENABLED]

GST_DEBUG=4 gst-launch-1.0 -v v4l2src device=/dev/video0 do-timestamp=true ! video/x-raw,format=YUY2,width=1280,height=720,framerate=50/1 ! videoconvert ! xvimagesink sync=false -e
0:00:00.000197320 4165 0xaaaaeffd9600 INFO GST_INIT gst.c:586:init_pre: Initializing GStreamer Core Library version 1.16.3
0:00:00.000320556 4165 0xaaaaeffd9600 INFO GST_INIT gst.c:587:init_pre: Using library installed in /usr/lib/aarch64-linux-gnu
0:00:00.000362478 4165 0xaaaaeffd9600 INFO GST_INIT gst.c:605:init_pre: Linux ubuntu-desktop 5.10.216-tegra #1 SMP PREEMPT Fri Sep 19 14:25:31 PDT 2025 aarch64
0:00:00.001056264 4165 0xaaaaeffd9600 INFO GST_INIT gstmessage.c:128:_priv_gst_message_initialize: init messages
0:00:00.002762504 4165 0xaaaaeffd9600 INFO GST_INIT gstcontext.c:84:_priv_gst_context_initialize: init contexts
0:00:00.003521380 4165 0xaaaaeffd9600 INFO GST_PLUGIN_LOADING gstplugin.c:318:_priv_gst_plugin_initialize: registering 0 static plugins
0:00:00.003833968 4165 0xaaaaeffd9600 INFO GST_PLUGIN_LOADING gstplugin.c:226:gst_plugin_register_static: registered static plugin “staticelements”
0:00:00.003873425 4165 0xaaaaeffd9600 INFO GST_PLUGIN_LOADING gstplugin.c:228:gst_plugin_register_static: added static plugin “staticelements”, result: 1
0:00:00.003930356 4165 0xaaaaeffd9600 INFO GST_REGISTRY gstregistry.c:1733:ensure_current_registry: reading registry cache: /home/ubuntu/.cache/gstreamer-1.0/registry.aarch64.bin
0:00:00.052990978 4165 0xaaaaeffd9600 INFO GST_REGISTRY gstregistrybinary.c:621:priv_gst_registry_binary_read_cache: loaded /home/ubuntu/.cache/gstreamer-1.0/registry.aarch64.bin in 0.048980 seconds
0:00:00.053271373 4165 0xaaaaeffd9600 INFO GST_REGISTRY gstregistry.c:1592:scan_and_update_registry: Validating plugins from registry cache: /home/ubuntu/.cache/gstreamer-1.0/registry.aarch64.bin
0:00:00.059185868 4165 0xaaaaeffd9600 INFO GST_REGISTRY gstregistry.c:1691:scan_and_update_registry: Registry cache has not changed
0:00:00.059242382 4165 0xaaaaeffd9600 INFO GST_REGISTRY gstregistry.c:1768:ensure_current_registry: registry reading and updating done, result = 1
0:00:00.059270607 4165 0xaaaaeffd9600 INFO GST_INIT gst.c:806:init_post: GLib runtime version: 2.64.6
0:00:00.059302128 4165 0xaaaaeffd9600 INFO GST_INIT gst.c:808:init_post: GLib headers version: 2.64.6
0:00:00.059327441 4165 0xaaaaeffd9600 INFO GST_INIT gst.c:810:init_post: initialized GStreamer successfully
0:00:00.059412149 4165 0xaaaaeffd9600 INFO GST_PIPELINE gstparse.c:336:gst_parse_launch_full: parsing pipeline description 'v4l2src device=/dev/video0 do-timestamp=true ! video/x-raw,format=YUY2,width=1280,height=720,framerate=50/1 ! videoconvert ! xvimagesink sync=false ’
0:00:00.067759856 4165 0xaaaaeffd9600 INFO GST_PLUGIN_LOADING gstplugin.c:902:_priv_gst_plugin_load_file_for_registry: plugin “/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstvideo4linux2.so” loaded
0:00:00.067821266 4165 0xaaaaeffd9600 INFO GST_ELEMENT_FACTORY gstelementfactory.c:363:gst_element_factory_create: creating element “v4l2src”
0:00:00.069814461 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:671:gst_element_add_pad:GstBaseSrc@0xaaaaf022e240 adding pad ‘src’
0:00:00.070638012 4165 0xaaaaeffd9600 INFO GST_PLUGIN_LOADING gstplugin.c:902:_priv_gst_plugin_load_file_for_registry: plugin “/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstvideoconvert.so” loaded
0:00:00.070682910 4165 0xaaaaeffd9600 INFO GST_ELEMENT_FACTORY gstelementfactory.c:363:gst_element_factory_create: creating element “videoconvert”
0:00:00.071315286 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:671:gst_element_add_pad:GstBaseTransform@0xaaaaf0237340 adding pad ‘sink’
0:00:00.071378040 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:671:gst_element_add_pad:GstBaseTransform@0xaaaaf0237340 adding pad ‘src’
0:00:00.073916472 4165 0xaaaaeffd9600 INFO GST_PLUGIN_LOADING gstplugin.c:902:_priv_gst_plugin_load_file_for_registry: plugin “/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstxvimagesink.so” loaded
0:00:00.073963066 4165 0xaaaaeffd9600 INFO GST_ELEMENT_FACTORY gstelementfactory.c:363:gst_element_factory_create: creating element “xvimagesink”
0:00:00.074454956 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:671:gst_element_add_pad:GstBaseSink@0xaaaaf022be00 adding pad ‘sink’
0:00:00.074568913 4165 0xaaaaeffd9600 INFO GST_ELEMENT_FACTORY gstelementfactory.c:363:gst_element_factory_create: creating element “pipeline”
0:00:00.074892893 4165 0xaaaaeffd9600 INFO GST_PIPELINE grammar.y:648:gst_parse_perform_link: linking some pad of GstV4l2Src named v4l2src0 to some pad of GstVideoConvert named videoconvert0 (0/0) with caps “video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)50/1”
0:00:00.076354452 4165 0xaaaaeffd9600 INFO GST_PLUGIN_LOADING gstplugin.c:902:_priv_gst_plugin_load_file_for_registry: plugin “/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstcoreelements.so” loaded
0:00:00.076410870 4165 0xaaaaeffd9600 INFO GST_ELEMENT_FACTORY gstelementfactory.c:363:gst_element_factory_create: creating element “capsfilter”
0:00:00.076646943 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:671:gst_element_add_pad:GstBaseTransform@0xaaaaf0248190 adding pad ‘sink’
0:00:00.076704001 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:671:gst_element_add_pad:GstBaseTransform@0xaaaaf0248190 adding pad ‘src’
0:00:00.076750915 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2090:gst_bin_get_state_func: getting state
0:00:00.076832422 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to NULL
0:00:00.076877032 4165 0xaaaaeffd9600 INFO GST_EVENT gstevent.c:1579:gst_event_new_reconfigure: creating reconfigure event
0:00:00.076922185 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstutils.c:1771:gst_element_link_pads_full: trying to link element v4l2src0:(any) to element capsfilter0:sink
0:00:00.076954347 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:928:gst_element_get_static_pad: found pad capsfilter0:sink
0:00:00.076984524 4165 0xaaaaeffd9600 INFO GST_PADS gstutils.c:1587:prepare_link_maybe_ghosting: v4l2src0 and capsfilter0 in same bin, no need for ghost pads
0:00:00.077028173 4165 0xaaaaeffd9600 INFO GST_PADS gstpad.c:2377:gst_pad_link_prepare: trying to link v4l2src0:src and capsfilter0:sink
0:00:00.077080079 4165 0xaaaaeffd9600 INFO GST_PADS gstpad.c:4237:gst_pad_peer_query:capsfilter0:src pad has no peer
0:00:00.077138001 4165 0xaaaaeffd9600 INFO GST_PADS gstpad.c:2585:gst_pad_link_full: linked v4l2src0:src and capsfilter0:sink, successful
0:00:00.077164883 4165 0xaaaaeffd9600 INFO GST_EVENT gstevent.c:1579:gst_event_new_reconfigure: creating reconfigure event
0:00:00.077188435 4165 0xaaaaeffd9600 INFO GST_EVENT gstpad.c:5812:gst_pad_send_event_unchecked:v4l2src0:src Received event on flushing pad. Discarding
0:00:00.077238389 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstutils.c:1771:gst_element_link_pads_full: trying to link element capsfilter0:src to element videoconvert0:(any)
0:00:00.077270006 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:928:gst_element_get_static_pad: found pad capsfilter0:src
0:00:00.077302744 4165 0xaaaaeffd9600 INFO GST_PADS gstutils.c:1034:gst_pad_check_link: trying to link capsfilter0:src and videoconvert0:sink
0:00:00.077367674 4165 0xaaaaeffd9600 INFO GST_PADS gstpad.c:4237:gst_pad_peer_query:videoconvert0:src pad has no peer
0:00:00.079738516 4165 0xaaaaeffd9600 INFO GST_PADS gstutils.c:1587:prepare_link_maybe_ghosting: capsfilter0 and videoconvert0 in same bin, no need for ghost pads
0:00:00.079794262 4165 0xaaaaeffd9600 INFO GST_PADS gstpad.c:2377:gst_pad_link_prepare: trying to link capsfilter0:src and videoconvert0:sink
0:00:00.079873145 4165 0xaaaaeffd9600 INFO GST_PADS gstpad.c:4237:gst_pad_peer_query:videoconvert0:src pad has no peer
0:00:00.082150031 4165 0xaaaaeffd9600 INFO GST_PADS gstpad.c:2585:gst_pad_link_full: linked capsfilter0:src and videoconvert0:sink, successful
0:00:00.082187824 4165 0xaaaaeffd9600 INFO GST_EVENT gstevent.c:1579:gst_event_new_reconfigure: creating reconfigure event
0:00:00.082218609 4165 0xaaaaeffd9600 INFO GST_EVENT gstpad.c:5812:gst_pad_send_event_unchecked:capsfilter0:src Received event on flushing pad. Discarding
0:00:00.082282964 4165 0xaaaaeffd9600 INFO GST_PIPELINE grammar.y:648:gst_parse_perform_link: linking some pad of GstVideoConvert named videoconvert0 to some pad of GstXvImageSink named xvimagesink0 (0/0) with caps “(NULL)”
0:00:00.082316757 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstutils.c:1771:gst_element_link_pads_full: trying to link element videoconvert0:(any) to element xvimagesink0:(any)
0:00:00.082350678 4165 0xaaaaeffd9600 INFO GST_PADS gstutils.c:1034:gst_pad_check_link: trying to link videoconvert0:src and xvimagesink0:sink
0:00:00.082565982 4165 0xaaaaeffd9600 INFO GST_PADS gstutils.c:1587:prepare_link_maybe_ghosting: videoconvert0 and xvimagesink0 in same bin, no need for ghost pads
0:00:00.082615680 4165 0xaaaaeffd9600 INFO GST_PADS gstpad.c:2377:gst_pad_link_prepare: trying to link videoconvert0:src and xvimagesink0:sink
0:00:00.082869930 4165 0xaaaaeffd9600 INFO GST_PADS gstpad.c:2585:gst_pad_link_full: linked videoconvert0:src and xvimagesink0:sink, successful
0:00:00.082897483 4165 0xaaaaeffd9600 INFO GST_EVENT gstevent.c:1579:gst_event_new_reconfigure: creating reconfigure event
0:00:00.082925516 4165 0xaaaaeffd9600 INFO GST_EVENT gstpad.c:5812:gst_pad_send_event_unchecked:videoconvert0:src Received event on flushing pad. Discarding
Setting pipeline to PAUSED …
0:00:00.083079794 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current NULL pending VOID_PENDING, desired next READY
0:00:00.097178470 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to READY
0:00:00.097230056 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.097306251 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘xvimagesink0’ changed state to 2(READY) successfully
0:00:00.097367565 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current NULL pending VOID_PENDING, desired next READY
0:00:00.097399118 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to READY
0:00:00.097457552 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.097495986 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘videoconvert0’ changed state to 2(READY) successfully
0:00:00.097531635 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current NULL pending VOID_PENDING, desired next READY
0:00:00.097565524 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to READY
0:00:00.097593653 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.097627831 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘capsfilter0’ changed state to 2(READY) successfully
0:00:00.097655832 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current NULL pending VOID_PENDING, desired next READY
0:00:00.098161611 4165 0xaaaaeffd9600 INFO v4l2 v4l2_calls.c:587:gst_v4l2_open:v4l2src0:src Opened device ‘vi-output, it6616 1-0048’ (/dev/video0) successfully
0:00:00.098227469 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to READY
0:00:00.098259343 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.098326161 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘v4l2src0’ changed state to 2(READY) successfully
0:00:00.098369875 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2660:gst_element_continue_state: committing state from NULL to READY, pending PAUSED, next PAUSED
0:00:00.098398772 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed NULL to READY (PAUSED pending)
0:00:00.098480215 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2668:gst_element_continue_state: continue state change READY to PAUSED, final PAUSED
0:00:00.098535321 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current READY pending VOID_PENDING, desired next PAUSED
0:00:00.098612508 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2959:gst_bin_change_state_func: child ‘xvimagesink0’ is changing state asynchronously to PAUSED
0:00:00.098645213 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current READY pending VOID_PENDING, desired next PAUSED
0:00:00.098689983 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to PAUSED
0:00:00.098719840 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.098760130 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘videoconvert0’ changed state to 3(PAUSED) successfully
0:00:00.098795075 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current READY pending VOID_PENDING, desired next PAUSED
0:00:00.098854725 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to PAUSED
0:00:00.098886502 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.098928040 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘capsfilter0’ changed state to 3(PAUSED) successfully
0:00:00.098979242 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current READY pending VOID_PENDING, desired next PAUSED
0:00:00.099048972 4165 0xaaaaeffd9600 INFO basesrc gstbasesrc.c:1373:gst_base_src_do_seek: seeking: time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:00.099196402 4165 0xaaaaeffd9600 INFO task gsttask.c:460:gst_task_set_lock: setting stream lock 0xaaaaf02300e0 on task 0xaaaaf0259050
0:00:00.099229619 4165 0xaaaaeffd9600 INFO GST_PADS gstpad.c:6159:gst_pad_start_task:v4l2src0:src created task 0xaaaaf0259050
0:00:00.099416890 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to PAUSED
0:00:00.099451292 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.099488189 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2995:gst_bin_change_state_func: child ‘v4l2src0’ changed state to 3(PAUSED) successfully without preroll
0:00:00.099543327 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to PAUSED
0:00:00.099570560 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed READY to PAUSED (VOID_PENDING pending)
Pipeline is live and does not need PREROLL …
0:00:00.099675524 4165 0xaaaaf0222de0 INFO GST_ELEMENT_PADS gstelement.c:925:gst_element_get_static_pad: no such pad ‘sink’ in element “v4l2src0”
0:00:00.099967055 4165 0xaaaaf0222de0 INFO v4l2 gstv4l2object.c:1201:gst_v4l2_object_fill_format_list:v4l2src0:src got 2 format(s):
0:00:00.100014385 4165 0xaaaaf0222de0 INFO v4l2 gstv4l2object.c:1205:gst_v4l2_object_fill_format_list:v4l2src0:src YUYV
0:00:00.100059571 4165 0xaaaaf0222de0 INFO v4l2 gstv4l2object.c:1205:gst_v4l2_object_fill_format_list:v4l2src0:src YUYV
0:00:00.100331997 4165 0xaaaaf0222de0 INFO v4l2 gstv4l2object.c:4267:gst_v4l2_object_probe_caps:v4l2src0:src probed caps: video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)50/1; video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)50/1
Setting pipeline to PLAYING …
0:00:00.101084505 4165 0xaaaaeffd9600 INFO GST_EVENT gstevent.c:1449:gst_event_new_latency: creating latency event 0:00:00.000000000
0:00:00.101127835 4165 0xaaaaf0222de0 INFO GST_EVENT gstevent.c:820:gst_event_new_caps: creating caps event video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)50/1, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
0:00:00.101160636 4165 0xaaaaeffd9600 INFO bin gstbin.c:2783:gst_bin_do_latency_func: configured latency of 0:00:00.000000000
0:00:00.101256096 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current READY pending PAUSED, desired next PLAYING
0:00:00.101287713 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2959:gst_bin_change_state_func: child ‘xvimagesink0’ is changing state asynchronously to PLAYING
0:00:00.101324738 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:00.101365156 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to PLAYING
0:00:00.101412966 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.101469000 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘videoconvert0’ changed state to 4(PLAYING) successfully
0:00:00.101459111 4165 0xaaaaf0222de0 INFO basetransform gstbasetransform.c:1317:gst_base_transform_setcaps: reuse caps
0:00:00.101546475 4165 0xaaaaf0222de0 INFO GST_EVENT gstevent.c:820:gst_event_new_caps: creating caps event video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)50/1, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
0:00:00.101554731 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:00.101632686 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to PLAYING
0:00:00.101706193 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.101789236 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘capsfilter0’ changed state to 4(PLAYING) successfully
0:00:00.101834646 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to PLAYING
0:00:00.101865527 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.101902392 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘v4l2src0’ changed state to 4(PLAYING) successfully
New clock: GstSystemClock
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)50/1, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)50/1, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
0:00:00.103513173 4165 0xaaaaf0222de0 INFO basetransform gstbasetransform.c:1317:gst_base_transform_setcaps: reuse caps
0:00:00.103856354 4165 0xaaaaf0222de0 INFO GST_EVENT gstevent.c:820:gst_event_new_caps: creating caps event video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)50/1, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)50/1, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps = video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)50/1, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)50/1, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)50/1, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
0:00:00.108479408 4165 0xaaaaf0222de0 INFO v4l2 gstv4l2object.c:2942:gst_v4l2_object_setup_pool:v4l2src0:src accessing buffers via mode 4
0:00:00.108969603 4165 0xaaaaf0222de0 INFO v4l2bufferpool gstv4l2bufferpool.c:557:gst_v4l2_buffer_pool_set_config:v4l2src0:pool:src increasing minimum buffers to 2
0:00:00.109007876 4165 0xaaaaf0222de0 INFO v4l2bufferpool gstv4l2bufferpool.c:570:gst_v4l2_buffer_pool_set_config:v4l2src0:pool:src reducing maximum buffers to 32
0:00:00.109155114 4165 0xaaaaf0222de0 INFO v4l2bufferpool gstv4l2bufferpool.c:570:gst_v4l2_buffer_pool_set_config:v4l2src0:pool:src reducing maximum buffers to 32
0:00:02.755193647 4165 0xaaaaf0222de0 WARN v4l2src gstv4l2src.c:914:gst_v4l2src_create: Timestamp does not correlate with any clock, ignoring driver timestamps
0:00:02.755365142 4165 0xaaaaf0222de0 INFO v4l2src gstv4l2src.c:960:gst_v4l2src_create: sync to 0:00:00.020000000 out ts 0:00:02.633993201
0:00:02.755525500 4165 0xaaaaf0222de0 INFO GST_EVENT gstevent.c:900:gst_event_new_segment: creating segment event time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:02.755712515 4165 0xaaaaf0222de0 INFO basesrc gstbasesrc.c:2962:gst_base_src_loop: marking pending DISCONT
0:00:02.786689509 4165 0xaaaaf0222de0 INFO GST_STATES gstbin.c:3430:bin_handle_async_done: setting state from PAUSED to PAUSED, pending PLAYING
0:00:02.786768136 4165 0xaaaaf0222de0 INFO GST_STATES gstbin.c:3452:bin_handle_async_done: continue state change, pending PLAYING
0:00:02.787666570 4165 0xaaaaf0223180 INFO GST_STATES gstbin.c:3248:gst_bin_continue_func: continue state change PAUSED to PLAYING, final PLAYING
0:00:02.788198623 4165 0xaaaaf0223180 INFO GST_EVENT gstevent.c:1449:gst_event_new_latency: creating latency event 0:00:00.000000000
0:00:02.788526891 4165 0xaaaaf0223180 INFO bin gstbin.c:2783:gst_bin_do_latency_func: configured latency of 0:00:00.000000000
0:00:02.788860824 4165 0xaaaaf0223180 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:02.789063104 4165 0xaaaaf0223180 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to PLAYING
0:00:02.789244647 4165 0xaaaaf0223180 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:02.789690424 4165 0xaaaaf0223180 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘xvimagesink0’ changed state to 4(PLAYING) successfully
0:00:02.790113928 4165 0xaaaaf0223180 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:02.790158122 4165 0xaaaaf0223180 INFO GST_STATES gstbin.c:2621:gst_bin_element_set_state: skipping transition from PLAYING to PLAYING
0:00:02.790348337 4165 0xaaaaf0223180 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘videoconvert0’ changed state to 4(PLAYING) successfully
0:00:02.796032203 4165 0xaaaaf0223180 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:02.796076908 4165 0xaaaaf0223180 INFO GST_STATES gstbin.c:2621:gst_bin_element_set_state: skipping transition from PLAYING to PLAYING
0:00:02.796114254 4165 0xaaaaf0223180 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘capsfilter0’ changed state to 4(PLAYING) successfully
0:00:02.796150447 4165 0xaaaaf0223180 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current PLAYING pending VOID_PENDING, desired next PLAYING
0:00:02.796181136 4165 0xaaaaf0223180 INFO GST_STATES gstbin.c:2621:gst_bin_element_set_state: skipping transition from PLAYING to PLAYING
0:00:02.796212594 4165 0xaaaaf0223180 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘v4l2src0’ changed state to 4(PLAYING) successfully
0:00:02.797150678 4165 0xaaaaf0223180 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to PLAYING
0:00:02.797197271 4165 0xaaaaf0223180 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:02.813810803 4165 0xaaaaf0222de0 INFO v4l2src gstv4l2src.c:960:gst_v4l2src_create: sync to 0:00:00.040000000 out ts 0:00:02.692773372
0:00:02.821966124 4165 0xaaaaf0222de0 INFO v4l2src gstv4l2src.c:960:gst_v4l2src_create: sync to 0:00:00.060000000 out ts 0:00:02.700956405
0:00:02.829089276 4165 0xaaaaf0222de0 INFO v4l2src gstv4l2src.c:960:gst_v4l2src_create: sync to 0:00:00.080000000 out ts 0:00:02.708079110
0:00:04.676515929 4165 0xaaaaf0222d20 WARN xvimagesink xvimagesink.c:554:gst_xv_image_sink_handle_xevents: error: Output window was closed
0:00:04.676757378 4165 0xaaaaf0222d20 INFO GST_ERROR_SYSTEM gstelement.c:2153:gst_element_message_full_with_details: posting message: Output window was closed
0:00:04.676994667 4165 0xaaaaf0222d20 INFO GST_ERROR_SYSTEM gstelement.c:2180:gst_element_message_full_with_details: posted error message: Output window was closed
ERROR: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Output window was closed
Additional debug info:
xvimagesink.c(554): gst_xv_image_sink_handle_xevents (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0
EOS on shutdown enabled – waiting for EOS after Error
Waiting for EOS…
0:00:05.570658352 4165 0xaaaaf0222de0 INFO v4l2src gstv4l2src.c:960:gst_v4l2src_create: sync to 0:00:00.100000000 out ts 0:00:05.449563254
0:00:05.571425646 4165 0xaaaaf0222de0 WARN v4l2src gstv4l2src.c:978:gst_v4l2src_create: lost frames detected: count = 18446744073709551612 - ts: 0:00:05.449563254
0:00:05.575071260 4165 0xaaaaf0222de0 WARN xvimagesink xvimagesink.c:1016:gst_xv_image_sink_show_frame: could not output image - no window
0:00:05.575192609 4165 0xaaaaf0222de0 INFO basesrc gstbasesrc.c:2981:gst_base_src_loop: pausing after gst_pad_push() = error
0:00:05.575258627 4165 0xaaaaf0222de0 WARN basesrc gstbasesrc.c:3072:gst_base_src_loop: error: Internal data stream error.
0:00:05.575294181 4165 0xaaaaf0222de0 WARN basesrc gstbasesrc.c:3072:gst_base_src_loop: error: streaming stopped, reason error (-5)
0:00:05.575366504 4165 0xaaaaf0222de0 INFO GST_ERROR_SYSTEM gstelement.c:2153:gst_element_message_full_with_details: posting message: Internal data stream error.
0:00:05.575466956 4165 0xaaaaf0222de0 INFO GST_ERROR_SYSTEM gstelement.c:2180:gst_element_message_full_with_details: posted error message: Internal data stream error.
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason error (-5)
0:00:05.575812761 4165 0xaaaaf0222de0 INFO task gsttask.c:312:gst_task_func:v4l2src0:src Task going to paused
Got EOS from element “pipeline0”.
EOS received - stopping pipeline…
Execution ended after 0:00:05.474204364
Setting pipeline to NULL …
0:00:05.576306572 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current PLAYING pending VOID_PENDING, desired next PAUSED
0:00:05.576369647 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to PAUSED
0:00:05.576415825 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PLAYING to PAUSED (VOID_PENDING pending)
0:00:05.576508692 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘xvimagesink0’ changed state to 3(PAUSED) successfully
0:00:05.576574295 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current PLAYING pending VOID_PENDING, desired next PAUSED
0:00:05.576653658 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to PAUSED
0:00:05.576707324 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PLAYING to PAUSED (VOID_PENDING pending)
0:00:05.576798400 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘videoconvert0’ changed state to 3(PAUSED) successfully
0:00:05.576900772 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current PLAYING pending VOID_PENDING, desired next PAUSED
0:00:05.576960710 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to PAUSED
0:00:05.577040521 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PLAYING to PAUSED (VOID_PENDING pending)
0:00:05.577117996 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘capsfilter0’ changed state to 3(PAUSED) successfully
0:00:05.577211216 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current PLAYING pending VOID_PENDING, desired next PAUSED
0:00:05.577279794 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to PAUSED
0:00:05.577330292 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PLAYING to PAUSED (VOID_PENDING pending)
0:00:05.577400855 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2995:gst_bin_change_state_func: child ‘v4l2src0’ changed state to 3(PAUSED) successfully without preroll
0:00:05.577478010 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2660:gst_element_continue_state: committing state from PLAYING to PAUSED, pending NULL, next READY
0:00:05.577521596 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PLAYING to PAUSED (NULL pending)
0:00:05.577614399 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2668:gst_element_continue_state: continue state change PAUSED to READY, final NULL
0:00:05.577692931 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current PAUSED pending VOID_PENDING, desired next READY
0:00:05.577876810 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to READY
0:00:05.577924620 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PAUSED to READY (VOID_PENDING pending)
0:00:05.578076978 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘xvimagesink0’ changed state to 2(READY) successfully
0:00:05.578144948 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current PAUSED pending VOID_PENDING, desired next READY
0:00:05.578279289 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to READY
0:00:05.578332668 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PAUSED to READY (VOID_PENDING pending)
0:00:05.578430239 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘videoconvert0’ changed state to 2(READY) successfully
0:00:05.578492994 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current PAUSED pending VOID_PENDING, desired next READY
0:00:05.578608710 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to READY
0:00:05.578669769 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PAUSED to READY (VOID_PENDING pending)
0:00:05.578737579 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘capsfilter0’ changed state to 2(READY) successfully
0:00:05.579031287 4165 0xaaaaf0222de0 INFO task gsttask.c:314:gst_task_func:v4l2src0:src Task resume from paused
0:00:08.146955390 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to READY
0:00:08.147089443 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PAUSED to READY (VOID_PENDING pending)
0:00:08.147177735 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘v4l2src0’ changed state to 2(READY) successfully
0:00:08.147245802 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2660:gst_element_continue_state: committing state from PAUSED to READY, pending NULL, next NULL
0:00:08.147293291 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed PAUSED to READY (NULL pending)
0:00:08.147402160 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2668:gst_element_continue_state: continue state change READY to NULL, final NULL
0:00:08.147496148 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current READY pending VOID_PENDING, desired next NULL
0:00:08.194776526 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to NULL
0:00:08.194872498 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed READY to NULL (VOID_PENDING pending)
0:00:08.194960886 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘xvimagesink0’ changed state to 1(NULL) successfully
0:00:08.195079738 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current READY pending VOID_PENDING, desired next NULL
0:00:08.195143837 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to NULL
0:00:08.195187679 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed READY to NULL (VOID_PENDING pending)
0:00:08.195249697 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘videoconvert0’ changed state to 1(NULL) successfully
0:00:08.195335717 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current READY pending VOID_PENDING, desired next NULL
0:00:08.195392423 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to NULL
0:00:08.195436041 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed READY to NULL (VOID_PENDING pending)
0:00:08.195509964 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘capsfilter0’ changed state to 1(NULL) successfully
0:00:08.195561902 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2503:gst_bin_element_set_state: current READY pending VOID_PENDING, desired next NULL
0:00:08.195668498 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to NULL
0:00:08.195715348 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed READY to NULL (VOID_PENDING pending)
0:00:08.195777558 4165 0xaaaaeffd9600 INFO GST_STATES gstbin.c:2952:gst_bin_change_state_func: child ‘v4l2src0’ changed state to 1(NULL) successfully
0:00:08.195923228 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2688:gst_element_continue_state: completed state change to NULL
0:00:08.195969086 4165 0xaaaaeffd9600 INFO GST_STATES gstelement.c:2588:_priv_gst_element_state_changed: notifying about state-changed READY to NULL (VOID_PENDING pending)
Freeing pipeline …
0:00:08.196092035 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstpad.c:2132:gst_pad_unlink: unlinking v4l2src0:src(0xaaaaf0230070) and capsfilter0:sink(0xaaaaf02309b0)
0:00:08.196158981 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstpad.c:2187:gst_pad_unlink: unlinked v4l2src0:src and capsfilter0:sink
0:00:08.196223048 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstpad.c:2132:gst_pad_unlink: unlinking capsfilter0:src(0xaaaaf0230c00) and videoconvert0:sink(0xaaaaf02302c0)
0:00:08.196279210 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstpad.c:2187:gst_pad_unlink: unlinked capsfilter0:src and videoconvert0:sink
0:00:08.196330476 4165 0xaaaaeffd9600 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “capsfilter0”
0:00:08.196417648 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3264:gst_element_dispose: 0xaaaaf0248190 dispose
0:00:08.196461233 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad: removing pad ‘sink’
0:00:08.196580086 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad: removing pad ‘src’
0:00:08.196633816 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3309:gst_element_dispose: 0xaaaaf0248190 parent class dispose
0:00:08.196676730 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3341:gst_element_finalize: 0xaaaaf0248190 finalize
0:00:08.196753341 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3346:gst_element_finalize: 0xaaaaf0248190 finalize parent
0:00:08.196852737 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstpad.c:2132:gst_pad_unlink: unlinking videoconvert0:src(0xaaaaf0230510) and xvimagesink0:sink(0xaaaaf0230760)
0:00:08.196911939 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstpad.c:2187:gst_pad_unlink: unlinked videoconvert0:src and xvimagesink0:sink
0:00:08.196970118 4165 0xaaaaeffd9600 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “xvimagesink0”
0:00:08.197064233 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3264:gst_element_dispose: 0xaaaaf022be00 dispose
0:00:08.197108203 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad: removing pad ‘sink’
0:00:08.197154509 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3309:gst_element_dispose: 0xaaaaf022be00 parent class dispose
0:00:08.197200943 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3341:gst_element_finalize: 0xaaaaf022be00 finalize
0:00:08.197240944 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3346:gst_element_finalize: 0xaaaaf022be00 finalize parent
0:00:08.197318644 4165 0xaaaaeffd9600 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “videoconvert0”
0:00:08.197378582 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3264:gst_element_dispose: 0xaaaaf0237340 dispose
0:00:08.197420120 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad: removing pad ‘sink’
0:00:08.197469690 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad: removing pad ‘src’
0:00:08.197522268 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3309:gst_element_dispose: 0xaaaaf0237340 parent class dispose
0:00:08.197590622 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3341:gst_element_finalize: 0xaaaaf0237340 finalize
0:00:08.197639264 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3346:gst_element_finalize: 0xaaaaf0237340 finalize parent
0:00:08.197694243 4165 0xaaaaeffd9600 INFO GST_PARENTAGE gstbin.c:1801:gst_bin_remove_func: removed child “v4l2src0”
0:00:08.197751429 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3264:gst_element_dispose: 0xaaaaf022e240 dispose
0:00:08.197792422 4165 0xaaaaeffd9600 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad: removing pad ‘src’
0:00:08.197842888 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3309:gst_element_dispose: 0xaaaaf022e240 parent class dispose
0:00:08.197886986 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3341:gst_element_finalize: 0xaaaaf022e240 finalize
0:00:08.197926412 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3346:gst_element_finalize: 0xaaaaf022e240 finalize parent
0:00:08.197966733 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3264:gst_element_dispose: 0xaaaaf0240040 dispose
0:00:08.198234936 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3309:gst_element_dispose: 0xaaaaf0240040 parent class dispose
0:00:08.198277978 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3341:gst_element_finalize: 0xaaaaf0240040 finalize
0:00:08.198315771 4165 0xaaaaeffd9600 INFO GST_REFCOUNTING gstelement.c:3346:gst_element_finalize: 0xaaaaf0240040 finalize parent
0:00:08.198350013 4165 0xaaaaeffd9600 INFO GST_INIT gst.c:1083:gst_deinit: deinitializing GStreamer
0:00:08.205205134 4165 0xaaaaeffd9600 INFO GST_INIT gst.c:1232:gst_deinit: deinitialized GStreamer

getting the green screen…could you please point me to what can be debugged to understand what am I missing here?

hello igal.kroyter,

let me re-cap some error logs as below..

let’s have issue narrow down, please check developer guide, Applications Using V4L2 IOCTL Directly.

@JerryChang hi, the window was closed because after a while I closed it manually. Moreover, we ain’t using the argus. we’ve used nv_imx185.c as a reference. could you please narrow more the path to debugging?

hello igal.kroyter,

please execute with v4l2 standard IOCTL for sharing the test results.

@JerryChang, hi,

hope that I understood you correctly. I run the following:

v4l2-ctl --set-fmt-video=width=1280,height=720,pixelformat=YUYV --stream-mmap --stream-count=1 -d /dev/video0 --stream-to=ov5693.raw --verbose

resulting the following

VIDIOC_QUERYCAP: ok
VIDIOC_G_FMT: ok
VIDIOC_S_FMT: ok
Format Video Capture:
Width/Height : 1280/720
Pixel Format : ‘YUYV’ (YUYV 4:2:2)
Field : None
Bytes per Line : 2560
Size Image : 1843200
Colorspace : sRGB
Transfer Function : Default (maps to sRGB)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Limited Range)
Flags :
VIDIOC_REQBUFS returned 0 (Success)
VIDIOC_QUERYBUF returned 0 (Success)
VIDIOC_QUERYBUF returned 0 (Success)
VIDIOC_QUERYBUF returned 0 (Success)
VIDIOC_QUERYBUF returned 0 (Success)
VIDIOC_QBUF returned 0 (Success)
VIDIOC_QBUF returned 0 (Success)
VIDIOC_QBUF returned 0 (Success)
VIDIOC_QBUF returned 0 (Success)
VIDIOC_STREAMON returned 0 (Success)
cap dqbuf: 0 seq: 0 bytesused: 1843200 ts: 0.000000 (error, ts-monotonic, ts-src-eof)
cap dqbuf: 1 seq: 1 bytesused: 1843200 ts: 0.000000 (error, ts-monotonic, ts-src-eof)
cap dqbuf: 2 seq: 2 bytesused: 1843200 ts: 0.000000 (error, ts-monotonic, ts-src-eof)
cap dqbuf: 3 seq: 3 bytesused: 1843200 ts: 0.000000 (error, ts-monotonic, ts-src-eof)
cap dqbuf: 0 seq: 0 bytesused: 1843200 ts: 0.000000 (error, ts-monotonic, ts-src-eof)
cap dqbuf: 0 seq: 0 bytesused: 1843200 ts: 0.000000 (error, ts-monotonic, ts-src-eof)
cap dqbuf: 1 seq: 1 bytesused: 1843200 ts: 0.000000 (error, ts-monotonic, ts-src-eof)
cap dqbuf: 2 seq: 2 bytesused: 1843200 ts: 0.000000 (error, ts-monotonic, ts-src-eof)
cap dqbuf: 3 seq: 3 bytesused: 1843200 ts: 0.000000 (error, ts-monotonic, ts-src-eof)
cap dqbuf: 0 seq: 0 bytesused: 1843200 ts: 0.000000 (error, ts-monotonic, ts-src-eof)
cap dqbuf: 1 seq: 1 bytesused: 1843200 ts: 0.000000 (error, ts-monotonic, ts-src-eof)
cap dqbuf: 2 seq: 2 bytesused: 1843200 ts: 0.000000 (error, ts-monotonic, ts-src-eof)
cap dqbuf: 3 seq: 3 bytesused: 1843200 ts: 0.000000 (error, ts-monotonic, ts-src-eof)

where ov5693.raw is empty

hello igal.kroyter,

it looks there’s no validate frames, normally, it should be < reported below v4l pipeline to indicate a frame has saved into memory.

@JerryChang you are correct but I do not understand why not, all lanes and clock are connected and seems to be at the right voltage. can you suggest how to attack this challenge?

hello igal.kroyter,

do you have high speed oscilloscope? please check the MIPI signaling integrity.

@JerryChang , we’ve checked it, and it seems to be OK, though I must be sure that I’ve correctly “routed” the DT to the correct lanes on the evaluation board (CAM1) (J12). could you please review it? I’ve provide it above.

hello igal.kroyter,

did you have overlay dtb file applied?
please execute the commands below to dump device tree into dts formats for checking.
for instance, $ sudo dtc -I fs -O dts /sys/firmware/devicetree/base > /tmp/123.dts

current.txt (388.3 KB)
I have attached the current tree.
The way that I’ve prepared the tree was de-compiling dtb to dts. modifying the relevant sections and then compiling the full dts file to dtb and playing it in the relevant boot directory.