[VDPAU] [PATCH] Extend the public VDPAU API to support HEVC Decoding

José Hiram Soltren jsoltren at nvidia.com
Mon Jul 28 08:58:24 PDT 2014


Hello Rémi,

On 07/26/2014 02:59 AM, Rémi Denis-Courmont wrote:
> 	Hello,
> 
> Le vendredi 25 juillet 2014, 15:21:55 José Hiram Soltren a écrit :
>> +/** \hideinitializer */
>> +#define VDP_DECODER_PROFILE_HEVC_MAIN_10               
>> (VdpDecoderProfile)23
>> +/** \hideinitializer */
>> +#define VDP_DECODER_PROFILE_HEVC_MAIN_12               
>> (VdpDecoderProfile)24
> 
> I think we need new VdpChromaType values for high depth video surfaces, since 
> they will likely require more memory and/different alignment in some VDPAU 
> back-ends.
> 
> In particular, VdpVideoSurfaceCreate() does not "know" what decoding profile 
> the created surface will be used with: it does not have any reference to the 
> VdpDecoder, and it is perfectly legal to create a surface without or before 
> the decoder.
> 
> So far, it was always assumed that video surfaces would be for 8-bits with 
> components. For backward compatibility, I would make explicit that existing 
> chroma types are 8-bits per component, and create new ones for higher depth, 
> e.g.:
> 
> #define VDP_CHROMA_TYPE_420_8 ((VdpChromaType)0)
> #define VDP_CHROMA_TYPE_422_8 ((VdpChromaType)1)
> #define VDP_CHROMA_TYPE_444_8 ((VdpChromaType)2)
> 
> #define VDP_CHROMA_TYPE_420_10 ((VdpChromaType)8)
> #define VDP_CHROMA_TYPE_422_10 ((VdpChromaType)9)
> #define VDP_CHROMA_TYPE_444_10 ((VdpChromaType)10)
> 
> #define VDP_CHROMA_TYPE_420_12 ((VdpChromaType)16)
> #define VDP_CHROMA_TYPE_422_12 ((VdpChromaType)17)
> #define VDP_CHROMA_TYPE_444_12 ((VdpChromaType)18)
> 
> /* Backward source compatibility aliases */
> #define VDP_CHROMA_TYPE_420 VDP_CHROMA_TYPE_420_8
> #define VDP_CHROMA_TYPE_422 VDP_CHROMA_TYPE_422_8
> #define VDP_CHROMA_TYPE_444 VDP_CHROMA_TYPE_444_8
> 
> 
> Also, while this is not strictly required for H.265 decoding, if VDPAU gains 
> support for higher depth, it would be kinda nice to define usable 
> VdpYCbCrFormat formats to upload/download raw surfaces.

I agree with the above points. I will either propose the chroma type additions
as a separate patch, or roll them into the HEVC support patch.

Thanks,
--José

> Regards,
> 
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------


More information about the VDPAU mailing list