hi_isp_expander_attr
Description
Defines the Expander structure.
Definition
typedefstruct {
hi_bool enable;
hi_u8 bit_depth_in; /* RW;Range:[0xC,0x14];Format:5.0;The Bit depth of input */
hi_u8 bit_depth_out; /* RW;Range:[0xC,0x14];Format:5.0;The Bit depth of output */
hi_u16 expander_point_num; /* Range:[1, 256] */
hi_isp_cmos_expander_point expander_point[HI_ISP_EXPANDER_POINT_NUM_MAX];
} hi_isp_expander_attr;
Members
Member |
Description |
|---|---|
enable |
Expander module enable.
The Expander module can be enabled only in sensor built-in mode. |
bit_depth_in |
Input data bit width. Value range: [0xC, 0x14]. The value must be an even number. |
bit_depth_out |
Output data bit width. Value range: [0xC, 0x14]. The value must be an even number. |
expander_point_num |
Number of knee points. Value range: [1, 256]. |
expander_point |
Knee point for data decompression (including horizontal and vertical coordinates). The coordinates must be monotonically increasing. #define HI_ISP_EXPANDER_POINT_NUM_MAX (HI_ISP_EXPANDER_NODE_NUM - 1) |
Restrictions
In the sensor manual, the knee points used during the internal sensor compression in sensor built-in mode are provided. You need to convert these knee points based on corresponding principles before configuring them in expander_point.
- The horizontal coordinate x of expander_point needs to be converted to a value between 0 and 256 (8 bits) based on the sensor compression curve. If the valid data width output after the sensor compression is 12 bits, the vertical coordinate of the knee point of the sensor compression curve needs to be shifted rightwards by 4 bits to obtain the horizontal coordinate x of the expander_point.
- The vertical coordinate y of expander_point needs to be converted to a value between 0 and 1048576 (20 bits) based on the sensor compression curve. If the valid bit width before the combination of sensor data is 16 bits, the horizontal coordinate of the knee point of the sensor compression curve needs to be shifted leftwards by 4 bits to obtain the vertical coordinate y of expander_point.
- You do not need to configure the inflection point coordinates (0, 0), because they will be automatically used as the start point.