summaryrefslogtreecommitdiff
path: root/libavcodec/h264pred_template.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2011-05-11 17:22:41 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-05-11 17:22:41 +0200
commitc77b858c4cafe74cd663bdd1bc9d96a487b20e14 (patch)
treefebb3d9177f3ce54458998604981d43b5dadfaa3 /libavcodec/h264pred_template.c
parent0f6bbc5a0699f9eb52dcf856c0e6e981f7abe3bb (diff)
downloadffmpeg-c77b858c4cafe74cd663bdd1bc9d96a487b20e14.tar.gz
h264pred: fix one more aliasing violation.
Diffstat (limited to 'libavcodec/h264pred_template.c')
-rw-r--r--libavcodec/h264pred_template.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/h264pred_template.c b/libavcodec/h264pred_template.c
index d056e20e80..3cd4463d76 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
}