Module: Mesa
Branch: master
Commit: 92350a65c47f95e9630e815172529de4e583e247
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=92350a65c47f95e9630e815172529de4e583e247

Author: Michael Varga <michael.va...@amd.com>
Date:   Thu Oct 23 10:18:09 2014 -0500

st/va: MPEG4 populate the iq matrix buffers

Signed-off-by: Michael Varga <michael.va...@amd.com>

---

 src/gallium/state_trackers/va/picture.c |   16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/src/gallium/state_trackers/va/picture.c 
b/src/gallium/state_trackers/va/picture.c
index a4eb26b..327c33d 100644
--- a/src/gallium/state_trackers/va/picture.c
+++ b/src/gallium/state_trackers/va/picture.c
@@ -296,6 +296,7 @@ handleIQMatrixBuffer(vlVaContext *context, vlVaBuffer *buf)
 {
    VAIQMatrixBufferMPEG2 *mpeg2;
    VAIQMatrixBufferH264 *h264;
+   VAIQMatrixBufferMPEG4 *mpeg4;
 
    switch (u_reduce_video_profile(context->decoder->profile)) {
    case PIPE_VIDEO_FORMAT_MPEG12:
@@ -319,6 +320,21 @@ handleIQMatrixBuffer(vlVaContext *context, vlVaBuffer *buf)
       memcpy(&context->desc.h264.pps->ScalingList8x8, h264->ScalingList8x8, 2 
* 64);
       break;
 
+   case PIPE_VIDEO_FORMAT_MPEG4:
+      assert(buf->size >= sizeof(VAIQMatrixBufferMPEG4) && buf->num_elements 
== 1);
+      mpeg4 = buf->data;
+
+      if (mpeg4->load_intra_quant_mat)
+         context->desc.mpeg4.intra_matrix = mpeg4->intra_quant_mat;
+      else
+         context->desc.mpeg4.intra_matrix = NULL;
+
+      if (mpeg4->load_non_intra_quant_mat)
+         context->desc.mpeg4.non_intra_matrix = mpeg4->non_intra_quant_mat;
+      else
+         context->desc.mpeg4.non_intra_matrix = NULL;
+      break;
+
    default:
       break;
    }

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to