Skip to content

Commit 75857f5

Browse files
committed
Add HEVC RefPicSetLtCurr and NumPocLtCurr picture parameters
Corresponds to the variables of same name as defined in section 8.3.2 of the HEVC spec. The RefPicSetStCurrBefore and RefPicSetStCurrAfter can be derived by sorting them, however there is no defined order for the RefPicSetLtCurr and thus it must be provided explicitly. This is needed for AMD driver and also to match the DXVA and Vulkan Video interfaces. Signed-off-by: David Rosca <[email protected]>
1 parent 0d1d351 commit 75857f5

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

va/va_dec_hevc.h

+8-1
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,15 @@ typedef struct _VAPictureParameterBufferHEVC {
185185
*/
186186
uint32_t st_rps_bits;
187187

188+
/* Corresponds to the variables of same name as defined in section 8.3.2
189+
* of the HEVC spec. Index into ReferenceFrames[]. */
190+
uint8_t RefPicSetLtCurr[8];
191+
uint8_t NumPocLtCurr;
192+
193+
uint8_t reserved[3];
194+
188195
/** \brief Reserved bytes for future use, must be zero */
189-
uint32_t va_reserved[VA_PADDING_MEDIUM];
196+
uint32_t va_reserved[VA_PADDING_MEDIUM - 3];
190197
} VAPictureParameterBufferHEVC;
191198

192199
/**

va/va_trace.c

+6
Original file line numberDiff line numberDiff line change
@@ -3317,6 +3317,12 @@ static void va_TraceVAPictureParameterBufferHEVC(
33173317
va_TraceMsg(trace_ctx, "\tpps_tc_offset_div2 = %d\n", p->pps_tc_offset_div2);
33183318
va_TraceMsg(trace_ctx, "\tnum_extra_slice_header_bits = %d\n", p->num_extra_slice_header_bits);
33193319
va_TraceMsg(trace_ctx, "\tst_rps_bits = %d\n", p->st_rps_bits);
3320+
va_TraceMsg(trace_ctx, "\tRefPicSetLtCurr[8] = \n");
3321+
va_TraceMsg(trace_ctx, "");
3322+
for (i = 0; i < 8; i++)
3323+
va_TracePrint(trace_ctx, "\t%d", p->RefPicSetLtCurr[i]);
3324+
va_TracePrint(trace_ctx, "\n");
3325+
va_TraceMsg(trace_ctx, "\tNumPocLtCurr = %d\n", p->NumPocLtCurr);
33203326

33213327
if (isRext && pRext) {
33223328
va_TraceMsg(trace_ctx, "\trange_extension_pic_fields = %d\n", pRext->range_extension_pic_fields.value);

0 commit comments

Comments
 (0)