summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/va/picture.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/state_trackers/va/picture.c')
-rw-r--r--src/gallium/state_trackers/va/picture.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/va/picture.c b/src/gallium/state_trackers/va/picture.c
index 327c33d9cb0..ff13bc66e74 100644
--- a/src/gallium/state_trackers/va/picture.c
+++ b/src/gallium/state_trackers/va/picture.c
@@ -344,6 +344,7 @@ static void
handleSliceParameterBuffer(vlVaContext *context, vlVaBuffer *buf)
{
VASliceParameterBufferH264 *h264;
+ VASliceParameterBufferMPEG4 *mpeg4;
switch (u_reduce_video_profile(context->decoder->profile)) {
case PIPE_VIDEO_FORMAT_MPEG4_AVC:
@@ -354,7 +355,12 @@ handleSliceParameterBuffer(vlVaContext *context, vlVaBuffer *buf)
context->desc.h264.num_ref_idx_l1_active_minus1 =
h264->num_ref_idx_l1_active_minus1;
break;
+ case PIPE_VIDEO_FORMAT_MPEG4:
+ assert(buf->size >= sizeof(VASliceParameterBufferMPEG4) && buf->num_elements == 1);
+ mpeg4 = buf->data;
+ context->mpeg4.quant_scale = mpeg4->quant_scale;
+ break;
default:
break;
}