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

#### 产品支持情况

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


#### 功能说明

设定P-Iris自动光圈的控制属性。


#### 函数原型

```
hi_s32
hi_mpi_isp_set_piris_attr(
hi_vi_pipe
vi_pipe, const
hi_isp_piris_attr
*piris_attr)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| vi\_pipe | 输入 | VI PIPE号。 取值范围：[0, 12)。 |
| piris\_attr | 输入 | P\-Iris自动光圈控制属性结构体指针。 |


#### 返回值说明

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


#### 约束说明

- P-Iris自动光圈控制属性包含一个只写参数step_fno_table_change，建议先对该结构体赋值，set MPI接口一次之后再get MPI接口，直接get再set MPI可能会报错。
- P-Iris镜头光圈控制通过AE分配路线进行。P-Iris对接重点在于正确设置镜头相关参数和合理设置AE分配路线，详见hi_isp_piris_attr和hi_mpi_isp_set_ae_route_attr部分描述，才能保证P-Iris正常工作。由于不同PIris的驱动方式可能会有差别，用户可以自行修改P-Iris驱动以适配不同镜头。
  关闭AI功能，对于P-Iris镜头，光圈会打开到最大光圈目标值对应步进电机位置。


#### 调用示例

```
hi_vi_pipe vi_pipe = 0;
hi_isp_piris_attr  piris_attr, piris_attr_def;
hi_u16 total_step_def = 93;
hi_u16 step_count_def = 62;
hi_u16 step_fno_table_def[1024] =
{30,35,40,45,50,56,61,67,73,79,85,92,98,105,112,120,127,135,143,150,158,166,174,183,191,200,20 8,217,225,234,243,252,261,270,279,289,298,307,316,325,335,344,353,362,372,381,390,399,408,41
7,426,435,444,453,462,470,478,486,493,500,506,512};
hi_isp_iris_f_no  max_iris_fno_target_def = 9;
hi_isp_iris_f_no  min_iris_fno_target_def = 5;
piris_attr_def.step_fno_table_change= HI_TRUE;
piris_attr_def.zero_is_max= HI_TRUE;
piris_attr_def.step_count= step_count_def;
piris_attr_def.total_step= total_step_def;
piris_attr_def.max_iris_fno_target = max_iris_fno_target_def;
piris_attr_def.min_iris_fno_target = min_iris_fno_target_def;
memcpy(piris_attr_def.step_fno_table, step_fno_table_def, sizeof(piris_attr_def.step_fno_table));
hi_mpi_isp_set_piris_attr(vi_pipe, &piris_attr_def);
hi_mpi_isp_get_piris_attr(vi_pipe, &piris_attr);
```
