acl.himpi.venc_send_frame

C Prototype

hi_s32 hi_mpi_venc_send_frame(hi_venc_chn chn, const hi_video_frame_info *frame, hi_s32 milli_sec)

Python Function

ret = acl.himpi.venc_send_frame(chn, frame, milli_sec)

Function Usage

Sends source images for video or image encoding.

The Atlas 200/300/500 Inference Product does not support this API.

The Atlas Training Series Product does not support this API.

Input Description

chn: int, encoding channel ID.

frame: dict, original image information dictionary. For details, see hi_video_frame_info.

milli_sec: int, timeout interval (ms).
  • -1: blocking mode.
  • 0: non-blocking mode.
  • > 0: timeout interval (timeout mode). The timeout interval varies with the operating system. The deviation is generally within a time slice of an operating system. For example, if the time slice of an operating system is 4 ms and the value of milli_sec is set to 1, the actual timeout interval ranges from 1 ms to 5 ms. When the CPU load is high, the timeout interval may still fluctuate.

Return Value

ret: int, error code.

Restrictions

  • The size of an original video image must be the same as that of an encoding channel. The size of an original JPEGE image must be less than or equal to that of an encoding channel.
  • Ensure that an encoding channel has been created and started receiving images.
  • During encoding, the input buffer can be deallocated only after acl.himpi.venc_get_stream is called to obtain the result.
  • For details about the input and output restrictions on video encoding, see VENC Functions and Restrictions.
  • For details about the input and output restrictions on image encoding, see JPEGE Functions and Restrictions.