• ManojGuptaBonda's avatar
    Add HEVC Main 10/12 and HEVC Main 444 10/12 decode support in VDPAU API · 8765a34f
    ManojGuptaBonda authored
    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.
    8765a34f
vdpau.h 187 KB