aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2024-03-13 01:49:54 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2024-03-14 21:52:16 +0100
commit8e207bf463618c14a6e5cad882ee7622a303a320 (patch)
tree52f1b59c7b96b818f5739890ad8390439e8255f5
parentcc2d2b665e48ce3d0f2a9050cb2aeb2796a8849f (diff)
downloadffmpeg-8e207bf463618c14a6e5cad882ee7622a303a320.tar.gz
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@obe.tv> Tested-by: Sean McGovern <gseanmcg@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r--libavcodec/mpeg4videodec.h3
1 files changed, 2 insertions, 1 deletions
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];