diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2011-09-22 01:41:11 +0400 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2011-09-22 01:42:03 +0400 |
commit | 3039c68626d924118d9061259cb898a5d978f758 (patch) | |
tree | 84b519368ff747a93140621ac101bc63c75d3096 /libavcodec/dxva2_h264.c | |
parent | e71322cb009ad7b042e93734aeffddd1d8fc4370 (diff) |
Fix dxva2 decoding for some H264 samples.
Diffstat (limited to 'libavcodec/dxva2_h264.c')
-rw-r--r-- | libavcodec/dxva2_h264.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c index b5ffe02f44..3d5af31757 100644 --- a/libavcodec/dxva2_h264.c +++ b/libavcodec/dxva2_h264.c @@ -162,17 +162,19 @@ static void fill_scaling_lists(struct dxva_context *ctx, const H264Context *h, D for (j = 0; j < 16; j++) qm->bScalingLists4x4[i][j] = h->pps.scaling_matrix4[i][j]; - for (i = 0; i < 2; i++) - for (j = 0; j < 64; j++) - qm->bScalingLists8x8[i][j] = h->pps.scaling_matrix8[i][j]; + for (j = 0; j < 64; j++) { + qm->bScalingLists8x8[0][j] = h->pps.scaling_matrix8[0][j]; + qm->bScalingLists8x8[1][j] = h->pps.scaling_matrix8[3][j]; + } } else { for (i = 0; i < 6; i++) 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]]; + } } } |