summaryrefslogtreecommitdiff
path: root/libavcodec/me_cmp.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2017-08-19 23:38:58 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2017-08-21 23:19:18 +0200
commitbc488ec28aec4bc91ba47283c49c9f7f25696eaa (patch)
treecfde72c15ebde8a1b12ebec153903d466c9625f3 /libavcodec/me_cmp.c
parent898ea658c8a46a105bcf831691a9aad3bb0f606d (diff)
avcodec/me_cmp: Fix crashes on ARM due to misalignment
Adds a diff_pixels_unaligned() Fixes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=872503 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/me_cmp.c')
-rw-r--r--libavcodec/me_cmp.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libavcodec/me_cmp.c b/libavcodec/me_cmp.c
index 6639b919ff..5e34a11593 100644
--- a/libavcodec/me_cmp.c
+++ b/libavcodec/me_cmp.c
@@ -628,7 +628,7 @@ static int dct_sad8x8_c(MpegEncContext *s, uint8_t *src1,
av_assert2(h == 8);
- s->pdsp.diff_pixels(temp, src1, src2, stride);
+ s->pdsp.diff_pixels_unaligned(temp, src1, src2, stride);
s->fdsp.fdct(temp);
return s->mecc.sum_abs_dctelem(temp);
}
@@ -668,7 +668,7 @@ static int dct264_sad8x8_c(MpegEncContext *s, uint8_t *src1,
int16_t dct[8][8];
int i, sum = 0;
- s->pdsp.diff_pixels(dct[0], src1, src2, stride);
+ s->pdsp.diff_pixels_unaligned(dct[0], src1, src2, stride);
#define SRC(x) dct[i][x]
#define DST(x, v) dct[i][x] = v
@@ -695,7 +695,7 @@ static int dct_max8x8_c(MpegEncContext *s, uint8_t *src1,
av_assert2(h == 8);
- s->pdsp.diff_pixels(temp, src1, src2, stride);
+ s->pdsp.diff_pixels_unaligned(temp, src1, src2, stride);
s->fdsp.fdct(temp);
for (i = 0; i < 64; i++)
@@ -714,7 +714,7 @@ static int quant_psnr8x8_c(MpegEncContext *s, uint8_t *src1,
av_assert2(h == 8);
s->mb_intra = 0;
- s->pdsp.diff_pixels(temp, src1, src2, stride);
+ s->pdsp.diff_pixels_unaligned(temp, src1, src2, stride);
memcpy(bak, temp, 64 * sizeof(int16_t));
@@ -817,7 +817,7 @@ static int bit8x8_c(MpegEncContext *s, uint8_t *src1, uint8_t *src2,
av_assert2(h == 8);
- s->pdsp.diff_pixels(temp, src1, src2, stride);
+ s->pdsp.diff_pixels_unaligned(temp, src1, src2, stride);
s->block_last_index[0 /* FIXME */] =
last =