[FFmpeg-cvslog] avcodec/mpeg12dec: Don't initialize inter tables for IPU
Andreas Rheinhardt
git at videolan.org
Wed Jun 12 14:16:05 EEST 2024
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Mon Apr 22 01:44:52 2024 +0200| [183a67580b61fd83dd0d70ea57e31d6681392e5a] | committer: Andreas Rheinhardt
avcodec/mpeg12dec: Don't initialize inter tables for IPU
IPU is intra-only.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=183a67580b61fd83dd0d70ea57e31d6681392e5a
---
libavcodec/mpeg12dec.c | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c
index 4e2a78c32d..b5605cb93d 100644
--- a/libavcodec/mpeg12dec.c
+++ b/libavcodec/mpeg12dec.c
@@ -2751,13 +2751,8 @@ static int ipu_decode_frame(AVCodecContext *avctx, AVFrame *frame,
m->intra_vlc_format = !!(s->flags & 0x20);
m->alternate_scan = !!(s->flags & 0x10);
- if (s->flags & 0x10) {
- ff_init_scantable(m->idsp.idct_permutation, &m->inter_scantable, ff_alternate_vertical_scan);
- ff_init_scantable(m->idsp.idct_permutation, &m->intra_scantable, ff_alternate_vertical_scan);
- } else {
- ff_init_scantable(m->idsp.idct_permutation, &m->inter_scantable, ff_zigzag_direct);
- ff_init_scantable(m->idsp.idct_permutation, &m->intra_scantable, ff_zigzag_direct);
- }
+ ff_init_scantable(m->idsp.idct_permutation, &m->intra_scantable,
+ s->flags & 0x10 ? ff_alternate_vertical_scan : ff_zigzag_direct);
m->last_dc[0] = m->last_dc[1] = m->last_dc[2] = 1 << (7 + (s->flags & 3));
m->qscale = 1;
@@ -2844,13 +2839,6 @@ static av_cold int ipu_decode_init(AVCodecContext *avctx)
m->chroma_intra_matrix[j] = v;
}
- for (int i = 0; i < 64; i++) {
- int j = m->idsp.idct_permutation[i];
- int v = ff_mpeg1_default_non_intra_matrix[i];
- m->inter_matrix[j] = v;
- m->chroma_inter_matrix[j] = v;
- }
-
return 0;
}
More information about the ffmpeg-cvslog
mailing list