hi_mpi_isp_run_once
Description
Runs the ISP firmware once.
Constraints
- Before running the ISP firmware, ensure that hi_mpi_isp_init is called to initialize the ISP.
- Multiple processes are not supported. This API must be called in the same process as 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, and hi_mpi_awb_register.
- This API is a blocking API.
- This interface is used to import raw data to the BE. hi_mpi_isp_run_once can be called again only after the raw data imported last time is processed. hi_mpi_vi_send_pipe_raw is called to import raw data, and hi_mpi_vi_get_chn_frame is called to process raw data.
- When hi_mpi_isp_run_once is used to process video streams, mode switching and resolution switching are supported. The switching process is similar to that of processing video streams by hi_mpi_isp_run. That is, the ISP module does not need to exit during switching, while the VI module needs to be destroyed and re-created. The difference is that you need to create a thread when using hi_mpi_isp_run_once to process video streams.
- For the same VI pipe, hi_mpi_isp_run and hi_mpi_isp_run_once cannot be used at the same time.
Prototype
hi_s32 hi_mpi_isp_run_once(hi_vi_pipe vi_pipe)
Parameters
Parameter |
Input/Output |
Description |
|---|---|---|
vi_pipe |
Input |
VI pipe ID Value range: [0, 8) |
Returns
- 0: success
- Other values: failure. For details, see Error Codes.
Parent topic: Advanced ISP System Control Parameter Configuration