Mercurial > libavcodec.hg
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; |