Introduction
Using Intel® Video Processing Library (Intel® VPL) enables you to access the very fast decoding ability of our GPU media processing accelerators. Often you will want to decode two video streams simultaneously, using a command like:
./hello-decode -i ../test-444-10.h265 & ./hello-decode -i ../test-444-10.h265
On particular platforms running on Ubuntu*, we discovered an issue with the way those platforms handle multistream decoding.
Hang Details
Specifically, the issue is "GPU hang in Intel Gfx stack i915 driver". This issue is experienced when decoding multiple streams simultaneously. In particular, this issue is experienced with 11th generation and some 12th generation Intel® Core™ processors.
Newer 12th generation Intel Core processor drivers implement the dual stream decoding differently so that this hang does not occur. 12th generation Intel® Core™ mobile processors for IoT applications and beyond will not experience this issue.
Workaround
This hang is often triggered when scalability and Microsoft* Management Console (MMC) are enabled. To avoid this hang on 11th generation and 12th generation Intel Core desktop processors, disable scalability and MMC.
To disable scalability and MMC, do the following:
- Go to /etc/
- Modify igfx_user_feature.txt and igfx_user_feature_next.txt
- In the igfx_user_feature.txt file, find [KEY] and add the following:
[KEY]
0x00000001
UFKEY_INTERNAL\LibVa
.......
[VALUE]
Enable VP MMC
4
0
[VALUE]
Enable Codec MMC
4
0
[VALUE]
Enable Vebox Decompress
4
0
[VALUE]
Enable Media RenderEngine MMC
4
0
[VALUE]
Enable HCP Scalability Decode
4
0
- In the igfx_user_feature_next.txt file, find [config] and add the following:
Enable HCP Scalability Decode=0
Enable VP MMC=0
Enable Codec MMC=0
Enable Media RenderEngine MMC=0
Enable HCP Scalability Decode=0
- To ensure the key was set successfully, check [report] in the igfx_user_feature.txt file. The following value should be 0 (zero).
Decode MMC In Use=0x0
If you experience difficulties, let us know in the Intel VPL forum.