# HG changeset patch # User mru # Date 1285091841 0 # Node ID b2d560458a72c0b49c4e36e10500e2e3dd096708 # Parent 036603a63c51b4c2e0b22d19a1e8d03e145dde35 x86: disable SSE functions using stack when stack is not aligned This fixes crashes with ICC 10.1. diff -r 036603a63c51 -r b2d560458a72 x86/dsputilenc_mmx.c --- a/x86/dsputilenc_mmx.c Mon Sep 20 21:50:46 2010 +0000 +++ b/x86/dsputilenc_mmx.c Tue Sep 21 17:57:21 2010 +0000 @@ -1160,7 +1160,7 @@ if(mm_flags & AV_CPU_FLAG_SSE2){ c->get_pixels = get_pixels_sse2; c->sum_abs_dctelem= sum_abs_dctelem_sse2; -#if HAVE_YASM +#if HAVE_YASM && HAVE_ALIGNED_STACK c->hadamard8_diff[0]= ff_hadamard8_diff16_sse2; c->hadamard8_diff[1]= ff_hadamard8_diff_sse2; #endif @@ -1177,7 +1177,7 @@ } c->add_8x8basis= add_8x8basis_ssse3; c->sum_abs_dctelem= sum_abs_dctelem_ssse3; -#if HAVE_YASM +#if HAVE_YASM && HAVE_ALIGNED_STACK c->hadamard8_diff[0]= ff_hadamard8_diff16_ssse3; c->hadamard8_diff[1]= ff_hadamard8_diff_ssse3; #endif diff -r 036603a63c51 -r b2d560458a72 x86/h264dsp_mmx.c --- a/x86/h264dsp_mmx.c Mon Sep 20 21:50:46 2010 +0000 +++ b/x86/h264dsp_mmx.c Tue Sep 21 17:57:21 2010 +0000 @@ -326,10 +326,12 @@ c->biweight_h264_pixels_tab[3]= ff_h264_biweight_8x8_sse2; c->biweight_h264_pixels_tab[4]= ff_h264_biweight_8x4_sse2; +#if HAVE_ALIGNED_STACK c->h264_v_loop_filter_luma = ff_x264_deblock_v_luma_sse2; c->h264_h_loop_filter_luma = ff_x264_deblock_h_luma_sse2; c->h264_v_loop_filter_luma_intra = ff_x264_deblock_v_luma_intra_sse2; c->h264_h_loop_filter_luma_intra = ff_x264_deblock_h_luma_intra_sse2; +#endif c->h264_idct_add16 = ff_h264_idct_add16_sse2; c->h264_idct_add8 = ff_h264_idct_add8_sse2;