avcodec/nvdec_mpeg4: fix order of quant matrix coefficients

The matrix coefficients are stored permutated for the IDCT,
rather then in plain raster order, and need to be un-permutated
for the hardware.
pull/389/head
Hendrik Leppkes 2 years ago
parent af8affb77e
commit b3e938ef80
No known key found for this signature in database
GPG Key ID: 846079A4B0A7C1B5
  1. 5
      libavcodec/nvdec_mpeg4.c

@ -88,8 +88,9 @@ static int nvdec_mpeg4_start_frame(AVCodecContext *avctx, const uint8_t *buffer,
}; };
for (i = 0; i < 64; ++i) { for (i = 0; i < 64; ++i) {
ppc->QuantMatrixIntra[i] = s->intra_matrix[i]; int n = s->idsp.idct_permutation[i];
ppc->QuantMatrixInter[i] = s->inter_matrix[i]; ppc->QuantMatrixIntra[i] = s->intra_matrix[n];
ppc->QuantMatrixInter[i] = s->inter_matrix[n];
} }
// We need to pass the full frame buffer and not just the slice // We need to pass the full frame buffer and not just the slice

Loading…
Cancel
Save