diff --git a/common/frame.c b/common/frame.c index 9956527..e481668 100644 --- a/common/frame.c +++ b/common/frame.c @@ -804,6 +804,7 @@ void x264_deblock_init( int cpu, x264_deblock_function_t *pf ) pf->deblock_v_luma_intra = x264_deblock_v_luma_intra_mmxext; pf->deblock_h_luma_intra = x264_deblock_h_luma_intra_mmxext; #endif +#ifndef BROKEN_STACK_ALIGNMENT if( cpu&X264_CPU_SSE2 ) { pf->deblock_v_luma = x264_deblock_v_luma_sse2; @@ -811,6 +812,7 @@ void x264_deblock_init( int cpu, x264_deblock_function_t *pf ) pf->deblock_v_luma_intra = x264_deblock_v_luma_intra_sse2; pf->deblock_h_luma_intra = x264_deblock_h_luma_intra_sse2; } +#endif } #endif diff --git a/common/osdep.h b/common/osdep.h index 939fe78..36685be 100644 --- a/common/osdep.h +++ b/common/osdep.h @@ -133,4 +133,10 @@ /* FIXME: long isn't always the native register size (e.g. win64). */ #define WORD_SIZE sizeof(long) +#if !defined(_WIN64) && !defined(__LP64__) +#if defined(_MSC_VER) || defined(__INTEL_COMPILER) +#define BROKEN_STACK_ALIGNMENT /* define it if stack is not mod16 */ +#endif +#endif + #endif /* X264_OSDEP_H */