History

avcodec/mpeg12dec: Don't initialize unused parts of ScanTable

The MPEG-1/2 decoders don't need ScanTable.raster_end (as the coefficients are unquantized as they are parsed).

Andreas Rheinhardt committed 1 year ago

Commit 79d66571 parent e6657d41 file · +7 −6Browse files

Unified · Split

libavcodec/mpeg12dec.c+7−6
@@ -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 coincide1231 // 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;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t