ref: 5fc9688792735888731acaf5e2628cd1b3a76d1b
parent: 14ea8848fbcd8727085d648bc2c192c173eaac8a
author: Sergey Kolomenkin <[email protected]>
date: Mon Dec 7 07:54:57 EST 2015
fix null pointer crash in Win32 because esp register is broken https://bugs.chromium.org/p/webm/issues/detail?id=1105 Change-Id: I304ea85ea1f6474e26f074dc39dc0748b90d4d3d
--- a/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm
+++ b/vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm
@@ -124,7 +124,6 @@
; Store bilin_filter and pw_8 location in stack
GET_GOT eax
- add esp, 4 ; restore esp
lea ecx, [GLOBAL(bilin_filter_m)]
mov g_bilin_filterm, ecx
@@ -132,6 +131,7 @@
lea ecx, [GLOBAL(pw_8)]
mov g_pw_8m, ecx
+ RESTORE_GOT ; restore esp
LOAD_IF_USED 0, 1 ; load eax, ecx back
%else
cglobal highbd_sub_pixel_variance%1xh, 7, 7, 13, src, src_stride, \
@@ -141,7 +141,6 @@
; Store bilin_filter and pw_8 location in stack
GET_GOT eax
- add esp, 4 ; restore esp
lea ecx, [GLOBAL(bilin_filter_m)]
mov g_bilin_filterm, ecx
@@ -149,6 +148,7 @@
lea ecx, [GLOBAL(pw_8)]
mov g_pw_8m, ecx
+ RESTORE_GOT ; restore esp
LOAD_IF_USED 0, 1 ; load eax, ecx back
%endif
%else
--- a/vpx_dsp/x86/subpel_variance_sse2.asm
+++ b/vpx_dsp/x86/subpel_variance_sse2.asm
@@ -140,7 +140,6 @@
;Store bilin_filter and pw_8 location in stack
GET_GOT eax
- add esp, 4 ; restore esp
lea ecx, [GLOBAL(bilin_filter_m)]
mov g_bilin_filterm, ecx
@@ -148,6 +147,7 @@
lea ecx, [GLOBAL(pw_8)]
mov g_pw_8m, ecx
+ RESTORE_GOT ; restore esp
LOAD_IF_USED 0, 1 ; load eax, ecx back
%else
cglobal sub_pixel_variance%1xh, 7, 7, 13, src, src_stride, x_offset, \
@@ -157,7 +157,6 @@
;Store bilin_filter and pw_8 location in stack
GET_GOT eax
- add esp, 4 ; restore esp
lea ecx, [GLOBAL(bilin_filter_m)]
mov g_bilin_filterm, ecx
@@ -165,6 +164,7 @@
lea ecx, [GLOBAL(pw_8)]
mov g_pw_8m, ecx
+ RESTORE_GOT ; restore esp
LOAD_IF_USED 0, 1 ; load eax, ecx back
%endif
%else