aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter/x86
diff options
context:
space:
mode:
authorWu Jianhua <jianhua.wu@intel.com>2021-09-16 15:34:08 +0800
committerPaul B Mahol <onemda@gmail.com>2021-09-18 12:38:01 +0200
commit7bbad32d5ab69cb52bc92a5ec30c7b9838daa08a (patch)
tree9260a90a0962514b7a456ff929aaeeb6be709733 /libavfilter/x86
parentfcf10c925dc4a4ab883b4ad14ea61bbdaa6f8521 (diff)
downloadffmpeg-7bbad32d5ab69cb52bc92a5ec30c7b9838daa08a.tar.gz
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>
Diffstat (limited to 'libavfilter/x86')
-rw-r--r--libavfilter/x86/vf_gblur.asm3
1 files changed, 1 insertions, 2 deletions
diff --git a/libavfilter/x86/vf_gblur.asm b/libavfilter/x86/vf_gblur.asm
index 64c067538a..16e802e002 100644
--- a/libavfilter/x86/vf_gblur.asm
+++ b/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