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;