From 496bcbb0de8ac77eff532f64a6816b6d021f1027 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Thu, 21 Apr 2011 16:35:02 -0400 Subject: [PATCH] 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 --- vp8/encoder/x86/temporal_filter_apply_sse2.asm | 8 ++++---- 1 file 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 30674c8..b777ef5 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 -- 2.7.4