diff options
author | Karthikeyan Sreenivasan <ksreenivasan@nvidia.com> | 2014-12-11 13:09:03 -0800 |
---|---|---|
committer | Aaron Plattner <aplattner@nvidia.com> | 2014-12-12 12:33:58 -0800 |
commit | 3282da12b84ee9eb73e6a93988e419c6d2f43d4e (patch) | |
tree | cfc93490c2ca25cca3eac47eb82565d13a759060 | |
parent | 3e191f7d4524a077adce5e54742347ffa49fee24 (diff) |
Add support for H.264 Hi444PP in VDPAU API
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.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: José Hiram Soltren <jsoltren@nvidia.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Acked-by: Rémi Denis-Courmont <remi@remlab.net>
-rw-r--r-- | include/vdpau/vdpau.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/include/vdpau/vdpau.h b/include/vdpau/vdpau.h index 41bdf2d..b386825 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,10 @@ 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 +2854,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 |