[FFmpeg-cvslog] avcodec/mpegvideo_dec: Move syncing DivX-stuff to mpeg4videodec.c
Andreas Rheinhardt
git at videolan.org
Tue Mar 4 14:35:27 EET 2025
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Mon Feb 24 17:47:22 2025 +0100| [920217975407bcb9f9ca9ab98a2e2dcb3a98e05a] | committer: Andreas Rheinhardt
avcodec/mpegvideo_dec: Move syncing DivX-stuff to mpeg4videodec.c
It is only used by MPEG-4 (and is used in h263dec.c and can therefore
not just be moved to Mpeg4DecContext...).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=920217975407bcb9f9ca9ab98a2e2dcb3a98e05a
---
libavcodec/mpeg4videodec.c | 14 ++++++++++++++
libavcodec/mpegvideo_dec.c | 16 ----------------
2 files changed, 14 insertions(+), 16 deletions(-)
diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
index debcafc4c0..14e4de9a45 100644
--- a/libavcodec/mpeg4videodec.c
+++ b/libavcodec/mpeg4videodec.c
@@ -3699,6 +3699,7 @@ static int mpeg4_update_thread_context(AVCodecContext *dst,
s->enhancement_type = s1->enhancement_type;
s->scalability = s1->scalability;
s->intra_dc_threshold = s1->intra_dc_threshold;
+ s->m.divx_packed = s1->m.divx_packed;
s->divx_version = s1->divx_version;
s->divx_build = s1->divx_build;
s->xvid_build = s1->xvid_build;
@@ -3714,6 +3715,19 @@ static int mpeg4_update_thread_context(AVCodecContext *dst,
memcpy(s->sprite_shift, s1->sprite_shift, sizeof(s1->sprite_shift));
memcpy(s->sprite_traj, s1->sprite_traj, sizeof(s1->sprite_traj));
+ if (s1->m.bitstream_buffer) {
+ av_fast_padded_malloc(&s->m.bitstream_buffer,
+ &s->m.allocated_bitstream_buffer_size,
+ s1->m.bitstream_buffer_size);
+ if (!s->m.bitstream_buffer) {
+ s->m.bitstream_buffer_size = 0;
+ return AVERROR(ENOMEM);
+ }
+ s->m.bitstream_buffer_size = s1->m.bitstream_buffer_size;
+ memcpy(s->m.bitstream_buffer, s1->m.bitstream_buffer,
+ s1->m.bitstream_buffer_size);
+ }
+
if (!init && s1->xvid_build >= 0)
ff_xvid_idct_init(&s->m.idsp, dst);
diff --git a/libavcodec/mpegvideo_dec.c b/libavcodec/mpegvideo_dec.c
index ebbbc1df8b..8d4ba341d5 100644
--- a/libavcodec/mpegvideo_dec.c
+++ b/libavcodec/mpegvideo_dec.c
@@ -136,22 +136,6 @@ int ff_mpeg_update_thread_context(AVCodecContext *dst,
// B-frame info
s->low_delay = s1->low_delay;
- // DivX handling (doesn't work)
- s->divx_packed = s1->divx_packed;
-
- if (s1->bitstream_buffer) {
- av_fast_padded_malloc(&s->bitstream_buffer,
- &s->allocated_bitstream_buffer_size,
- s1->bitstream_buffer_size);
- if (!s->bitstream_buffer) {
- s->bitstream_buffer_size = 0;
- return AVERROR(ENOMEM);
- }
- s->bitstream_buffer_size = s1->bitstream_buffer_size;
- memcpy(s->bitstream_buffer, s1->bitstream_buffer,
- s1->bitstream_buffer_size);
- }
-
// MPEG-2/interlacing info
memcpy(&s->progressive_sequence, &s1->progressive_sequence,
(char *) &s1->rtp_mode - (char *) &s1->progressive_sequence);
More information about the ffmpeg-cvslog
mailing list