hi_mpi_venc_send_frame

Applicability

Product

Supported

Atlas 350 Accelerator Card

Atlas A3 training product / Atlas A3 inference product

Atlas A2 training product / Atlas A2 inference product

Atlas 200I/500 A2 inference product

Atlas inference product

Atlas training product

Function Description

Sends source images for video or image encoding.

Prototype

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

Parameters

Parameter

Input/Output

Description

chn

Input

Encoding channel ID.

Atlas 350 Accelerator Card: encoding channel ID. The value range is as follows: [0, 256). The maximum number of JPEGE channels is 256.

Atlas A3 training product / Atlas A3 inference product : The value range of the encoding channel ID is [0, 256). The maximum number of JPEGE channels is 256.

Atlas A2 training product / Atlas A2 inference product : The value range of the encoding channel ID is [0, 256). The maximum number of JPEGE channels is 256.

Atlas 200I/500 A2 inference product : The value range of this parameter is [0, 128). The JPEGE, and VENC functions share the same channels, and the maximum number of channels is 128.

For the Atlas inference product , the value range of the encoding channel ID is [0, 256). The JPEGE and VENC functions share channels. The maximum number of channels is 256.

frame

Input

Pointer to the source image information.

milli_sec

Input

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 fluctuate.

Returns

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.
  • The encoding channel passed to the API call must have been created and started to receive images.
  • During encoding, the input memory can be released only after the hi_mpi_venc_get_stream interface is called to obtain the result.
  • For details about the restrictions on video encoding input and output, see VENC Functions and Restrictions.
  • For details about the restrictions on image encoding input and output, see JPEGE Functions and Restrictions.

See Also

For details about the API call sequence and examples, see JPEGE and VENC.