[VDPAU] [PATCH] Add support for H.264 Hi444PP in VDPAU API - updated
Karthikeyan Sreenivasan
ksreenivasan at nvidia.com
Wed Dec 10 18:21:38 PST 2014
Not sure if the mail got sent to the list.
So forwarding it just in case.
--Karthikeyan S | nvpublic
-------- Forwarded Message --------
Subject: [PATCH] Add support for H.264 Hi444PP in VDPAU API - updated
Date: Wed, 10 Dec 2014 17:35:54 -0800
From: ksreenivasan at nvidia.com
To: vdpau at lists.freedesktop.org
CC: Karthikeyan Sreenivasan <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..7444aad 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 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
--
1.7.10.4
More information about the VDPAU
mailing list