Media (Intel® oneAPI 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

Problem decoding 10-bit HEVC using software decoder

Silviu_B
Beginner
253 Views

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 1.14.6.19. 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
Silviu_B
Beginner
253 Views

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 1.19.7.45, but it has the same problem: it places the decoded 10-bit data in the low bits of the 16-bit uncompressed data. 

0 Kudos
Reply