History

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.

Wu Jianhua committed 5 years ago

Commit 7bbad321 parent fcf10c91 file · +1 −2Browse files

Unified · Split

libavfilter/x86/vf_gblur.asm+1−2
@@ -524,9 +524,8 @@ cglobal horiz_slice, 4, 9, 9, ptr, width, height, steps, nu, bscale, x, y, step, · 523 unmodified lines
524 cmp xq, 0524 cmp xq, 0
525 jg .loop_x_scalar525 jg .loop_x_scalar
526 526
527 OPTIMIZED_LOOP_STEP
528
529 .bscale_scalar:527 .bscale_scalar:
528 OPTIMIZED_LOOP_STEP
530 sub ptrq, 4529 sub ptrq, 4
531 sub localbufq, mmsize530 sub localbufq, mmsize
532 mulps m3, m1531 mulps m3, m1

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t