Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools from Intel. This includes Intel® oneAPI Video Processing Library and Intel® Media SDK.
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

Problem decoding 10-bit HEVC using software decoder


We have bough the Intel HEVC Software Pack a few years ago, which enabled us to encode and decode HEVC streams using software encoding/decoding. We bought this in 2014, before the Haswell support for hardware acceleration.

But now I noticed a difference in the decoding of 10-bit streams between the hardware decoder and the software decoder. The software decoder places the decoded 10-bit data in the low 10 bits of each 16-bit value. But the hardware decoder places the decoded 10-bit data in the upper 10-bits. 

The hardware decoder seems to do this properly, because it matches the description of the P010 format. 

All of this occurs with the Windows binaries. The software plugin dll that I have has a version Is there an updated version of the software HEVC plugin decoder that handles this properly?

I can add workarounds and shift the data returned by the software decoder, but I would prefer to avoid that :-).

The data returned by the decoders looks like this:

(SW) Y = 0x0094  U = 0x023d  V = 0x0200

(HW) Y = 0x2500  U = 0x8f40  V = 0x8000

0 Kudos
1 Reply

I just tried the latest software decoder included in Intel® Media Server Studio 2017. Intel® Media Server Studio 2017 installs mfxplugin64_hevcd_sw.dll with a product version, but it has the same problem: it places the decoded 10-bit data in the low bits of the 16-bit uncompressed data.