hi_mpi_venc_query_status

Applicability

Product

Supported

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

Description

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.

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 the encoding channel ID 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 the encoding channel ID 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 make sure that all frames have been 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 has been 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 has been 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.

See Also

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