[VDPAU] [PATCH] Add support for Hi444PP in VDPAU API

Karthikeyan Sreenivasan ksreenivasan at nvidia.com
Tue Dec 9 15:50:36 PST 2014


This patch is a direct diff to current top-of-tree version.

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).

Videos of VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE profile must use
VdpPictureInfoH264Predictive.

This patch adds lossless decode support to VDPAU API via the
transform_bypass flag in struct VdpPictureInfoH264Predictive.

--

diff --git a/include/vdpau/vdpau.h b/include/vdpau/vdpau.h
index 41bdf2d..d45376f 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
+ * transform_bypass 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 transform_bypass;
+    /** 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

-- 
Karthikeyan S | nvpublic
ksreenivasan at nvidia.com


More information about the VDPAU mailing list