~vcs-imports/libvdpau/master

Viewing all changes in revision 113.

  • Committer: ManojGuptaBonda
  • Date: 2020-02-14 09:01:39 UTC
  • Revision ID: git-v1:8765a34f2674d3c11a93e2ca6287102cc101e25c
Add HEVC Main 10/12 and HEVC Main 444 10/12 decode support in VDPAU API

Add new profiles present in Range Extension profiles.

A.3.5 in Annexures of HEVC draft mentions of various profiles
Main 12,
Main 444,
Main 444 10/12,
Main 422 10/12,
etc.
under format range extension profiles. All these profiles have single
profile_idc value 4 These are distinguished by additional flags present
in the bistream specified in Table A.2 of HEVC draft.

FFmpeg skips parsing the additional flags and maintains single profile
for all the format range extension profiles. However since various GPU
generations support various features we are adding all the profiles
separately so that support can be specified accurately.

This Change adds the new HEVC profiles in VDPAU.h

Add new VdpPictureInfoHEVCRangeExt picture parameter structure.
As HEVC444 profile falls under RangeExtension profiles, Due to
similarities between Range Extensions profiles, the picture parameter
structure is re-used.


Also Adding new VdpChromaTypes for 16bit.

For 10/12 bit HEVC decoding, the output memory layout will be P010/P012
respectivley which are similar to P016 format i.e. each component is of
2 Byte width (16bit) with MSBs as valid bits as per the format.

Hence adding 16bit surfaces which can accommodate both P010 and P012
formats and can be used for both 10/12 bit decoding.

This Change also adds VDP_YCBCR_FORMAT_P016, VDP_YCBCR_FORMAT_P010 YCrCb
formats to be used by get/put bits functions(transfer functions) to
access the 16Bit Decoded Surface.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: