acl.himpi.venc_request_idr

C Prototype

hi_s32 hi_mpi_venc_request_idr(hi_venc_chn chn, hi_bool instant);

Python Function

ret = acl.himpi.venc_request_idr(chn, instant)

Function Usage

Requests an instantaneous decoding refresh (IDR) frame.

The Atlas 200/300/500 Inference Product does not support this API in the current version.

The Atlas Training Series Product does not support this API in the current version.

Input Description

chn: encoding channel ID.

instant: whether to instantly encode an IDR frame.

Return Value

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 (), it takes some time for an IDR frame request to take effect.