You’re right — my current line_length is set to 1493, which is indeed smaller than active_w = 3840, so it doesn’t align with the definition of horizontal timing size.
Coudl you please suggest the correct value for line length as per my specs I used. It would be a great help fo me as a beginner in camera porting.
all right, according to the logs, it looks we’ve done parsing the embedded metadata lines.
there’s CHANSEL_PXL_SOF which means a frame-start has detected,
however, it’s follow by CHANSEL_FAULT and also CHANSEL_SHORT_FRAME, which means a frame has shorter than the configuration, it may also due to insufficient data coming from sensor.
please try reduce active_h for testing, please also aware that VI only support with even numbers.
it still has CHANSEL_SHORT_FRAME reported, and VI also don’t have CHANSEL_PXL_EOF detected as a complete frame.
you may try to reduce the active_h further for testing, please also double check the configuration on the sensor side.
Different platform and JetPack from yours, but the sensor side is identical, so it might be useful as a cross-check baseline.
One thing that looks directly relevant: during our bring-up we hit the same corr_err: discarding frame ... err_data 256 symptom whenever the DT had embedded_metadata_height = 1, and we couldn’t get it stable across the EBD_X_OUT_SIZE (0x3A54/0x3A55) values we tried. The combination that’s been stable in our config is embedded_metadata_height = 0 together with EBD_X_OUT_SIZE = 0, i.e. EBD fully disabled.
Thanks for sharing, it helped me a lot but once I added one single mode and goes for another modes to add like 3840*2160 it again gives me same frame discarding err 256 and I’m still confused how to solve this issue.
But while capturing raw img sensor is responding and capturing img but while reading fps it gives continous frame discarding issue err 256 and I am not be able to stream using nvarguscamerasrc plugin but my other modes streaming works.
Here is the attached trace log hope this helped you to understand my actual issue, I am facing.
this still an issue with sensor configuration, this means a line has more pixels than expected width, pixels dropped.
so, the VI/RCE thinks at least one received image line is longer than the configured width.
I have added another mode Horizontal/vertical 3/3-line binning where livestreaming works well but v4l2-ctl --stream-mmap -d /dev/video0 cmd output nothing.
Also during livestream, video feed looks misalign. Could you please help me which parameters likely cause this cut on the upper region of the livestream.
it looks alignment issues, please note that, we should have follow VI’s 64 byte aligned to set the correct stride, you may give it a try to set the width alignment to 64.
For mode2 (1824x1216), V4L2 reports bytesperline = 3648, which is already divisible by 64. When you mention VI 64-byte alignment, do you mean the memory stride or the active image width itself must be aligned to 64 pixels? The sensor mode is a Sony-defined 3x3 binning mode with output size 1824x1216 from the vendor spreadsheet, and the symptom is a small corrupted/misaligned region at the top of the frame together with CHANSEL_NOMATCH/CHANSEL_FAULT events.
I have solved that misalignment issue but I am unable to read fps or raw img capture but I am able to capture in jpg here the cmd I am using for capturing jpg
did you have several sensor modes?
did you enable use_sensor_mode_id = "true"; for mode selection?
you should review your DT property, and please try again with following..
for instance, $ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1864,height=2134,pixelformat=RG10 --set-ctrl bypass_mode=0 --set-ctrl sensor_mode=2 --stream-mmap --stream-count=100