diff --git a/common/x86/mc-c.c b/common/x86/mc-c.c index 1af512b..ca4a127 100644 --- a/common/x86/mc-c.c +++ b/common/x86/mc-c.c @@ -310,14 +310,17 @@ void x264_mc_init_mmx( int cpu, x264_mc_functions_t *pf ) if( !(cpu&X264_CPU_SSSE3) ) return; - pf->avg[PIXEL_16x16] = x264_pixel_avg_16x16_ssse3; - pf->avg[PIXEL_16x8] = x264_pixel_avg_16x8_ssse3; - pf->avg[PIXEL_8x16] = x264_pixel_avg_8x16_ssse3; - pf->avg[PIXEL_8x8] = x264_pixel_avg_8x8_ssse3; - pf->avg[PIXEL_8x4] = x264_pixel_avg_8x4_ssse3; - pf->avg[PIXEL_4x8] = x264_pixel_avg_4x8_ssse3; - pf->avg[PIXEL_4x4] = x264_pixel_avg_4x4_ssse3; - pf->avg[PIXEL_4x2] = x264_pixel_avg_4x2_ssse3; + if (!(cpu&X264_CPU_STACK_MOD4)) + { + pf->avg[PIXEL_16x16] = x264_pixel_avg_16x16_ssse3; + pf->avg[PIXEL_16x8] = x264_pixel_avg_16x8_ssse3; + pf->avg[PIXEL_8x16] = x264_pixel_avg_8x16_ssse3; + pf->avg[PIXEL_8x8] = x264_pixel_avg_8x8_ssse3; + pf->avg[PIXEL_8x4] = x264_pixel_avg_8x4_ssse3; + pf->avg[PIXEL_4x8] = x264_pixel_avg_4x8_ssse3; + pf->avg[PIXEL_4x4] = x264_pixel_avg_4x4_ssse3; + pf->avg[PIXEL_4x2] = x264_pixel_avg_4x2_ssse3; + } pf->hpel_filter = x264_hpel_filter_ssse3; pf->frame_init_lowres_core = x264_frame_init_lowres_core_ssse3;