[FFmpeg-cvslog] avcodec/mpeg4videodec: Align idct-block appropriately

Andreas Rheinhardt git at videolan.org
Thu Mar 14 22:53:05 EET 2024


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Wed Mar 13 01:49:54 2024 +0100| [8e207bf463618c14a6e5cad882ee7622a303a320] | committer: Andreas Rheinhardt

avcodec/mpeg4videodec: Align idct-block appropriately

It is accessed via AV_RN64A in ff_simple_idct_put_int32_10bit().
Should fix the UBSan failures in the mpeg4-simple-studio-profile
test here:
https://fate.ffmpeg.org/report.cgi?time=20240312011016&slot=ppc-linux-gcc-13.2-ubsan-altivec-qemu

Reviewed-by: Kieran Kunhya <kierank at obe.tv>
Tested-by: Sean McGovern <gseanmcg at gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8e207bf463618c14a6e5cad882ee7622a303a320
---

 libavcodec/mpeg4videodec.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/mpeg4videodec.h b/libavcodec/mpeg4videodec.h
index c0e6ec6592..4a26d18987 100644
--- a/libavcodec/mpeg4videodec.h
+++ b/libavcodec/mpeg4videodec.h
@@ -29,6 +29,7 @@
 #include "mpegvideo.h"
 #include "mpeg4videodsp.h"
 
+#include "libavutil/mem_internal.h"
 
 typedef struct Mpeg4DecContext {
     MpegEncContext m;
@@ -83,7 +84,7 @@ typedef struct Mpeg4DecContext {
 
     Mpeg4VideoDSPContext mdsp;
 
-    int32_t block32[12][64];
+    DECLARE_ALIGNED(8, int32_t, block32)[12][64];
     // 0 = DCT, 1 = DPCM top to bottom scan, -1 = DPCM bottom to top scan
     int dpcm_direction;
     int16_t dpcm_macroblock[3][256];



More information about the ffmpeg-cvslog mailing list