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.