IMX586 color issue on Jetson Orin NX (streaming works but colors are incorrect)

Hi NVIDIA Support Team,

I am integrating the Sony IMX586 sensor on the Jetson Orin NX platform.

Current status:

  • Video streaming works stably (I can see live preview).

  • However, the live video output is blurry.

For reference, I have attached a sample screenshot from the live stream showing the blurring issue.

Important note:

  • The same sensor register settings work correctly on a Qualcomm platform, producing sharp and normal colors.

Request:
Could you please help identify what might be causing the blurring during live streaming?

Below are the relevant logs and configurations:

1. Log: v4l2-ctl -d /dev/video0 --stream-mmap --stream-count=200 --stream-to=/dev/null --verbose

ssh:

cap dqbuf: 0 seq:     0 bytesused: 1907712 ts: 41.876231 field: None (error, ts-monotonic, ts-src-eof)
cap dqbuf: 1 seq:     1 bytesused: 1907712 ts: 41.880394 delta: 4.163 ms field: None (error, ts-monotonic, ts-src-eof)
cap dqbuf: 2 seq:     2 bytesused: 1907712 ts: 41.888720 delta: 8.326 ms field: None (error, ts-monotonic, ts-src-eof)
cap dqbuf: 3 seq:     3 bytesused: 1907712 ts: 41.897045 delta: 8.325 ms field: None (error, ts-monotonic, ts-src-eof)
cap dqbuf: 0 seq:     4 bytesused: 1907712 ts: 41.905371 delta: 8.326 ms field: None (error, ts-monotonic, ts-src-eof)
cap dqbuf: 1 seq:     5 bytesused: 1907712 ts: 41.913697 delta: 8.326 ms field: None (error, ts-monotonic, ts-src-eof)
cap dqbuf: 2 seq:     6 bytesused: 1907712 ts: 41.922023 delta: 8.326 ms field: None (error, ts-monotonic, ts-src-eof)
cap dqbuf: 3 seq:     7 bytesused: 1907712 ts: 41.930349 delta: 8.326 ms field: None (error, ts-monotonic, ts-src-eof)
cap dqbuf: 0 seq:     8 bytesused: 1907712 ts: 41.938674 delta: 8.325 ms field: None (error, ts-monotonic, ts-src-eof)

picocom:

[ 32.407032] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 1, flags: 0, err_data 39845986
[ 32.411083] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 2, flags: 0, err_data 39845986
[ 32.419538] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 4, flags: 0, err_data 39845986
[ 32.427870] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 6, flags: 0, err_data 39845986
[ 32.436029] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 8, flags: 0, err_data 39845986
[ 32.444350] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 10, flags: 0, err_data 39845986
[ 32.452677] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 12, flags: 0, err_data 39845986
[ 32.461005] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 14, flags: 0, err_data 39845986
[ 32.469337] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 16, flags: 0, err_data 39845986
[ 32.477650] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 18, flags: 0, err_data 39845986
[ 32.485984] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 20, flags: 0, err_data 39845986

Trace debug:

vi-output, imx5-2515    [000] ....... 169.395141: vi_task_submit: class_id:48 ch:0 syncpt_id:31 syncpt_thresh:273 pid:2515 tid:2515
vi-output, imx5-2515    [000] ....... 169.395154: vi_task_submit: class_id:48 ch:0 syncpt_id:31 syncpt_thresh:273 pid:2515 tid:2515
vi-output, imx5-2515    [000] ....... 169.395155: vi_task_submit: class_id:48 ch:0 syncpt_id:31 syncpt_thresh:273 pid:2515 tid:2515
vi-output, imx5-2515    [000] ....... 169.395156: vi_task_submit: class_id:48 ch:0 syncpt_id:31 syncpt_thresh:273 pid:2515 tid:2515
        v4l2-ctl-2502    [002] ....... 169.395767: tegra_channel_set_stream: enable : 0x1
        v4l2-ctl-2502    [002] ....... 169.399639: tegra_channel_set_stream: 13e00000.host1x:nvcsi@15a00000- : 0x1
        v4l2-ctl-2502    [002] ....... 169.399643: csi_s_stream: enable : 0x1
        v4l2-ctl-2502    [002] ....... 169.400264: tegra_channel_set_stream: imx586 9-001a : 0x1
vi-output, imx5-2517    [001] ....... 169.458738: tegra_channel_capture_frame: sof:178.927876864
vi-output, imx5-2517    [001] ....... 169.458740: tegra_channel_capture_frame: eof:178.931761984

Any advice or known issues regarding IMX586 on Orin NX would be very helpful.

Thank you in advance.

Best Regards,

Vĩnh.

Hello @vinh.ns!

Based on the title and content of your topic, it looks like it may receive better visibility and feedback in a different category. We took the liberty of moving it for you.

If this was an incorrect assessment, please send me a direct message.

Disclaimer: this moderation suggestion and message were generated with AI assistance.

hello vinh.ns,

please refer to developer guide, Applications Using V4L2 IOCTL Directly.
let’s have raw dump to check the sensor output content,
here’s sample pipeline for your reference,
for instance, $ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1 --stream-to=test.raw
please try 3rdparty utility (such as 7yuv) to view the raw, let’s check sensor is outputting frames correctly.

It looks like the expected buffers coming from the sensor have something off or unexpected compared to what the Jetson is waiting for. Could you double check that the configuration in the device tree matches what is expected, like bit depth, resolution and emmbebded metadata lines.

Assuming the image is from argus, you can also check the argus log while capturing, if v4l2-ctl is not capturing but argus is, its likely that you will see some errors there.

journalctl -u nvargus-daemon -f

Best regards,
Daniel Gonzalez
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com
Website: www.ridgerun.com