summaryrefslogtreecommitdiff
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-06-12 12:58:42 +0100
committerVittorio Giovara <vittorio.giovara@gmail.com>2015-06-12 17:02:48 +0100
commit5e87080f2c73186066df0b9c43877b4af0beef3a (patch)
treec6b7f75eee4e3219b6d78247849eb3f247187f8b /libavcodec/x86
parent64a2e844166d62093b45e680874eea8bd1facf5b (diff)
h264_weight: Fix SSSE3 biweight code with weights of 128
CC: libav-stable@libav.org Sample-Id: test_bref.mp4 Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/h264_weight.asm10
1 files changed, 10 insertions, 0 deletions
diff --git a/libavcodec/x86/h264_weight.asm b/libavcodec/x86/h264_weight.asm
index d1873af5b4..9ad26de832 100644
--- a/libavcodec/x86/h264_weight.asm
+++ b/libavcodec/x86/h264_weight.asm
@@ -135,6 +135,16 @@ WEIGHT_FUNC_HALF_MM 8, 8
add off_regd, 1
or off_regd, 1
add r4, 1
+ cmp r6d, 128
+ je .nonnormal
+ cmp r5, 128
+ jne .normal
+.nonnormal
+ sar r5, 1
+ sar r6, 1
+ sar off_regd, 1
+ sub r4, 1
+.normal
%if cpuflag(ssse3)
movd m4, r5d
movd m0, r6d