Mercurial > mplayer.hg
comparison libmpeg2/idct.c @ 26393:2506f1b0bdbe
Backport SSE2-optimized IDCT routines from upstream libmpeg2.
Thanks to Alexander Strange for finding and fixing some bugs.
author | diego |
---|---|
date | Sat, 12 Apr 2008 22:42:00 +0000 |
parents | 79ab4ecba54a |
children | d791659dd245 |
comparison
equal
deleted
inserted
replaced
26392:f41b913170ea | 26393:2506f1b0bdbe |
---|---|
238 } | 238 } |
239 | 239 |
240 void mpeg2_idct_init (uint32_t accel) | 240 void mpeg2_idct_init (uint32_t accel) |
241 { | 241 { |
242 #ifdef ARCH_X86 | 242 #ifdef ARCH_X86 |
243 if (accel & MPEG2_ACCEL_X86_MMXEXT) { | 243 if (accel & MPEG2_ACCEL_X86_SSE2) { |
244 mpeg2_idct_copy = mpeg2_idct_copy_sse2; | |
245 mpeg2_idct_add = mpeg2_idct_add_sse2; | |
246 mpeg2_idct_mmx_init (); | |
247 } else if (accel & MPEG2_ACCEL_X86_MMXEXT) { | |
244 mpeg2_idct_copy = mpeg2_idct_copy_mmxext; | 248 mpeg2_idct_copy = mpeg2_idct_copy_mmxext; |
245 mpeg2_idct_add = mpeg2_idct_add_mmxext; | 249 mpeg2_idct_add = mpeg2_idct_add_mmxext; |
246 mpeg2_idct_mmx_init (); | 250 mpeg2_idct_mmx_init (); |
247 } else if (accel & MPEG2_ACCEL_X86_MMX) { | 251 } else if (accel & MPEG2_ACCEL_X86_MMX) { |
248 mpeg2_idct_copy = mpeg2_idct_copy_mmx; | 252 mpeg2_idct_copy = mpeg2_idct_copy_mmx; |