[FFmpeg-cvslog] h264pred: fix one more aliasing violation.

Ronald S. Bultje git at videolan.org
Wed May 11 17:45:58 CEST 2011


ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Wed May 11 17:22:41 2011 +0200| [c77b858c4cafe74cd663bdd1bc9d96a487b20e14] | committer: Michael Niedermayer

h264pred: fix one more aliasing violation.

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

 libavcodec/h264pred_template.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/h264pred_template.c b/libavcodec/h264pred_template.c
index d056e20..3cd4463 100644
--- a/libavcodec/h264pred_template.c
+++ b/libavcodec/h264pred_template.c
@@ -695,10 +695,12 @@ static void FUNCC(pred8x8l_horizontal)(uint8_t *p_src, int has_topleft, int has_
 {
     pixel *src = (pixel*)p_src;
     int stride = p_stride>>(sizeof(pixel)-1);
+    pixel4 a;
 
     PREDICT_8x8_LOAD_LEFT;
-#define ROW(y) ((pixel4*)(src+y*stride))[0] =\
-               ((pixel4*)(src+y*stride))[1] = PIXEL_SPLAT_X4(l##y)
+#define ROW(y) a = PIXEL_SPLAT_X4(l##y); \
+               AV_WN4PA(src+y*stride, a); \
+               AV_WN4PA(src+y*stride+4, a);
     ROW(0); ROW(1); ROW(2); ROW(3); ROW(4); ROW(5); ROW(6); ROW(7);
 #undef ROW
 }



More information about the ffmpeg-cvslog mailing list