The MPEG-1/2 decoders don't need ScanTable.raster_end (as the coefficients are unquantized as they are parsed).
Showing the changes to libavcodec (1 of 1 file). Show all
Unified · Split
| @@ -1228,10 +1228,10 @@ static int mpeg_decode_picture_coding_extension(Mpeg1Context *s1) · 1227 unmodified lines | |||
| 1228 | s->chroma_420_type = get_bits1(&s->gb); | 1228 | s->chroma_420_type = get_bits1(&s->gb); |
| 1229 | s->progressive_frame = get_bits1(&s->gb); | 1229 | s->progressive_frame = get_bits1(&s->gb); |
| 1230 | 1230 | ||
| 1231 | // We only initialize intra_scantable, as both scantables always coincide | 1231 | // We only initialize intra_scantable.permutated, as this is all we use. |
| 1232 | // and all code therefore only uses the intra one. | 1232 | ff_permute_scantable(s->intra_scantable.permutated, |
| 1233 | ff_init_scantable(s->idsp.idct_permutation, &s->intra_scantable, | 1233 | s->alternate_scan ? ff_alternate_vertical_scan : ff_zigzag_direct, |
| 1234 | s->alternate_scan ? ff_alternate_vertical_scan : ff_zigzag_direct); | 1234 | s->idsp.idct_permutation); |
| 1235 | 1235 | ||
| 1236 | /* composite display not parsed */ | 1236 | /* composite display not parsed */ |
| 1237 | ff_dlog(s->avctx, "intra_dc_precision=%d\n", s->intra_dc_precision); | 1237 | ff_dlog(s->avctx, "intra_dc_precision=%d\n", s->intra_dc_precision); |
| @@ -2803,8 +2803,9 @@ static int ipu_decode_frame(AVCodecContext *avctx, AVFrame *frame, · 1565 unmodified lines | |||
| 2803 | m->intra_vlc_format = !!(s->flags & 0x20); | 2803 | m->intra_vlc_format = !!(s->flags & 0x20); |
| 2804 | m->alternate_scan = !!(s->flags & 0x10); | 2804 | m->alternate_scan = !!(s->flags & 0x10); |
| 2805 | 2805 | ||
| 2806 | ff_init_scantable(m->idsp.idct_permutation, &m->intra_scantable, | 2806 | ff_permute_scantable(m->intra_scantable.permutated, |
| 2807 | s->flags & 0x10 ? ff_alternate_vertical_scan : ff_zigzag_direct); | 2807 | s->flags & 0x10 ? ff_alternate_vertical_scan : ff_zigzag_direct, |
| 2808 | m->idsp.idct_permutation); | ||
| 2808 | 2809 | ||
| 2809 | m->last_dc[0] = m->last_dc[1] = m->last_dc[2] = 1 << (7 + (s->flags & 3)); | 2810 | m->last_dc[0] = m->last_dc[1] = m->last_dc[2] = 1 << (7 + (s->flags & 3)); |
| 2810 | m->qscale = 1; | 2811 | m->qscale = 1; |