aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/va/picture_vc1.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/state_trackers/va/picture_vc1.c')
-rw-r--r--src/gallium/state_trackers/va/picture_vc1.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/va/picture_vc1.c b/src/gallium/state_trackers/va/picture_vc1.c
index f95fd8344f5..6ad1571ca96 100644
--- a/src/gallium/state_trackers/va/picture_vc1.c
+++ b/src/gallium/state_trackers/va/picture_vc1.c
@@ -32,6 +32,7 @@ void vlVaHandlePictureParameterBufferVC1(vlVaDriver *drv, vlVaContext *context,
VAPictureParameterBufferVC1 * vc1 = buf->data;
assert(buf->size >= sizeof(VAPictureParameterBufferVC1) && buf->num_elements == 1);
+ context->desc.vc1.slice_count = 0;
vlVaGetReferenceFrame(drv, vc1->forward_reference_picture, &context->desc.vc1.ref[0]);
vlVaGetReferenceFrame(drv, vc1->backward_reference_picture, &context->desc.vc1.ref[1]);
context->desc.vc1.picture_type = vc1->picture_fields.bits.picture_type;
@@ -65,3 +66,9 @@ void vlVaHandlePictureParameterBufferVC1(vlVaDriver *drv, vlVaContext *context,
context->desc.vc1.deblockEnable = vc1->post_processing != 0;
context->desc.vc1.pquant = vc1->pic_quantizer_fields.bits.pic_quantizer_scale;
}
+
+void vlVaHandleSliceParameterBufferVC1(vlVaContext *context, vlVaBuffer *buf)
+{
+ assert(buf->size >= sizeof(VASliceParameterBufferVC1) && buf->num_elements == 1);
+ context->desc.vc1.slice_count += buf->num_elements;
+}