hi_isp_gamma_attr

Description

Defines the attribute for ISP gamma correction.

Definition

typedef struct {
    hi_bool   enable;                    
    hi_u16    table[HI_ISP_GAMMA_NODE_NUM];    
    hi_isp_gamma_curve_type curve_type;    
} hi_isp_gamma_attr;

Members

Member

Description

enable

Gamma correction enable

HI_FALSE: disabled; HI_TRUE: enabled

table[HI_ISP_GAMMA_NODE_NUM]

LUT used to indicate the input and output values

Value range: [0x0, 0xFFF]

#define HI_ISP_GAMMA_NODE_NUM 1025

curve_type

Gamma curve select

  • Default value: HI_ISP_GAMMA_CURVE_DEFAULT
  • SDR mode: HI_ISP_GAMMA_CURVE_SRGB
  • HDR mode: HI_ISP_GAMMA_CURVE_HDR. This option is not supported in the current version.
  • User-defined mode: HI_ISP_GAMMA_CURVE_USER_DEFINE

Restrictions

  • The same group of gamma tables are invoked for R, G, and B gamma correction.
  • curve_type cannot be set to HI_ISP_GAMMA_CURVE_HDR. When it is set to this value, the error code "HI_ERR_ISP_ILLEGAL_PARAM" is returned. When HI_ISP_GAMMA_CURVE_DEFAULT or HI_ISP_GAMMA_CURVE_SRGB is selected, the system automatically configures the preset curve. In this case, dragging the curve using a tool does not take effect. You can use a tool to modify the curve only when curve_type is set to HI_ISP_GAMMA_CURVE_USER_DEFINE.
  • After using any type of preset curve, you can switch to HI_ISP_GAMMA_CURVE_USER_DEFINE and perform gamma adjustment based on the preset curve.