postproc_sse2: avoid reading off the end of the limits array

Rather than unconditionally reading in the next MB's limits, test
the loop exit condition first.

Change-Id: I105d1e92698fb5561aa87160816787604aed03a2
This commit is contained in:
John Koleszar
2012-10-23 10:59:05 -07:00
parent 5ed84c2fdf
commit fd3078fd8f

View File

@@ -140,12 +140,13 @@ sym(vp8_post_proc_down_and_across_mb_row_sse2):
add rsi, 16 add rsi, 16
add rdi, 16 add rdi, 16
UPDATE_FLIMIT
add rdx, 16 add rdx, 16
cmp edx, dword arg(4) ;cols cmp edx, dword arg(4) ;cols
jl .nextcol jge .downdone
UPDATE_FLIMIT
jmp .nextcol
.downdone:
; done with the all cols, start the across filtering in place ; done with the all cols, start the across filtering in place
sub rsi, rdx sub rsi, rdx
sub rdi, rdx sub rdi, rdx
@@ -191,12 +192,13 @@ sym(vp8_post_proc_down_and_across_mb_row_sse2):
psrldq xmm0, 8 psrldq xmm0, 8
movdq2q mm1, xmm0 movdq2q mm1, xmm0
UPDATE_FLIMIT
add rdx, 16 add rdx, 16
cmp edx, dword arg(4) ;cols cmp edx, dword arg(4) ;cols
jl .acrossnextcol; jge .acrossdone
UPDATE_FLIMIT
jmp .acrossnextcol
.acrossdone
; last 16 pixels ; last 16 pixels
movq QWORD PTR [rdi+rdx-16], mm0 movq QWORD PTR [rdi+rdx-16], mm0