We found the image raw16 data output from sensor is different from the data we get from v4l2.
For example, one pixel of output data from sensor is
but the pixel we get from v4l2 is
We guess maybe xavier move low eight bits(0x1c) to the high eight bits, and use the original high eight bits subtract 16, then move to the low eight bits.
why does xavier do this? The shift operation is easy to understand， but why is there subtraction?
The attachments are image output from sensor and get from v4l2.
We add one item like this in 《vi5_formats.h》 to support raw16,
TEGRA_VIDEO_FORMAT(RAW16, 16, SRGGB16_1X16, 2, 1, T_R16, RAW16, SRGGB16, "RGRG.. GBGB.."),
We use “T_R16” to process raw16 data, but we cannot find how “T_R16” process raw16 data. We can only find “T_R16_I” in datasheet， but “T_R16_I” cannot process raw16.
image.7z (7.21 KB)