hi_mpi_venc_send_frame_ex

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 and their QpMap table information for encoding through an H.264/H.265 encoding channel.

Prototype

hi_s32 hi_mpi_venc_send_frame_ex(hi_venc_chn chn, const hi_user_frame_info *frame, hi_s32 milli_sec)

Parameters

Parameter

Input/Output

Description

chn

Input

Encoding channel ID.

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

  • Only H.264/H.265 encoding channels support this API.
  • The size of the original image in the VI channel must be the same as that of the 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.