venc_send_frame_ex

Applicability

Product

Supported (√/x)

Atlas A3 training products/Atlas A3 inference products

x

Atlas A2 training products/Atlas A2 inference products

x

Atlas training products

x

Atlas inference products

Atlas 200I/500 A2 inference products

x

Function Usage

Sends source images and their QpMap table information for encoding through an H.264/H.265 encoding channel.

Prototype

  • C Prototype
    1
    hi_s32 hi_mpi_venc_send_frame_ex(hi_venc_chn chn, const hi_user_frame_info *frame, hi_s32 milli_sec)
    
  • Python Function
    1
    ret = acl.himpi.venc_send_frame_ex(chn, frame, milli_sec)
    

Parameter Description

Parameter

Description

chn

Int, encoding channel ID.

Atlas inference products: The value range of this parameter is [0, 256). The JPEGE and VENC functions share the same channels, and the maximum number of channels is 256.

frame

Dict, dictionary of original image information. For details, see hi_user_frame_info.

milli_sec

Int, timeout interval, in milliseconds.

  • –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.

Return Value Description

Return Value

Description

ret

Int, error code.

Restrictions

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