comparison x86/dsputil_mmx.c @ 11118:001eb7e3e2d3 libavcodec

Enable SSE2 (put|avg)_pixels_16_sse2 SVQ1 chroma has been special-cased aligned to 16-bytes since at least r15466 Other architectures also assume 16-byte alignment here too but set STRIDE_ALIGN to 16.
author conrad
date Wed, 10 Feb 2010 02:02:06 +0000
parents abb3b23bda35
children 98970e51365a
comparison
equal deleted inserted replaced
11117:ad6d17b36a3a 11118:001eb7e3e2d3
2838 c->put_h264_qpel_pixels_tab[1][x+y*4] = put_h264_qpel8_mc##x##y##_##CPU;\ 2838 c->put_h264_qpel_pixels_tab[1][x+y*4] = put_h264_qpel8_mc##x##y##_##CPU;\
2839 c->avg_h264_qpel_pixels_tab[0][x+y*4] = avg_h264_qpel16_mc##x##y##_##CPU;\ 2839 c->avg_h264_qpel_pixels_tab[0][x+y*4] = avg_h264_qpel16_mc##x##y##_##CPU;\
2840 c->avg_h264_qpel_pixels_tab[1][x+y*4] = avg_h264_qpel8_mc##x##y##_##CPU; 2840 c->avg_h264_qpel_pixels_tab[1][x+y*4] = avg_h264_qpel8_mc##x##y##_##CPU;
2841 if((mm_flags & FF_MM_SSE2) && !(mm_flags & FF_MM_3DNOW)){ 2841 if((mm_flags & FF_MM_SSE2) && !(mm_flags & FF_MM_3DNOW)){
2842 // these functions are slower than mmx on AMD, but faster on Intel 2842 // these functions are slower than mmx on AMD, but faster on Intel
2843 /* FIXME works in most codecs, but crashes svq1 due to unaligned chroma
2844 c->put_pixels_tab[0][0] = put_pixels16_sse2; 2843 c->put_pixels_tab[0][0] = put_pixels16_sse2;
2845 c->avg_pixels_tab[0][0] = avg_pixels16_sse2; 2844 c->avg_pixels_tab[0][0] = avg_pixels16_sse2;
2846 */
2847 H264_QPEL_FUNCS(0, 0, sse2); 2845 H264_QPEL_FUNCS(0, 0, sse2);
2848 } 2846 }
2849 if(mm_flags & FF_MM_SSE2){ 2847 if(mm_flags & FF_MM_SSE2){
2850 c->h264_idct8_add = ff_h264_idct8_add_sse2; 2848 c->h264_idct8_add = ff_h264_idct8_add_sse2;
2851 c->h264_idct8_add4= ff_h264_idct8_add4_sse2; 2849 c->h264_idct8_add4= ff_h264_idct8_add4_sse2;