diff 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
line wrap: on
line diff
--- a/libmpeg2/idct.c	Sat Apr 12 22:01:16 2008 +0000
+++ b/libmpeg2/idct.c	Sat Apr 12 22:42:00 2008 +0000
@@ -240,7 +240,11 @@
 void mpeg2_idct_init (uint32_t accel)
 {
 #ifdef ARCH_X86
-    if (accel & MPEG2_ACCEL_X86_MMXEXT) {
+    if (accel & MPEG2_ACCEL_X86_SSE2) {
+	mpeg2_idct_copy = mpeg2_idct_copy_sse2;
+	mpeg2_idct_add = mpeg2_idct_add_sse2;
+	mpeg2_idct_mmx_init ();
+    } else if (accel & MPEG2_ACCEL_X86_MMXEXT) {
 	mpeg2_idct_copy = mpeg2_idct_copy_mmxext;
 	mpeg2_idct_add = mpeg2_idct_add_mmxext;
 	mpeg2_idct_mmx_init ();