aclvdecSendSkippedFrame
Applicability
|
Product |
Supported |
|---|---|
|
Atlas 350 Accelerator Card |
☓ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
Function Description
If you do not want to obtain the decoding result of a frame, you can call this API to transfer the stream (input memory) to be decoded to the decoder for decoding. In this case, the decoding result is not output. The output returned by the decoding callback function is nullptr. This API is asynchronous.
Prototype
1 2 3 4 |
aclError aclvdecSendSkippedFrame(aclvdecChannelDesc *channelDesc, acldvppStreamDesc *input, aclvdecFrameConfig *config, void *userData) |
Parameters
|
Parameter |
Input/Output |
Description |
|---|---|---|
|
channelDesc |
Input |
Pointer to the channel description. The value must be the same as that of channelDesc specified when the aclvdecCreateChannel API is called to create a channel. Call aclvdecSetChannelDesc series to set attributes of the channel description, including the decoding channel ID, thread, callback function, and video encoding protocol. Due to software restrictions, the aclvdecSetChannelDescRefFrameNum API cannot be called to set the attributes of the channel description only on |
|
input |
Input |
Pointer to the input stream description. You need to allocate the input buffer in advance.
|
|
config |
Input |
Pointer to the decoding configuration. This field is reserved and can be set to NULL. |
|
userData |
Input |
Pointer to the user-defined data. If you want to obtain the sequence number of the decoded frame, define the userData parameter. Then, the sequence number can be passed to the VDEC callback function to determine the frame to be processed. |
Returns
0 on success; otherwise, failure. For details, see aclError.
Restrictions
- The channel passed to this call must have been created. Otherwise, an error code is returned.
- A stream must be fed in frame mode, which means that a complete frame must be fed in every call to this API.
- It is not supported to feed empty packets with eos set to 0 (the stream length is 0 or the stream address is empty).
- It is not allowed to send frames with eos = 1.
- Due to stream exceptions or decoding timeout, the aclvdecSendFrame API may fail to send frames or EOS. You are advised to obtain the return code of this API when writing code. If this API fails to be called, handle the exception.
- aclvdecSendSkippedFrame encapsulates the aclrtLaunchCallback API to add a callback function to be executed to the stream task queue. When implementing the VDEC function, <cf id="Bold">aclrtLaunchCallback</cf> does not need to be called separately.