---
title: hi_isp_drc_attr
description: "定义ISP DRC属性。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/others/ispdevug/ispdevapi_0400.html
sourcePath: /source/zh/canncommercial/900/others/ispdevug/ispdevapi_0400.html
indexId: 228fe01864c8125770ab07287a9b5c500ead2f791eac6d8e0c35be0228a053da65
---
# hi_isp_drc_attr

#### 说明

定义ISP DRC属性。


#### 定义

```
typedef struct {
hi_bool
enable;
hi_isp_drc_curve_select
curve_select;
hi_u8
purple_reduction_strength;
hi_u8
local_mixing_bright_max;
hi_u8
local_mixing_bright_min;
hi_u8
local_mixing_bright_thr;
hi_s8
local_mixing_bright_slo;
hi_u8
local_mixing_dark_max;
hi_u8
local_mixing_dark_min;
hi_u8
local_mixing_dark_thr;
hi_s8
local_mixing_dark_slo;
hi_u8
bright_gain_lmt;
hi_u8
bright_gain_lmt_step;
hi_u8
dark_gain_lmt_y;
hi_u8
dark_gain_lmt_c;
hi_u16
color_correction_lut[HI_ISP_DRC_CC_NODE_NUM];
hi_u16
tone_mapping_value[HI_ISP_DRC_TM_NODE_NUM];
hi_u8
contrast_control;
hi_s8
detail_adjust_factor;
hi_u8
spatial_flt_coef;
hi_u8
range_flt_coef;
hi_u8
range_ada_max;
hi_u8
grad_rev_max;
hi_u8
grad_rev_thr;
hi_op_mode
op_type;
hi_isp_drc_manual_attr
manual_attr;
hi_isp_drc_auto_attr
auto_attr;
hi_isp_drc_asymmetry_curve_attr
asymmetry_curve;
} hi_isp_drc_attr;
```


#### 成员

| 成员名称 | 描述 |
| --- | --- |
| enable | DRC动态范围压缩使能。 取值范围： HI\_FALSE：关闭 HI\_TRUE：使能 |
| curve\_select | DRC Tone mapping曲线选择。 取值范围： HI\_ISP\_DRV\_CURVE\_ASYMMETRY：Asymmetry curve HI\_ISP\_DRC\_CURVE\_USER：用户自定义曲线 |
| purple\_reduction\_strength | 紫边校正强度，值越大，紫边校正强度越大。 取值范围：[0x0, 0x80] |
| local\_mixing\_bright\_max | 线性细节增强：用来控制正向细节的增益的最大值。 取值范围：[0x0, 0x80] |
| local\_mixing\_bright\_min | 线性细节增强：用来控制正向细节的增益的最小值。 取值范围：[0x0, 0x40] |
| local\_mixing\_bright\_thr | 线性细节增强：用来控制正向细节增益随亮度自适应的阈值。当像素亮度超过该阈值，增益将从最大值向最小值过渡（或反之，取决于斜率参数的符号）。 取值范围：[0x0, 0xFF] |
| local\_mixing\_bright\_slo | 线性细节增强：用来控制正向细节增益随亮度自适应的斜率。绝对值越大，从最小值到最大值（或反之）过渡越快。 取值范围：[\-0x7, 0x7] |
| local\_mixing\_dark\_max | 线性细节增强：用来控制负向细节的增益最大值。 取值范围：[0x0, 0x80] |
| local\_mixing\_dark\_min | 线性细节增强：用来控制负向细节的增益最小值。 取值范围：[0x0, 0x40] |
| local\_mixing\_dark\_thr | 线性细节增强：用来控制负向细节增益随亮度自适应的阈值。当像素亮度超过该阈值，增益将从最小值向最大值过渡（或反之，取决于斜率参数的符号）。 取值范围：[0x0, 0xFF] |
| local\_mixing\_dark\_slo | 线性细节增强：用来控制负向细节增益随亮度自适应的斜率。绝对值越大，从最小值到最大值（或反之）过渡越快。 取值范围：[\-0x7, 0x7] |
| bright\_gain\_lmt | 亮区亮度增益限制目标值，值越大，限制越大。 取值范围：[0x0, 0xF] |
| bright\_gain\_lmt\_step | 亮区亮度增益限制自适应步长，值越小，限制越大。 取值范围：[0x0, 0xF] |
| dark\_gain\_lmt\_y | 暗区亮度增益限制，值越大，限制越大。 取值范围：[0x0, 0x85] |
| dark\_gain\_lmt\_c | 暗区色度增益限制，值越大，限制越大。 取值范围：[0x0, 0x85] |
| color\_correction\_lut[HI\_ISP\_DRC\_CC\_NODE\_NUM] | 颜色校正系数LUT，值越小，饱和度越低。 取值范围：[0x0, 0x400] \#define HI\_ISP\_DRC\_CC\_NODE\_NUM 33 |
| tone\_mapping\_value[HI\_ISP\_DRC\_TM\_NODE\_NUM] | 用户自定义Tone Mapping曲线LUT。 取值范围：[0x0, 0xFFFF] \#define HI\_ISP\_DRC\_TM\_NODE\_NUM 200 |
| contrast\_control | 局部对比度控制，参数效果与图像亮度分布相关，一般场景下建议值为6到10 之间。 取值范围：[0x0, 0xF] |
| detail\_adjust\_factor | Filter细节微调系数。值越大，整体细节越强。 取值范围：[\-0xF, 0xF] |
| spatial\_flt\_coef | Filter空域滤波系数。值越大，运动光晕越不明显，细节越少；值越小，细节表现越好，运动halo越明显。 取值范围：[0x0, 0x5] |
| range\_flt\_coef | Filter值域滤波系数。值越大，halo越明显；值越小，halo表现越好，但是在强边缘处可能会出现描边现象。 取值范围：[0x0, 0xA] |
| range\_ada\_max | 控制值域滤波系数的自适应范围。实际生效滤波系数在[range\_flt\_coef, MIN(range\_flt\_coef+range\_ada\_max, 0xA)]范围内。调大该值有助于减弱边线，但同时可能造成背光物体细节损失。 取值范围：[0x0, 0x8] |
| grad\_rev\_max | 去边线强度。值越大，边线减弱越明显，但是可能会带来细节损失。 取值范围：[0x0, 0x40] |
| grad\_rev\_thr | 边线检测阈值。值越大，边线减弱越明显，但是可能会带来细节损失。 取值范围：[0x0, 0x80] |
| op\_type | DRC工作类型。 取值范围： HI\_OP\_MODE\_AUTO：使用自动DRC功能。 HI\_OP\_MODE\_MANUAL：使用手动DRC功能。 |
| manual\_attr | DRC手动参数。 |
| auto\_attr | DRC自动参数。 |
| asymmetry\_curve | DRC Asymmetry Curve属性。 |


#### 注意事项

- 建议color_correction_lut的值不要调试过小，因为降低饱和度的同时会带来高频细节的损失，用户可以配合CA模块来调试整体饱和度。
- dark_gain_lmt_y和dark_gain_lmt_c两个接口的实际效果不完全平滑，即参数在两个相邻值之间切换时，效果可能存在跳变。
