VDEC Function
Function and Restriction
The VDEC module is used to decode videos.
- The VDEC supports the following input formats:
H.264 BP/MP/HP Level 5.1 YUV420SP encoded streams
H.265 8-Bit/10-Bit Level 5.1 YUV420SP encoded streams
- The VDEC supports the following resolution range:
Maximum resolution: 4096 x 4096; minimum resolution: 128 x 128
- The VDEC output is HFBC compressed YUV420SP data.
HFBC is a compressed image format for the VDEC output. In this format, the VDEC has better processing performance.
- Bad frames or frame loss in the streams may cause VDEC frame loss.
- The VDEC cannot decode the streams encoded in interlaced scanning mode.
- The VDEC module does not use the singleton pattern. Therefore, the C APIs provided by the VDEC module are different for those provided by other modules.
Performance Specifications
Scenario |
Total Frame Rate |
---|---|
1080p x n channels (2 ≤ n ≤ 16) |
480 fps |
1080p x 1 channel |
240 fps |
4K x n channels (2 ≤ n ≤ 16) |
120 fps |
4K x 1 channel |
60 fps |
If Matrix is used to orchestrate the application process, when DVPP is used to decode multiple channels of input video streams, because data of each frame in the video streams is associated, each VDEC is required to fixedly correspond to one video stream to ensure the data sequence of each frame in a same video stream. Otherwise, the VDEC in DVPP cannot decode video streams.
- When multiple video streams are decoded, multiple implementation modes may be available to ensure the data sequence of each frame in the video streams. The following configurations are recommended:
- In the graph configuration file, configure multiple VDEC engines in the graphs segment. One video stream corresponds to one engine.
- In the graph configuration file, set thread_num to 1 in the VDEC engine segment. One engine corresponds to one thread.
- For details about the functions of Matrix and the configuration of the graph configuration file, see Matrix API Reference.
- One graph (one thread) can correspond to a maximum of 16 video streams.
- If only one VDEC engine is configured in the graph configuration file and thread_num is set to n (the value of n is the number of video stream channels) during multi-channel video stream decoding, video streams in Matrix may be processed in different threads at different time points. However, in DVPP, one VDEC requires one fixed channel of video stream data. One channel of video stream data corresponds to one thread. In this case, the data sequence of each frame in the video streams may not be ensured during video decoding, as shown in the figure.
Figure 1 VDEC process
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot