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