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

#### 产品支持情况

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


#### 功能说明

运行ISP firmware一次。


#### 函数原型

```
hi_s32
hi_mpi_isp_run_once(
hi_vi_pipe
vi_pipe)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| vi\_pipe | 输入 | VI PIPE号。 取值范围：[0, 12)。 |


#### 返回值说明

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


#### 约束说明

- 运行前需要确保已调用hi_mpi_isp_init初始化ISP。
- 不支持多进程，必须要与hi_mpi_isp_sensor_reg_callback、hi_mpi_isp_ae_lib_reg_callback、hi_mpi_isp_awb_lib_reg_callback、hi_mpi_isp_init、hi_mpi_isp_run、hi_mpi_isp_exit、hi_mpi_ae_register、 hi_mpi_awb_register接口在同一个进程调用。
- 该接口是阻塞接口。
- 该接口主要用于用户给BE灌RAW。在使用时，要等待上一次发送的RAW数据处理完成之后才能进行下一次的hi_mpi_isp_run_once接口调用。发送RAW数据是调用hi_mpi_vi_send_pipe_raw接口，处理RAW数据是调用接口hi_mpi_vi_get_chn_frame。
- 使用hi_mpi_isp_run_once接口时处理视频流时，支持模式切换及分辨率切换，切换流程与使用hi_mpi_isp_run处理视频流类似：即切换过程中ISP模块无需退出，VI模块需要销毁重建。区别在于：使用hi_mpi_isp_run_once处理视频流时需要用户创建一个线程。
- 对于同一个VI PIPE，不能同时使用hi_mpi_isp_run和hi_mpi_isp_run_once接口。
