[FFmpeg-cvslog] Fix dxva2 decoding for some H264 samples.

Carl Eugen Hoyos git at videolan.org
Wed Sep 21 23:52:31 CEST 2011


ffmpeg | branch: release/0.7 | Carl Eugen Hoyos <cehoyos at ag.or.at> | Wed Sep 21 23:47:34 2011 +0200| [5d833dd29985b53789304b350ac229abd4de0ff6] | committer: Carl Eugen Hoyos

Fix dxva2 decoding for some H264 samples.
(cherry picked from commit bf7dc6b29d785f149f18c39db021413e08735546)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5d833dd29985b53789304b350ac229abd4de0ff6
---

 libavcodec/dxva2_h264.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c
index bc80e98..3f728e2 100644
--- a/libavcodec/dxva2_h264.c
+++ b/libavcodec/dxva2_h264.c
@@ -158,9 +158,10 @@ static void fill_scaling_lists(const H264Context *h, DXVA_Qmatrix_H264 *qm)
         for (j = 0; j < 16; j++)
             qm->bScalingLists4x4[i][j] = h->pps.scaling_matrix4[i][zigzag_scan[j]];
 
-    for (i = 0; i < 2; i++)
-        for (j = 0; j < 64; j++)
-            qm->bScalingLists8x8[i][j] = h->pps.scaling_matrix8[i][ff_zigzag_direct[j]];
+    for (j = 0; j < 64; j++) {
+        qm->bScalingLists8x8[0][j] = h->pps.scaling_matrix8[0][ff_zigzag_direct[j]];
+        qm->bScalingLists8x8[1][j] = h->pps.scaling_matrix8[3][ff_zigzag_direct[j]];
+    }
 }
 
 static int is_slice_short(struct dxva_context *ctx)



More information about the ffmpeg-cvslog mailing list