From 142988b6fe7a3f3e1a12e59ad87ae6cf0b1d6c8c Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sun, 28 Apr 2024 20:56:45 +0200 Subject: [PATCH] avcodec/mpeg12dec: Don't initialize inter_scantable MPEG-1/2 only needs one scantable and therefore all code already uses the intra one. So stop initializing the inter one altogether. Signed-off-by: Andreas Rheinhardt Signed-off-by: Paul B Mahol --- libavcodec/mpeg12dec.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index 851d8d9a77..9673bde764 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -1256,13 +1256,10 @@ static int mpeg_decode_picture_coding_extension(Mpeg1Context *s1) s->chroma_420_type = get_bits1(&s->gb); s->progressive_frame = get_bits1(&s->gb); - if (s->alternate_scan) { - ff_init_scantable(s->idsp.idct_permutation, &s->inter_scantable, ff_alternate_vertical_scan); - ff_init_scantable(s->idsp.idct_permutation, &s->intra_scantable, ff_alternate_vertical_scan); - } else { - ff_init_scantable(s->idsp.idct_permutation, &s->inter_scantable, ff_zigzag_direct); - ff_init_scantable(s->idsp.idct_permutation, &s->intra_scantable, ff_zigzag_direct); - } + // We only initialize intra_scantable, as both scantables always coincide + // and all code therefore only uses the intra one. + ff_init_scantable(s->idsp.idct_permutation, &s->intra_scantable, + s->alternate_scan ? ff_alternate_vertical_scan : ff_zigzag_direct); /* composite display not parsed */ ff_dlog(s->avctx, "intra_dc_precision=%d\n", s->intra_dc_precision);