acl.himpi.venc_query_status

C Prototype

hi_s32 hi_mpi_venc_query_status(hi_venc_chn chn, hi_venc_chn_status *status);

Python Function

status, ret = acl.himpi.venc_query_status(chn)

Function Usage

Queries the status of an encoding channel.

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: int, encoding channel ID.

Return Value

ret: int, error code.

status: dict, encoding channel status hi_venc_chn_status.

Restrictions

  • Ensure that a channel has been created. Otherwise, a failure is returned.
  • The output status points to the following information:
    • In the encoding channel status dictionary, left_pics indicates the number of remaining frames to be encoded. Before any attempt to reset an encoding channel, use this API call to ensure that all frames are encoded.
    • In the encoding channel status dictionary, left_stream_bytes indicates the number of remaining bytes in the stream buffer.

      Before any attempt to reset an encoding channel, use this API call to ensure that the stream is completely encoded.

    • In the encoding channel status dictionary, left_stream_frames indicates the number of remaining frames in the stream buffer.

      Before any attempt to reset an encoding channel, use this API call to ensure that the stream is completely encoded.

    • In the encoding channel status dictionary, cur_packs indicates the number of packets of the current frame. Prior to the acl.himpi.venc_get_stream call, use this API call to ensure that cur_packs is greater than 0.

      For stream fetching in packet mode, the current frame could be incomplete. For stream fetching in frame mode, cur_packs indicates the number of packets of a complete frame (the value 0 indicates that no frame is available). When you want to obtain the streams by frames, you need to query the number of packets for a complete frame by calling the query function after the select function is called successfully. In this case, cur_packs represents the number of packets contained in a current complete frame.

    • In the encoding channel status dictionary, left_recv_pics indicates the number of remaining frames to be received after the acl.himpi.venc_start_chn call.
    • In the encoding channel status dictionary, left_enc_pics indicates the number of remaining frames to be encoded after the acl.himpi.venc_start_chn call.
    • If no receive limit is specified in the acl.himpi.venc_start_chn call, the values of left_recv_pics and left_enc_pics are always 0.