Mercurial > libavcodec.hg
comparison x86/vp8dsp-init.c @ 12082:8527154f6e81 libavcodec
SSSE3 versions of vp8 width4 bilinear MC functions
author | darkshikari |
---|---|
date | Sat, 03 Jul 2010 00:48:12 +0000 |
parents | b8f80fe02861 |
children | d780ae746855 |
comparison
equal
deleted
inserted
replaced
12081:812e23197d64 | 12082:8527154f6e81 |
---|---|
83 uint8_t *src, int srcstride, | 83 uint8_t *src, int srcstride, |
84 int height, int mx, int my); | 84 int height, int mx, int my); |
85 extern void ff_put_vp8_bilinear8_h_sse2 (uint8_t *dst, int dststride, | 85 extern void ff_put_vp8_bilinear8_h_sse2 (uint8_t *dst, int dststride, |
86 uint8_t *src, int srcstride, | 86 uint8_t *src, int srcstride, |
87 int height, int mx, int my); | 87 int height, int mx, int my); |
88 extern void ff_put_vp8_bilinear4_h_ssse3 (uint8_t *dst, int dststride, | |
89 uint8_t *src, int srcstride, | |
90 int height, int mx, int my); | |
91 extern void ff_put_vp8_bilinear8_h_ssse3 (uint8_t *dst, int dststride, | |
92 uint8_t *src, int srcstride, | |
93 int height, int mx, int my); | |
88 | 94 |
89 extern void ff_put_vp8_bilinear4_v_mmxext(uint8_t *dst, int dststride, | 95 extern void ff_put_vp8_bilinear4_v_mmxext(uint8_t *dst, int dststride, |
90 uint8_t *src, int srcstride, | 96 uint8_t *src, int srcstride, |
91 int height, int mx, int my); | 97 int height, int mx, int my); |
92 extern void ff_put_vp8_bilinear8_v_sse2 (uint8_t *dst, int dststride, | 98 extern void ff_put_vp8_bilinear8_v_sse2 (uint8_t *dst, int dststride, |
93 uint8_t *src, int srcstride, | 99 uint8_t *src, int srcstride, |
94 int height, int mx, int my); | 100 int height, int mx, int my); |
101 extern void ff_put_vp8_bilinear4_v_ssse3 (uint8_t *dst, int dststride, | |
102 uint8_t *src, int srcstride, | |
103 int height, int mx, int my); | |
95 extern void ff_put_vp8_bilinear8_v_ssse3 (uint8_t *dst, int dststride, | 104 extern void ff_put_vp8_bilinear8_v_ssse3 (uint8_t *dst, int dststride, |
96 uint8_t *src, int srcstride, | 105 uint8_t *src, int srcstride, |
97 int height, int mx, int my); | 106 int height, int mx, int my); |
98 extern void ff_put_vp8_bilinear8_h_ssse3 (uint8_t *dst, int dststride, | 107 |
99 uint8_t *src, int srcstride, | |
100 int height, int mx, int my); | |
101 | 108 |
102 extern void ff_put_vp8_pixels8_mmx (uint8_t *dst, int dststride, | 109 extern void ff_put_vp8_pixels8_mmx (uint8_t *dst, int dststride, |
103 uint8_t *src, int srcstride, | 110 uint8_t *src, int srcstride, |
104 int height, int mx, int my); | 111 int height, int mx, int my); |
105 extern void ff_put_vp8_pixels16_mmx(uint8_t *dst, int dststride, | 112 extern void ff_put_vp8_pixels16_mmx(uint8_t *dst, int dststride, |
205 HVBILIN(mmxext, 8, 4, 8) | 212 HVBILIN(mmxext, 8, 4, 8) |
206 HVBILIN(mmxext, 8, 8, 16) | 213 HVBILIN(mmxext, 8, 8, 16) |
207 HVBILIN(mmxext, 8, 16, 16) | 214 HVBILIN(mmxext, 8, 16, 16) |
208 HVBILIN(sse2, 8, 8, 16) | 215 HVBILIN(sse2, 8, 8, 16) |
209 HVBILIN(sse2, 8, 16, 16) | 216 HVBILIN(sse2, 8, 16, 16) |
217 HVBILIN(ssse3, 8, 4, 8) | |
210 HVBILIN(ssse3, 8, 8, 16) | 218 HVBILIN(ssse3, 8, 8, 16) |
211 HVBILIN(ssse3, 8, 16, 16) | 219 HVBILIN(ssse3, 8, 16, 16) |
212 | 220 |
213 extern void ff_vp8_idct_dc_add_mmx(uint8_t *dst, DCTELEM block[16], int stride); | 221 extern void ff_vp8_idct_dc_add_mmx(uint8_t *dst, DCTELEM block[16], int stride); |
214 extern void ff_vp8_idct_dc_add_sse4(uint8_t *dst, DCTELEM block[16], int stride); | 222 extern void ff_vp8_idct_dc_add_sse4(uint8_t *dst, DCTELEM block[16], int stride); |
282 VP8_LUMA_MC_FUNC(0, 16, ssse3); | 290 VP8_LUMA_MC_FUNC(0, 16, ssse3); |
283 VP8_MC_FUNC(1, 8, ssse3); | 291 VP8_MC_FUNC(1, 8, ssse3); |
284 VP8_MC_FUNC(2, 4, ssse3); | 292 VP8_MC_FUNC(2, 4, ssse3); |
285 VP8_BILINEAR_MC_FUNC(0, 16, ssse3); | 293 VP8_BILINEAR_MC_FUNC(0, 16, ssse3); |
286 VP8_BILINEAR_MC_FUNC(1, 8, ssse3); | 294 VP8_BILINEAR_MC_FUNC(1, 8, ssse3); |
295 VP8_BILINEAR_MC_FUNC(2, 4, ssse3); | |
287 } | 296 } |
288 | 297 |
289 if (mm_flags & FF_MM_SSE4) { | 298 if (mm_flags & FF_MM_SSE4) { |
290 c->vp8_idct_dc_add = ff_vp8_idct_dc_add_sse4; | 299 c->vp8_idct_dc_add = ff_vp8_idct_dc_add_sse4; |
291 } | 300 } |