Embedded data line processing error with IMX462

When attempting to integrate the IMX462 with the Orinoco NX, an embedded data line parsing error was encountered. For details, please refer to the log.

According to the sensor’s datasheet, the IMX462 has only 1 line of embedded data. However, when I attempted to set the “embedded_metadata_height” in the device tree source (DTS) to all values between 0 and 4, I encountered the error code 0x249 as shown in the attached log.
error.txt (56.9 KB)

hello xumm_td,

may I also know what’s the data-type of this embedded metadata?
is it sending top/bottom embedded metadata separately?

FYI, embedded data are supported with 0x12 data types, (i.e. embeddedData type specified by CSI-2).
if you’ve embedded line with other data type, it’ll need software implementation to setup a dedicate VI channel to receive embedded line data.

Hi @JerryChang
Yes,It‘s 0x12.

hello xumm_td,

so, the configuration… embedded_metadata_height must be 1-line in the device tree settings.
please enable VI tracing log with 1-line of embedded data for reference, thanks

The attachment of my first posted thread is what was captured when the embedded_metadata_height was set to 1.

hello xumm_td,

below indicate parsing embedded data is complete.

rtcpu_vinotify_event: tstamp:5200895900 cch:0 vi:1 tag:CHANSEL_EMBED_SOF channel:0x23 frame:1 vi_tstamp:166427810816 data:0x0000000000000004
rtcpu_vinotify_event: tstamp:5200896035 cch:0 vi:1 tag:CHANSEL_EMBED_EOF channel:0x23 frame:1 vi_tstamp:166427812192 data:0x0000000000000008
rtcpu_vinotify_event: tstamp:5200896188 cch:0 vi:1 tag:ATOMP_EMB_DATA_DONE channel:0x23 frame:1 vi_tstamp:166427814304 data:0x0000000000000000

the following is the configuration of your active region.

rtcpu_vinotify_event: tstamp:5200896473 cch:0 vi:1 tag:CHANSEL_NOMATCH channel:0x04 frame:1 vi_tstamp:166427840448 data:0x00000000000006e9
rtcpu_vinotify_event: tstamp:5200896887 cch:0 vi:1 tag:CHANSEL_FAULT channel:0x23 frame:1 vi_tstamp:166427999296 data:0x0000000000000100

the failure is CHANSEL_FAULT with error code 0x100, it means PIXEL_LONG_LINE.
please examine the active_w settings,

I believe you’ve highlighted a crucial point of concern. The output of IMX462 has 3 dummy pixels on the right side of each line, which might be related to this.
For instance, if I set WINWH to 1920 and the dummy pixels are not what I desire, how should I configure it in this case?
Should it be active_w=1920, num_of_right_margin_pixels=3?
Does the line_length need to be set to a specific number accurately?

hello xumm_td,

is it a SDR or WDR DOL (Digital Overlap) sensors?
this property num_of_right_margin_pixels only works with DOL sensors.

do you really need those dummy region?
what if setting active_w as 1920? don’t that match your expectation?
besides, line_length that should also depends-on your register settings.

@JerryChang I have made a new discovery. The previous assumption about the direction of active_w might have been incorrect. I encountered an error when using a resolution of 1920x1080, but when using 1920x1088, I am able to receive images correctly.

cool, glad to know it works.

@JerryChang I have a question regarding how to configure active_h. Should EBD+NULL+OB+WINWH in the diagram above all be included in the calculation for active_h? In reality, I only need the data from WINWH.

hello xumm_td,

there’re different pixel parsers, there’s specific pixel parser for embedded metadata.
it’s embedded_metadata_height definition to handle that, so, EBD is not included for active region.

active_h means the total height of the pixel-active region. basically, the active_h should be identical with recording pixel height, sometimes, you should add some effective margin for your real use-case.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.