Only the intra scantable is used for studio profile.
Showing the changes to libavcodec (1 of 1 file). Show all
Unified · Split
| @@ -3430,21 +3430,8 @@ static int decode_studio_vop_header(Mpeg4DecContext *ctx, GetBitContext *gb) · 3429 unmodified lines | |||
| 3430 | s->q_scale_type = get_bits1(gb); | 3430 | s->q_scale_type = get_bits1(gb); |
| 3431 | } | 3431 | } |
| 3432 | 3432 | ||
| 3433 | if (s->alternate_scan) { | 3433 | ff_init_scantable(s->idsp.idct_permutation, &s->intra_scantable, |
| 3434 | ff_init_scantable(s->idsp.idct_permutation, &s->inter_scantable, ff_alternate_vertical_scan); | 3434 | s->alternate_scan ? ff_alternate_vertical_scan : ff_zigzag_direct); |
| 3435 | ff_init_scantable(s->idsp.idct_permutation, &s->intra_scantable, ff_alternate_vertical_scan); | ||
| 3436 | ff_permute_scantable(s->permutated_intra_h_scantable, ff_alternate_vertical_scan, | ||
| 3437 | s->idsp.idct_permutation); | ||
| 3438 | ff_permute_scantable(s->permutated_intra_v_scantable, ff_alternate_vertical_scan, | ||
| 3439 | s->idsp.idct_permutation); | ||
| 3440 | } else { | ||
| 3441 | ff_init_scantable(s->idsp.idct_permutation, &s->inter_scantable, ff_zigzag_direct); | ||
| 3442 | ff_init_scantable(s->idsp.idct_permutation, &s->intra_scantable, ff_zigzag_direct); | ||
| 3443 | ff_permute_scantable(s->permutated_intra_h_scantable, ff_alternate_horizontal_scan, | ||
| 3444 | s->idsp.idct_permutation); | ||
| 3445 | ff_permute_scantable(s->permutated_intra_v_scantable, ff_alternate_vertical_scan, | ||
| 3446 | s->idsp.idct_permutation); | ||
| 3447 | } | ||
| 3448 | 3435 | ||
| 3449 | mpeg4_load_default_matrices(s); | 3436 | mpeg4_load_default_matrices(s); |
| 3450 | 3437 | ||