venc_request_idr

Applicability

Product

Supported

Atlas 350 Accelerator Card

x

Atlas A3 training product/Atlas A3 inference product

x

Atlas A2 training product/Atlas A2 inference product

x

Atlas training product

x

Atlas inference product

Atlas 200I/500 A2 inference product

Description

Requests an instantaneous decoding refresh (IDR) frame.

Prototype

  • C Prototype
    1
    hi_s32 hi_mpi_venc_request_idr(hi_venc_chn chn, hi_bool instant);
    
  • Python Function
    1
    ret = acl.himpi.venc_request_idr(chn, instant)
    

Parameters

Parameter

Description

chn

Int, encoding channel ID.

instant

Int, whether to instantly encode an IDR frame.

Return Value

Return Value

Description

ret

Int, error code.

Restrictions

  • Ensure that a channel has been created. Otherwise, a failure is returned.
  • After an IDR frame request is received, if instant is 0, an IDR frame is encoded in the next frame as controlled by the frame rate controller; if instant is 1, an IDR frame is encoded instantly.
  • IDR frame requesting is applicable to H.264 and H.265 encoding.
  • Typically, the destination frame rate is the same as the source frame rate. Therefore, frame rate control has no impact on this API. Regardless of the setting of instant (either 0 or 1), an IDR frame is encoded on every call to this API. Note that too frequent calls to this API cause fluctuations in the frame rate and bit rate of the stream.
  • In Smart P-frame or B-frame GOP mode (both modes are not supported currentlythe B-frame GOP mode is not supported currently), it takes some time for an IDR frame request to take effect.