Skip to content
This repository has been archived by the owner on Sep 3, 2019. It is now read-only.

Commit

Permalink
Add support for H.264 Hi444PP in VDPAU API
Browse files Browse the repository at this point in the history
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 <[email protected]>
Reviewed-by: José Hiram Soltren <[email protected]>
Reviewed-by: Christian König <[email protected]>
Acked-by: Rémi Denis-Courmont <[email protected]>
  • Loading branch information
Karthikeyan Sreenivasan authored and aaronp24 committed Dec 12, 2014
1 parent 3e191f7 commit 3282da1
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions include/vdpau/vdpau.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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. */
Expand Down Expand Up @@ -2846,6 +2853,33 @@ typedef struct {
VdpReferenceFrameH264 referenceFrames[16];
} 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.
*
Expand Down

0 comments on commit 3282da1

Please sign in to comment.