---
title: hi_mpi_isp_set_ae_route_attr_ex
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/others/ispdevug/ispdevapi_0168.html
sourcePath: /source/zh/canncommercial/900/others/ispdevug/ispdevapi_0168.html
indexId: 53691315dc98a7dbabfe7107a0b7f1b8f1b79a816f0d2de0f9adb5e37abd368565
---
# hi_mpi_isp_set_ae_route_attr_ex

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | ☓ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | ☓ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | ☓ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | ☓ |
| Atlas 训练系列产品 | ☓ |


#### 功能说明

设置AE曝光分配扩展属性，支持分别设置AE分配策略中的sensor模拟增益，sensor数字增益和ISP数字增益。


#### 函数原型

```
hi_s32
hi_mpi_isp_set_ae_route_attr_ex(
hi_vi_pipe
vi_pipe, const
hi_isp_ae_route_ex
*ae_route_attr_ex)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| vi\_pipe | 输入 | VI PIPE号。 取值范围：[0, 12)。 |
| ae\_route\_attr\_ex | 输入 | AE曝光分配策略扩展属性结构体指针。 |


#### 返回值说明

- 0：成功
- 非0：失败，参见  ISP返回码
。


#### 约束说明

- 此接口用于设定AE曝光分配扩展属性，AE计算得到的曝光量将按照设定的路线进行分配，用户可以根据自己的需求设定曝光时间优先、sensor模拟增益优先、 sensor数字增益优先、ISP数字增益优先和光圈优先。该接口可用于设置WDR模式下的曝光分配路线，减轻正常室内照度多帧合成WDR产生的工频闪现象，优化WDR模式图像效果。
- AE曝光分配扩展属性是否生效可通过配置hi_mpi_isp_set_exposure_attr接口中的ae_route_ex_valid来实现。ae_route_ex_valid为HI_TRUE时使用扩展AE route，否则使用正常AE route。
- AE扩展分配路线遵循以下限定：

  - 最大支持 16 个节点，每个节点有曝光时间、sensor模拟增益、sensor数字增益、ISP数字增益和光圈五个分量。
  - 节点中曝光时间的单位为us，不能设置为 0，也不能设置太小导致实际对应的曝光行数为 0，否则可能产生异常。
  - 光圈分量仅支持P-Iris，不支持DC-Iris，因为DC-Iris无法精确控制，所以DCIris和手动光圈镜头光圈分量是无效的。即光圈类型为DC-Iris时，节点光圈分量不会对曝光量分配产生任何影响。
  - 节点的曝光量是曝光时间、sensor模拟增益、sensor数字增益、ISP数字增益和光圈的乘积，节点曝光量单调递增，后一个节点的曝光量大于或等于前一个节点的曝光量，第一个节点的曝光量最小，最后一个节点的曝光量最大。
  - 如果相邻节点的曝光量增加，那么应该有一个分量增加，其他分量固定，增加的分量决定该段路线的分配策略。例如sensor模拟增益分量增加，那么该段路线的分配策略是sensor模拟增益优先。
  - 不支持设置等曝光量节点。
  - 用户可以根据不同的场景设置不同的路线，分配路线支持动态切换。
  - AE分配路线不能用于限制曝光参数的最大值和最小值。如果当前曝光量不在用户设定的路线范围当中，即曝光量超出了第一个节点或最后一个节点，曝光参数分配会超出节点限制，但不超过参数本身范围限制。
  - 针对DC-Iris和手动光圈镜头，默认AE扩展分配策略是先分配曝光时间，再分配sensor模拟增益、sensor数字增益，最后分配ISP数字增益。针对P-Iris镜头，默认AE扩展分配策略是先调节光圈，将光圈调至最大后调节曝光时间，最后再分配sensor模拟增益、sensor数字增益和ISP数字增益。如果当前曝光量不在用户设定的路线范围当中，按默认策略分配。
  - 在线进行DC-Iris和P-Iris切换，扩展AE route会重置为与光圈类型相匹配的默认分配策略，用户可以根据需要在切换光圈类型时自行设置扩展AE route。
  - 2 合 1WDR模式下，优先帧为短帧且增益分开配置不使能时，扩展AE route不生效。
  - 自动降帧时，最大曝光时间的改变会更新到分配路线中。
  - 线性模式与WDR模式切换时，若cmos.c里面设置了扩展AE route，且cmos.c中的扩展AE route标识符ae_route_ex_valid为HI_TRUE，则在切换后会采用cmos.c中的扩展AE route，否则采用默认的AE route。
  - 帧率或分辨率切换时，若用户设置的最大曝光目标时间大于切换后 1 帧所允许的最大曝光时间，那么分配路线的最大曝光时间会更新为切换后 1 帧所允许的最大曝光时间。
  - 发生自动降帧、线性与WDR模式切换、帧率或分辨率切换、优先帧切换、增益分开配置切换、限制曝光时间或增益的最大最小值等情况时，实际生效的扩展AE route可能与MPI设置的不一致，此时可以通过hi_mpi_isp_query_exposure_info获取实际生效的扩展AE route。


#### 调用示例

```
hi_vi_pipe vi_pipe = 0;
hi_isp_exposure_attr exp_attr;
hi_isp_ae_route_ex ae_route_attr_ex;
hi_u32 route_ex_node [6][5]
= {{   30,  1024,  1024, 1024, 0},
{   30,  1024,  1024, 1024, 10},
{   30, 16384,  1024, 1024, 10},
{1000000, 16384,  1024, 1024, 10},
{1000000, 16384, 16384, 1024, 10},
{1000000, 16384, 16384, 4096, 10}};
hi_mpi_isp_get_ae_route_attr_ex(vi_pipe,&ae_route_attr_ex);
hi_mpi_isp_get_exposure_attr(vi_pipe, &exp_attr);
exp_attr.ae_route_ex_valid = HI_TRUE;
ae_route_attr_ex. total_num = 6;
memcpy(ae_route_attr_ex.route_ex_node, route_ex_node, sizeof(route_ex_node));
hi_mpi_isp_set_ae_route_attr_ex(vi_pipe, & ae_route_attr_ex);
hi_mpi_isp_set_exposure_attr(vi_pipe, & ae_route_attr_ex);
```
