Skip to content

d3d11h265dec: Fix various broken decoding problems

d3d11h265dec: Fix scaling list parsing

Scaling list can be signalled via sps or pps. Decoder should check
both of them.
d3d11h265dec: Properly signal the ucNumDeltaPocsOfRefRpsIdx

ucNumDeltaPocsOfRefRpsIdx should be the NumDeltaPocs[RefRpsIdx].
h265parser: Store NumDeltaPocs of reference for hardware accelerators

That's the value of NumDeltaPocs[RefRpsIdx] and we might be able to derive
the value from given sps and slice header.
Because well known hardware implementations refer to the value, however,
storing the value makes things easier.

Following is the list of hardware implementations
* DXVA2: ucNumDeltaPocsOfRefRpsIdx
* NVDEC/VDPAU: NumDeltaPocsOfRefRpsIdx
d3d11h265dec: Fix for output and removal picture from DPB

See C.5.2.2 Output and removal of pictures from the DPB.

If the number of pictures in the DPB is greater than or equal to
sps_max_dec_pic_buffering_minus1[HighestTid] + 1, then the picture
should be outputted.

Fixes: #1222 (closed)

Edited by Seungha Yang

Merge request reports