From 2a115873afb16ed421f2d8eeacfa3d828b64af7f Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
Date: Fri, 16 Feb 2007 21:22:53 +0000
Subject: [PATCH] add a few asserts to ensure alignment

Originally committed as revision 7994 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/i386/h264dsp_mmx.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/i386/h264dsp_mmx.c b/libavcodec/i386/h264dsp_mmx.c
index 40cd1a05ff3..56004b674d0 100644
--- a/libavcodec/i386/h264dsp_mmx.c
+++ b/libavcodec/i386/h264dsp_mmx.c
@@ -1311,6 +1311,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc21_ ## MMX(uint8_t *dst, uint8_t *
     uint64_t temp[SIZE*(SIZE<8?12:24)/4 + SIZE*SIZE/8];\
     uint8_t * const halfHV= (uint8_t*)temp;\
     int16_t * const tmp= ((int16_t*)temp) + SIZE*SIZE/2;\
+    assert((int)temp & 7 == 0);\
     put_h264_qpel ## SIZE ## _hv_lowpass_ ## MMX(halfHV, tmp, src, SIZE, SIZE, stride);\
     OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src, halfHV, stride, SIZE);\
 }\
@@ -1319,6 +1320,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc23_ ## MMX(uint8_t *dst, uint8_t *
     uint64_t temp[SIZE*(SIZE<8?12:24)/4 + SIZE*SIZE/8];\
     uint8_t * const halfHV= (uint8_t*)temp;\
     int16_t * const tmp= ((int16_t*)temp) + SIZE*SIZE/2;\
+    assert((int)temp & 7 == 0);\
     put_h264_qpel ## SIZE ## _hv_lowpass_ ## MMX(halfHV, tmp, src, SIZE, SIZE, stride);\
     OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src+stride, halfHV, stride, SIZE);\
 }\
@@ -1327,6 +1329,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc12_ ## MMX(uint8_t *dst, uint8_t *
     uint64_t temp[SIZE*(SIZE<8?12:24)/4 + SIZE*SIZE/8];\
     int16_t * const halfV= ((int16_t*)temp) + SIZE*SIZE/2;\
     uint8_t * const halfHV= ((uint8_t*)temp);\
+    assert((int)temp & 7 == 0);\
     put_h264_qpel ## SIZE ## _hv_lowpass_ ## MMX(halfHV, halfV, src, SIZE, SIZE, stride);\
     OPNAME ## pixels ## SIZE ## _l2_shift5_ ## MMX(dst, halfV+2, halfHV, stride, SIZE, SIZE);\
 }\
@@ -1335,6 +1338,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc32_ ## MMX(uint8_t *dst, uint8_t *
     uint64_t temp[SIZE*(SIZE<8?12:24)/4 + SIZE*SIZE/8];\
     int16_t * const halfV= ((int16_t*)temp) + SIZE*SIZE/2;\
     uint8_t * const halfHV= ((uint8_t*)temp);\
+    assert((int)temp & 7 == 0);\
     put_h264_qpel ## SIZE ## _hv_lowpass_ ## MMX(halfHV, halfV, src, SIZE, SIZE, stride);\
     OPNAME ## pixels ## SIZE ## _l2_shift5_ ## MMX(dst, halfV+3, halfHV, stride, SIZE, SIZE);\
 }\
-- 
GitLab