On 6/2/2024 9:14 AM, Kacper Michajłow wrote:
Fixes runtime error: member access within misaligned address
<addr> for type 'av_alias64', which requires 8 byte alignment.

VP9mv is aligned to 4 bytes, so instead doing 8 bytes clear, let's do
2 times 4 bytes.

Signed-off-by: Kacper Michajłow <kaspe...@gmail.com>
---
  libavcodec/vp9mvs.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/vp9mvs.c b/libavcodec/vp9mvs.c
index b706d1660f..790cf629a6 100644
--- a/libavcodec/vp9mvs.c
+++ b/libavcodec/vp9mvs.c
@@ -294,7 +294,8 @@ void ff_vp9_fill_mv(VP9TileData *td, VP9mv *mv, int mode, 
int sb)
      VP9Block *b = td->b;
if (mode == ZEROMV) {
-        AV_ZERO64(mv);
+        AV_ZERO32(&mv[0]);
+        AV_ZERO32(&mv[1]);
      } else {
          int hp;

IMO just move mv in VP9Block to the top of the struct. That will make sure it's aligned to at the very least 16 byte (Since it's av_malloc'd).
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to