hi_mpi_venc_query_status

Applicable Products

Product

Supported

Ascend 950PR / Ascend 950DT

√

Atlas A3 training products / Atlas A3 inference products

√

Atlas A2 training products / Atlas A2 inference products

√

Atlas 200I/500 A2 inference products

√

Atlas inference products

√

Atlas training products

☓

Function

Queries the status of an encoding channel.

Prototype

hi_s32 hi_mpi_venc_query_status(hi_venc_chn chn, hi_venc_chn_status *status)

Parameters

Parameter

Input/Output

Description

chn

Input

Encoding channel ID.

Ascend 950PR / Ascend 950DT : The value range of the encoding channel ID is [0, 256). The maximum number of JPEGE channels is 256.

Atlas A3 training products / Atlas A3 inference products : The value range of the encoding channel ID is [0, 256). The maximum number of JPEGE channels is 256.

Atlas A2 training products / Atlas A2 inference products : The value range of the encoding channel ID is [0, 256). The maximum number of JPEGE channels is 256.

Atlas 200I/500 A2 inference products : The value range of this parameter is [0, 128). The JPEGE and VENC functions share the same channels, and the maximum number of channels is 128.

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.

status

Output

Pointer to the encoding channel status.

Returns

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 struct, 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 struct, 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 struct, 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 struct, cur_packs indicates the number of packets of the current frame. Prior to the hi_mpi_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). To query the number of packets of a complete frame, use the query function call after the select function call is successful.

    • In the encoding channel status struct, left_recv_pics indicates the number of remaining frames to be received after the hi_mpi_venc_start_chn call.
    • In the encoding channel status struct, left_enc_pics indicates the number of remaining frames to be encoded after the hi_mpi_venc_start_chn call.
    • If no receive limit is specified in the hi_mpi_venc_start_chn call, the values of left_recv_pics and left_enc_pics remain 0.

Reference

For details about the API call sequence and example, see JPEGE and VENC.