summaryrefslogtreecommitdiff
path: root/vp8
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@google.com>2011-04-21 16:35:02 -0400
committerRonald S. Bultje <rbultje@google.com>2011-04-22 10:00:38 -0400
commit496bcbb0de8ac77eff532f64a6816b6d021f1027 (patch)
tree63ec538bf75338d28ba3517d14dc41951d97e335 /vp8
parent73c3d327058b1850da4fbfc9819d1265be70965a (diff)
downloadlibvpx-496bcbb0de8ac77eff532f64a6816b6d021f1027.tar
libvpx-496bcbb0de8ac77eff532f64a6816b6d021f1027.tar.gz
libvpx-496bcbb0de8ac77eff532f64a6816b6d021f1027.tar.bz2
libvpx-496bcbb0de8ac77eff532f64a6816b6d021f1027.zip
Fix overflow in temporal_filter_apply_sse2().
The accumulator array is an integer array, so use paddd instead of paddw to add values to it. Fixes overflows when using large --arnr-maxframes (>8) values. Change-Id: Iad83794caa02400a65f3ab5760f2517e082d66ae
Diffstat (limited to 'vp8')
-rw-r--r--vp8/encoder/x86/temporal_filter_apply_sse2.asm8
1 files changed, 4 insertions, 4 deletions
diff --git a/vp8/encoder/x86/temporal_filter_apply_sse2.asm b/vp8/encoder/x86/temporal_filter_apply_sse2.asm
index 30674c889..b777ef566 100644
--- a/vp8/encoder/x86/temporal_filter_apply_sse2.asm
+++ b/vp8/encoder/x86/temporal_filter_apply_sse2.asm
@@ -164,10 +164,10 @@ temporal_filter_apply_load_finished:
movdqa xmm6, [rdi+32]
movdqa xmm7, [rdi+48]
; += modifier
- paddw xmm4, xmm0
- paddw xmm5, xmm2
- paddw xmm6, xmm1
- paddw xmm7, xmm3
+ paddd xmm4, xmm0
+ paddd xmm5, xmm2
+ paddd xmm6, xmm1
+ paddd xmm7, xmm3
; write back
movdqa [rdi], xmm4
movdqa [rdi+16], xmm5