We have been using the Intel Media SDK for our video communication applications for many years without any issues. Recently we have discovered an H264 bitstream from Apple Safari WebRTC on ARM based devices that the Intel H264 hardware decoder cannot decode without picture break up. Every other software and hardware decoder that we've tried (Nvidia, AMD, and Apple) have no issues decoding the bitstream. This is the first bitstream that we have encountered that shows picture corruption when other vendors hardware H264 decoders do not.
We first discovered this issue around when Apple upgraded Safari to version 15.4 or 15.5. They noticeably altered their bitstream output to indicate the use of the maximum number of reference frames (despite only actually using 1) and the use of ref_pic_list_modification & adaptive_ref_pic_marking. However, our testing has shown that this extra syntax is benign as the bitstream is supposed to be Constrained Baseline only. We think that this extra syntax may be tripping up the Intel H264 hardware decoder?
We have tried decoding the bitstream on the following Intel CPUs using the Media SDK, none of which could decode it without video break up:
i7-6700 (Windows 10, Driver: 18.104.22.16864)
i7-7700K (Windows 10, Driver: 22.214.171.1240)
i9-9900K (Windows 11, Driver: 126.96.36.19905)
i7-10700 (Windows 11, Driver: 188.8.131.522)
The Media SDK does not report any errors or appear to have any memory issues when attempting to decode the bitstream with the Intel H264 hardware decoder. The only way we can determine that there is anything wrong is in the visual inspection of the corrupted decoded output picture. There appears to be no difference in the decoding process with errors, warnings or memory usage compared to bitstreams that decode correctly.
We have been unable to test on 11th or 12th Gen CPUs as we have none available, nor have we upgraded to the newer oneVPL SDK.
We have been attempting to resolve this issue for a while, but we are at a loss as to what else we can try. We sort of need a sanity check to see if anyone else is able to decode the bitstream and on what hardware and SDK did they get it working.
It is possible that someone could attempt to decode the attached H264 bitstream to determine if it can be decoded on the Intel H264 hardware decoder?
Thanks for posting in Intel communities.
Could you please try the same with the latest oneVPL and let us know if the issue still persist.
oneVPL is the 2.x API continuation of Intel® Media SDK API. The API upgrade provides an enhanced programming model and access to new features available on future hardware not yet released.
In general, API updates and new hardware capabilities will be added only to the oneVPL API.