From 8e207bf463618c14a6e5cad882ee7622a303a320 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Wed, 13 Mar 2024 01:49:54 +0100 Subject: [PATCH] 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 Tested-by: Sean McGovern Signed-off-by: Andreas Rheinhardt --- 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];