[VDPAU] [PATCH] Add support for H.264 Hi444PP in VDPAU API - update 2

Christian König christian.koenig at amd.com
Fri Dec 12 02:15:36 PST 2014


LGTM as well. Patch is Reviewed-by: Christian König 
<christian.koenig at amd.com>

What are your plans for other H264 features? Like higher bit depths, 
SVC, MVC, etc...?

Regards,
Christian.

Am 11.12.2014 um 22:09 schrieb ksreenivasan at nvidia.com:
> From: Karthikeyan Sreenivasan <ksreenivasan at nvidia.com>
>
> The current patch adds a new struct VdpPictureInfoH264Predictive which
> contains the necessary fields to support High 444 Predictive Profile.
>
> The patch adds VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE (currently
> only with 8 bit depth support). Additional profiles and levels will
> be added in a future update.
>
> Videos of VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE profile must use
> VdpPictureInfoH264Predictive.
>
> This patch adds lossless decode support to VDPAU API via the
> qpprimey_zero_transform_bypass_flag in struct
> VdpPictureInfoH264Predictive.
>
> vdpau | nvpublic
> ---
>   include/vdpau/vdpau.h |   35 +++++++++++++++++++++++++++++++++++
>   1 file changed, 35 insertions(+)
>
> diff --git a/include/vdpau/vdpau.h b/include/vdpau/vdpau.h
> index 41bdf2d..266c1e4 100644
> --- a/include/vdpau/vdpau.h
> +++ b/include/vdpau/vdpau.h
> @@ -2460,6 +2460,9 @@ typedef uint32_t VdpDecoderProfile;
>   #define VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH       ((VdpDecoderProfile)24)
>   /** \hideinitializer */
>   #define VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH       ((VdpDecoderProfile)25)
> +/** \hideinitializer */
> +/** \brief Support for 8 bit depth only */
> +#define VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE    ((VdpDecoderProfile)26)
>   
>   /** \hideinitializer */
>   #define VDP_DECODER_LEVEL_MPEG1_NA 0
> @@ -2779,6 +2782,11 @@ typedef struct {
>    * Note: References to "copy of bitstream field" in the field descriptions
>    * may refer to data literally parsed from the bitstream, or derived from
>    * the bitstream using a mechanism described in the specification.
> + *
> + * Note: VDPAU clients must use VdpPictureInfoH264Predictive to describe the
> + * attributes of a frame being decoded with
> + * VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE.
> +
>    */
>   typedef struct {
>       /** Number of slices in the bitstream provided. */
> @@ -2847,6 +2855,33 @@ typedef struct {
>   } VdpPictureInfoH264;
>   
>   /**
> + * \brief Picture parameter information for an H.264 Hi444PP picture.
> + *
> + * Note: VDPAU clients must use VdpPictureInfoH264Predictive to describe the
> + * attributes of a frame being decoded with
> + * VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE.
> + *
> + * Note: software drivers may choose to honor values of
> + * qpprime_y_zero_transform_bypass_flag greater than 1 for internal use.
> + */
> +typedef struct {
> +    /** \ref VdpPictureInfoH264 struct. */
> +    VdpPictureInfoH264 pictureInfo;
> +    /** Copy of the H.264 bitstream field.
> +     *
> +     *  0 - lossless disabled
> +     *  1 - lossless enabled
> +     */
> +    uint8_t qpprime_y_zero_transform_bypass_flag;
> +    /** Copy of the H.264 bitstream field.
> +     *  0 - disabled
> +     *  1 - enabled
> +     */
> +    uint8_t separate_colour_plane_flag;
> +
> +} VdpPictureInfoH264Predictive;
> +
> +/**
>    * \brief Picture parameter information for a VC1 picture.
>    *
>    * Note: References to "copy of bitstream field" in the field descriptions



More information about the VDPAU mailing list