static void mpeg_decode_quant_matrix_extension(MpegEncContext *s)
{
- int i, v;
+ int i, v, j;
if (get_bits1(&s->gb)) {
for(i=0;i<64;i++) {
v = get_bits(&s->gb, 8);
- s->intra_matrix[i] = v;
- s->chroma_intra_matrix[i] = v;
+ j = block_permute_op(i);
+ s->intra_matrix[j] = v;
+ s->chroma_intra_matrix[j] = v;
}
}
if (get_bits1(&s->gb)) {
for(i=0;i<64;i++) {
v = get_bits(&s->gb, 8);
- s->non_intra_matrix[i] = v;
- s->chroma_non_intra_matrix[i] = v;
+ j = block_permute_op(i);
+ s->non_intra_matrix[j] = v;
+ s->chroma_non_intra_matrix[j] = v;
}
}
if (get_bits1(&s->gb)) {
for(i=0;i<64;i++) {
v = get_bits(&s->gb, 8);
- s->chroma_intra_matrix[i] = v;
+ j = block_permute_op(i);
+ s->chroma_intra_matrix[j] = v;
}
}
if (get_bits1(&s->gb)) {
for(i=0;i<64;i++) {
v = get_bits(&s->gb, 8);
- s->chroma_non_intra_matrix[i] = v;
+ j = block_permute_op(i);
+ s->chroma_non_intra_matrix[j] = v;
}
}
}
{
Mpeg1Context *s1 = avctx->priv_data;
MpegEncContext *s = &s1->mpeg_enc_ctx;
- int width, height, i, v;
+ int width, height, i, v, j;
init_get_bits(&s->gb, buf, buf_size);
if (get_bits1(&s->gb)) {
for(i=0;i<64;i++) {
v = get_bits(&s->gb, 8);
- s->intra_matrix[i] = v;
- s->chroma_intra_matrix[i] = v;
+ j = block_permute_op(i);
+ s->intra_matrix[j] = v;
+ s->chroma_intra_matrix[j] = v;
}
} else {
for(i=0;i<64;i++) {
if (get_bits1(&s->gb)) {
for(i=0;i<64;i++) {
v = get_bits(&s->gb, 8);
- s->non_intra_matrix[i] = v;
- s->chroma_non_intra_matrix[i] = v;
+ j = block_permute_op(i);
+ s->non_intra_matrix[j] = v;
+ s->chroma_non_intra_matrix[j] = v;
}
} else {
for(i=0;i<64;i++) {