summaryrefslogtreecommitdiff
path: root/libavcodec/vp3dsp.c
diff options
context:
space:
mode:
authorPeter Ross <pross@xvid.org>2019-06-21 07:52:31 +1000
committerMichael Niedermayer <michael@niedermayer.cc>2019-10-30 10:06:38 +0100
commitfd172185580c1ccdcfb90bbfdb59fa806fad3117 (patch)
tree97743b09c37d6cecc1f231e31800fcbe1eb80d15 /libavcodec/vp3dsp.c
parentd3dee676b8a8ab6752c599e25c9b5461f06a3959 (diff)
downloadffmpeg-fd172185580c1ccdcfb90bbfdb59fa806fad3117.tar.gz
vp4: prevent unaligned memory access in loop filter
VP4 applies a loop filter during motion compensation, causing the block offset will often by unaligned. This produces a bus error on some platforms, namely ARMv7 NEON. This patch adds a unaligned version of the loop filter function pointer to VP3DSPContext. Reported-by: Mike Melanson <mike@multimedia.cx> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/vp3dsp.c')
-rw-r--r--libavcodec/vp3dsp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/vp3dsp.c b/libavcodec/vp3dsp.c
index ac4c57441c..f485fba1f6 100644
--- a/libavcodec/vp3dsp.c
+++ b/libavcodec/vp3dsp.c
@@ -449,8 +449,8 @@ av_cold void ff_vp3dsp_init(VP3DSPContext *c, int flags)
c->idct_put = vp3_idct_put_c;
c->idct_add = vp3_idct_add_c;
c->idct_dc_add = vp3_idct_dc_add_c;
- c->v_loop_filter = vp3_v_loop_filter_8_c;
- c->h_loop_filter = vp3_h_loop_filter_8_c;
+ c->v_loop_filter = c->v_loop_filter_unaligned = vp3_v_loop_filter_8_c;
+ c->h_loop_filter = c->h_loop_filter_unaligned = vp3_h_loop_filter_8_c;
if (ARCH_ARM)
ff_vp3dsp_init_arm(c, flags);