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.

  • HI_FALSE: disabled
  • HI_TRUE: enabled

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.