summaryrefslogtreecommitdiff
path: root/libavcodec/x86/h264_intrapred.asm
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2011-01-24 23:24:28 +0000
committerMichael Niedermayer <michaelni@gmx.at>2011-01-26 03:43:29 +0100
commite243ed656c445e504d2e1fa83ad28c7f61209b8b (patch)
tree82724ff5218ffabf273de5b98a348778da404ae9 /libavcodec/x86/h264_intrapred.asm
parentc78c182097d463ca72e459174d29a4e0b3ccc1f2 (diff)
x86: fix overflow in h264 8x8 planar prediction
Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 80944df720da98d6e5ee0e355db5814735914ec9)
Diffstat (limited to 'libavcodec/x86/h264_intrapred.asm')
-rw-r--r--libavcodec/x86/h264_intrapred.asm8
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/x86/h264_intrapred.asm b/libavcodec/x86/h264_intrapred.asm
index dbe6b8ad61..28c2f399c3 100644
--- a/libavcodec/x86/h264_intrapred.asm
+++ b/libavcodec/x86/h264_intrapred.asm
@@ -637,10 +637,6 @@ cglobal pred8x8_plane_%1, 2, 7, %2
%endif
paddw m0, m1 ; sum of H coefficients
- pmullw m0, [pw_17]
- paddw m0, [pw_16]
- psraw m0, 5
-
lea r4, [r0+r2*4-1]
lea r3, [r0 -1]
add r4, r2
@@ -694,6 +690,10 @@ cglobal pred8x8_plane_%1, 2, 7, %2
shl r3, 4
movd r1d, m0
movsx r1d, r1w
+ imul r1d, 17
+ add r1d, 16
+ sar r1d, 5
+ movd m0, r1d
add r1d, r5d
sub r3d, r1d
add r1d, r1d