Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.
3058 Discussions

H264 Hardware Decoder cannot decode an Apple Safari WebRTC bitstream correctly

fergusson__robert
681 Views

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: 27.20.100.9664)
i7-7700K (Windows 10, Driver: 30.0.101.1340)
i9-9900K (Windows 11, Driver: 30.0.100.9805)
i7-10700 (Windows 11, Driver: 30.0.101.1692)

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?

Regards,

Robert.

0 Kudos
3 Replies
Rahila_T_Intel
Moderator
639 Views

Hi,


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.


Thanks


0 Kudos
Rahila_T_Intel
Moderator
545 Views

Hi,


Did you get a chance to try the recommendation in my previous response? Did that help? Could you please share the updates.


Thanks


0 Kudos
Rahila_T_Intel
Moderator
484 Views

Hi,


We have not heard back from you. This thread will no longer be monitored by Intel. If you need further assistance, please post a new question.



Thanks


0 Kudos
Reply