libavfilter/x86/vf_gblur: correct the order of loop step

The problem was caused by if the width of the processed block
minus 1 is a multiple of the aligned number the instruction
jle .bscale_scalar would skip the Optimized Loop Step, which
will lead to an incorrect sampling when specifying steps more
than 1. Move the Optimized Loop Step after .bscale_scalar to
ensure the loop step is enabled.

Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
pull/368/head
Wu Jianhua 3 years ago committed by Paul B Mahol
parent fcf10c925d
commit 7bbad32d5a
  1. 3
      libavfilter/x86/vf_gblur.asm

@ -524,9 +524,8 @@ cglobal horiz_slice, 4, 9, 9, ptr, width, height, steps, nu, bscale, x, y, step,
cmp xq, 0
jg .loop_x_scalar
OPTIMIZED_LOOP_STEP
.bscale_scalar:
OPTIMIZED_LOOP_STEP
sub ptrq, 4
sub localbufq, mmsize
mulps m3, m1

Loading…
Cancel
Save