<div dir='auto'><div>Hi Manoj,</div><div dir="auto"><br></div><div dir="auto">OK. That works for me too.</div><div dir="auto"><div class="gmail_extra" dir="auto"><br><div class="gmail_quote">On Jul 24, 2019 15:32, Manoj Bonda <mbonda@nvidia.com> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Hi Philip, 
<br>

<br>
After giving it a bit thought removed the variable prevIsKeyFrame from the interface header. 
<br>

<br>
FYI
<br>
Added VP9 decoder profiles and level to VDPAU header file.
<br>
VP9 specification has 4 profiles and 1 level defined.
<br>
A new VdpPictureInfoVP9 structure is defined to pass VP9 specific params to the driver.
<br>
---
<br>
This version removes variable prevIsKeyFrame from the interface header.
<br>
 include/vdpau/vdpau.h | 71 +++++++++++++++++++++++++++++++++++++++++++
<br>
 1 file changed, 71 insertions(+)
<br>

<br>
diff --git a/include/vdpau/vdpau.h b/include/vdpau/vdpau.h index 67aeacf..68a814d 100644
<br>
--- a/include/vdpau/vdpau.h
<br>
+++ b/include/vdpau/vdpau.h
<br>
@@ -2560,6 +2560,14 @@ typedef uint32_t VdpDecoderProfile;
<br>
 /** \brief Support for 8 bit depth only */
<br>
 #define VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE    ((VdpDecoderProfile)26)
<br>
 /** \hideinitializer */
<br>
+#define VDP_DECODER_PROFILE_VP9_PROFILE_0               ((VdpDecoderProfile)27)
<br>
+/** \hideinitializer */
<br>
+#define VDP_DECODER_PROFILE_VP9_PROFILE_1               ((VdpDecoderProfile)28)
<br>
+/** \hideinitializer */
<br>
+#define VDP_DECODER_PROFILE_VP9_PROFILE_2               ((VdpDecoderProfile)29)
<br>
+/** \hideinitializer */
<br>
+#define VDP_DECODER_PROFILE_VP9_PROFILE_3               ((VdpDecoderProfile)30)
<br>
+/** \hideinitializer */
<br>
 /** \brief MPEG-H Part 2 == H.265 == HEVC */
<br>
 #define VDP_DECODER_PROFILE_HEVC_MAIN                   ((VdpDecoderProfile)100)
<br>
 /** \hideinitializer */
<br>
@@ -2664,6 +2672,9 @@ typedef uint32_t VdpDecoderProfile;
<br>
 /** \hideinitializer */
<br>
 #define VDP_DECODER_LEVEL_DIVX_NA 0
<br>
 
<br>
+/** \hideinitializer */
<br>
+#define VDP_DECODER_LEVEL_VP9_L1 1
<br>
+
<br>
 /**
<br>
  * The VDPAU H.265/HEVC decoder levels correspond to the values of
<br>
  * general_level_idc as described in the H.265 Specification, Annex A, @@ -3202,6 +3213,66 @@ typedef VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX4;
<br>
  */
<br>
 typedef VdpPictureInfoMPEG4Part2 VdpPictureInfoDivX5;
<br>
 
<br>
+typedef struct
<br>
+{
<br>
+    unsigned int width;
<br>
+    unsigned int height;
<br>
+
<br>
+    //Frame Indices
<br>
+    VdpVideoSurface lastReference;
<br>
+    VdpVideoSurface goldenReference;
<br>
+    VdpVideoSurface altReference;
<br>
+
<br>
+    unsigned char colorSpace;
<br>
+
<br>
+    unsigned short profile;
<br>
+    unsigned short frameContextIdx;
<br>
+    unsigned short keyFrame;
<br>
+    unsigned short showFrame;
<br>
+    unsigned short errorResilient;
<br>
+    unsigned short frameParallelDecoding;
<br>
+    unsigned short subSamplingX;
<br>
+    unsigned short subSamplingY;
<br>
+    unsigned short intraOnly;
<br>
+    unsigned short allowHighPrecisionMv;
<br>
+    unsigned short refreshEntropyProbs;
<br>
+
<br>
+    unsigned char  refFrameSignBias[4];
<br>
+
<br>
+    unsigned char bitDepthMinus8Luma;
<br>
+    unsigned char bitDepthMinus8Chroma;
<br>
+    unsigned char loopFilterLevel;
<br>
+    unsigned char loopFilterSharpness;
<br>
+
<br>
+    unsigned char modeRefLfEnabled;
<br>
+    unsigned char log2TileColumns;
<br>
+    unsigned char log2TileRows;
<br>
+
<br>
+    unsigned char segmentEnabled;
<br>
+    unsigned char segmentMapUpdate;
<br>
+    unsigned char segmentMapTemporalUpdate;
<br>
+    unsigned char segmentFeatureMode;
<br>
+
<br>
+    unsigned char segmentFeatureEnable[8][4];
<br>
+    short         segmentFeatureData[8][4];
<br>
+    unsigned char mbSegmentTreeProbs[7];
<br>
+    unsigned char segmentPredProbs[3];
<br>
+    unsigned char reservedSegment16Bits[2];
<br>
+
<br>
+    int qpYAc;
<br>
+    int qpYDc;
<br>
+    int qpChDc;
<br>
+    int qpChAc;
<br>
+
<br>
+    unsigned int activeRefIdx[3];
<br>
+    unsigned int resetFrameContext;
<br>
+    unsigned int mcompFilterType;
<br>
+    unsigned int mbRefLfDelta[4];
<br>
+    unsigned int mbModeLfDelta[2];
<br>
+    unsigned int uncompressedHeaderSize;
<br>
+    unsigned int compressedHeaderSize;
<br>
+} VdpPictureInfoVP9;
<br>
+
<br>
 /**
<br>
  * \brief Picture parameter information for an H.265/HEVC picture.
<br>
  *
<br>
--
<br>
2.17.1
<br>

<br>
Thanks,
<br>
ManojGupta.
<br>

<br>
> -----Original Message-----
<br>
> From: Philip Langdale <philipl@overt.org>
<br>
> Sent: Friday, July 19, 2019 12:29 PM
<br>
> To: Manoj Bonda <mbonda@nvidia.com>
<br>
> Cc: vdpau@lists.freedesktop.org; Aaron Plattner <aplattner@nvidia.com>;
<br>
> Stephen Warren <swarren@nvidia.com>; Andy Ritger <ARitger@nvidia.com>
<br>
> Subject: Re: [PATCH 1/1] Add VP9 decode support in VDPAU API
<br>

<br>
> On 2019-07-18 06:59, Manoj Bonda wrote:
<br>
> >> -----Original Message-----
<br>
> >> From: Philip Langdale <philipl@overt.org>
<br>
> >> Sent: Thursday, July 18, 2019 3:49 PM
<br>
> >> To: Manoj Bonda <mbonda@nvidia.com>
<br>
> >> Cc: vdpau@lists.freedesktop.org; Aaron Plattner
<br>
> >> <aplattner@nvidia.com>; Stephen Warren <swarren@nvidia.com>; Andy
<br>
> >> Ritger <ARitger@nvidia.com>
<br>
> >> Subject: Re: [PATCH 1/1] Add VP9 decode support in VDPAU API
<br>
> >>
<br>
> >> On 2019-07-18 00:13, ManojGuptaBonda wrote:
<br>
> >> > +    unsigned short allowHighPrecisionMv;
<br>
> >> > +    unsigned short refreshEntropyProbs;
<br>
> >> > +    unsigned short prevIsKeyFrame;
<br>
> >>
<br>
> >> This field is missing in the nvdec struct. What does it mean?
<br>
> > [Manoj] This is analogous to last_keyframe in VP9Context in ffmpeg
<br>
> > code.
<br>
> > A field telling whether the previous frame is keyframe or not.
<br>
> > This can be handled in the driver internally also, but since its
<br>
> > already available in FFmpeg code I used it.
<br>

<br>
> Ok. Fine by me then.
<br>

<br>
> --phil
<br>
</p>
</blockquote></div><br></div></div></div>