diff options
author | Matt Wolenetz <wolenetz@chromium.org> | 2013-02-15 13:59:40 -0800 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2013-02-22 23:48:35 +0200 |
commit | bc9d341be84eeae1c0b33295284df4e285e577dc (patch) | |
tree | df79704f3249b61d681e83be8f417aef3025c0b1 | |
parent | 6626a7df534591c1eaed860bcb2f61610a3727f4 (diff) | |
download | ffmpeg-bc9d341be84eeae1c0b33295284df4e285e577dc.tar.gz |
x86: h264: Don't use redzone in AVX h264_deblock on Win64
This fixes crashes in chromium on win64 on machines with AVX
(crashes that apparently aren't triggered by fate).
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 311443f6c7eb230276e320f2d30a5d729cf32b76)
Signed-off-by: Martin Storsjö <martin@martin.st>
-rw-r--r-- | libavcodec/x86/h264_deblock.asm | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libavcodec/x86/h264_deblock.asm b/libavcodec/x86/h264_deblock.asm index 1f1dbc6a2f..67f9c02464 100644 --- a/libavcodec/x86/h264_deblock.asm +++ b/libavcodec/x86/h264_deblock.asm @@ -621,7 +621,11 @@ DEBLOCK_LUMA v, 16 %define t5 m11 %define mask0 m12 %define mask1p m13 +%if WIN64 + %define mask1q [rsp] +%else %define mask1q [rsp-24] +%endif %define mpb_0 m14 %define mpb_1 m15 %else @@ -640,7 +644,11 @@ DEBLOCK_LUMA v, 16 ;----------------------------------------------------------------------------- ; void deblock_v_luma_intra( uint8_t *pix, int stride, int alpha, int beta ) ;----------------------------------------------------------------------------- +%if WIN64 +cglobal deblock_%1_luma_intra_8, 4,6,16,0x10 +%else cglobal deblock_%1_luma_intra_8, 4,6,16,ARCH_X86_64*0x50-0x50 +%endif lea r4, [r1*4] lea r5, [r1*3] ; 3*stride dec r2d ; alpha-1 |