I have an image sensor that supports a compressed 12bit output in SE HDR mode over MIPI. The compressed 12bit mode needs to be decompressed/decoded according to the following table:
I noticed from the Parker TRM section 27.10.3 Companding Module that the hardware appears to be able to do the necessary companding/decompanding and supports the OV10640 and the AR0231. However, I could not find any examples for either of these sensors and the TRM text describing the Companding Module is not detailed enough to support an implementation. It also looks like there is a kernel ioctl interface
#define VI_CAPTURE_SET_COMPAND _IOW('I', 8, struct vi_capture_compand)
to configure the companding base, scale, and offset parameters.
- Does the Tegra X2 VI module support decompanding/decompressing RAW 12bit MIPI data to 16bit data?
- After decompanding, does the output pass to the ISP for additional processing?
- Does the kernel ioctl interface properly support the configuration and enabling the decompanding support?
- Are there any example programs (i.e., for the OV10640 or the AR0231) that configure the decompanding from userspace with the ioctl or some other mechanism?
- Could you please provide the VI PIXFMT COMPAND KNEE BASE, SCALE, and OFFSET values for one or two rows of my table so I can understand how to translate my entire table to the VI_PIXFMT_COMPAND_KNEE_CFG… values?