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

José Hiram Soltren jsoltren at nvidia.com
Thu Dec 11 13:23:45 PST 2014


This looks good to me.

Reviewed-by: José Hiram Soltren <jsoltren at nvidia.com>

On 12/11/2014 03:09 PM, ksreenivasan at nvidia.com wrote:
> 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