From 01eb667a5516a72ede2ce83391bf3130a2509b90 Mon Sep 17 00:00:00 2001 From: diego Date: Tue, 1 Apr 2008 17:31:37 +0000 Subject: Revert local changes that pointlessly add #ifdefs all over libmpeg2 to disable code depending on CPU capabilities. Instead, rely on libmpeg2's builtin CPU capability handling. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26314 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpeg2/cpu_accel.c | 2 +- libmpeg2/cpu_state.c | 2 +- libmpeg2/idct.c | 9 ++-- libmpeg2/libmpeg-0.4.1.diff | 102 ++++++-------------------------------------- libmpeg2/motion_comp.c | 29 +++++-------- 5 files changed, 27 insertions(+), 117 deletions(-) diff --git a/libmpeg2/cpu_accel.c b/libmpeg2/cpu_accel.c index 6532ebdbd8..db47a7c03f 100644 --- a/libmpeg2/cpu_accel.c +++ b/libmpeg2/cpu_accel.c @@ -137,7 +137,7 @@ static inline uint32_t arch_accel (void) } #endif /* ARCH_X86 || ARCH_X86_64 */ -#if defined(ARCH_PPC) || (defined(ARCH_SPARC) && defined(HAVE_VIS)) +#if defined(ARCH_PPC) || defined(ARCH_SPARC) #include #include diff --git a/libmpeg2/cpu_state.c b/libmpeg2/cpu_state.c index 1d3ee2be47..1ef77b7cea 100644 --- a/libmpeg2/cpu_state.c +++ b/libmpeg2/cpu_state.c @@ -124,7 +124,7 @@ void mpeg2_cpu_state_init (uint32_t accel) mpeg2_cpu_state_restore = state_restore_mmx; } #endif -#if defined(ARCH_PPC) && defined(HAVE_ALTIVEC) +#ifdef ARCH_PPC if (accel & MPEG2_ACCEL_PPC_ALTIVEC) { mpeg2_cpu_state_save = state_save_altivec; mpeg2_cpu_state_restore = state_restore_altivec; diff --git a/libmpeg2/idct.c b/libmpeg2/idct.c index deff620f92..5fb4b508af 100644 --- a/libmpeg2/idct.c +++ b/libmpeg2/idct.c @@ -239,21 +239,18 @@ static void mpeg2_idct_add_c (const int last, int16_t * block, void mpeg2_idct_init (uint32_t accel) { -#ifdef HAVE_MMX2 +#ifdef ARCH_X86 if (accel & MPEG2_ACCEL_X86_MMXEXT) { mpeg2_idct_copy = mpeg2_idct_copy_mmxext; mpeg2_idct_add = mpeg2_idct_add_mmxext; mpeg2_idct_mmx_init (); - } else -#endif -#ifdef HAVE_MMX - if (accel & MPEG2_ACCEL_X86_MMX) { + } else if (accel & MPEG2_ACCEL_X86_MMX) { mpeg2_idct_copy = mpeg2_idct_copy_mmx; mpeg2_idct_add = mpeg2_idct_add_mmx; mpeg2_idct_mmx_init (); } else #endif -#if defined(ARCH_PPC) && defined(HAVE_ALTIVEC) +#ifdef ARCH_PPC if (accel & MPEG2_ACCEL_PPC_ALTIVEC) { mpeg2_idct_copy = mpeg2_idct_copy_altivec; mpeg2_idct_add = mpeg2_idct_add_altivec; diff --git a/libmpeg2/libmpeg-0.4.1.diff b/libmpeg2/libmpeg-0.4.1.diff index 31ac5757b0..885088bd4a 100644 --- a/libmpeg2/libmpeg-0.4.1.diff +++ b/libmpeg2/libmpeg-0.4.1.diff @@ -27,7 +27,7 @@ uint32_t eax, ebx, ecx, edx; int AMD; uint32_t caps; -@@ -105,10 +118,24 @@ +@@ -105,7 +120,21 @@ caps |= MPEG2_ACCEL_X86_MMXEXT; return caps; @@ -49,12 +49,8 @@ -#endif /* ARCH_X86 */ +#endif /* ARCH_X86 || ARCH_X86_64 */ --#if defined(ARCH_PPC) || defined(ARCH_SPARC) -+#if defined(ARCH_PPC) || (defined(ARCH_SPARC) && defined(HAVE_VIS)) - #include - #include - -@@ -166,10 +166,10 @@ + #if defined(ARCH_PPC) || defined(ARCH_SPARC) +@@ -166,10 +168,10 @@ canjump = 1; @@ -68,7 +64,7 @@ #endif asm volatile ("mtspr 256, %0\n\t" VAND (0, 0, 0) -@@ -212,7 +243,7 @@ +@@ -212,7 +241,7 @@ accel = 0; #ifdef ACCEL_DETECT @@ -123,7 +119,7 @@ #endif static void state_save_altivec (cpu_state_t * state) -@@ -115,12 +119,12 @@ +@@ -115,9 +119,9 @@ void mpeg2_cpu_state_init (uint32_t accel) { @@ -133,11 +129,7 @@ mpeg2_cpu_state_restore = state_restore_mmx; } #endif --#ifdef ARCH_PPC -+#if defined(ARCH_PPC) && defined(HAVE_ALTIVEC) - if (accel & MPEG2_ACCEL_PPC_ALTIVEC) { - mpeg2_cpu_state_save = state_save_altivec; - mpeg2_cpu_state_restore = state_restore_altivec; + #ifdef ARCH_PPC --- libmpeg2/decode.c 2006-06-16 20:12:26.000000000 +0200 +++ libmpeg2/decode.c 2006-06-16 20:12:50.000000000 +0200 @@ -351,6 +355,15 @@ @@ -184,26 +176,6 @@ for (j = 0; j < 64; j++) decoder->quantizer_prescale[index][i][j] = k * mpeg2dec->quantizer_matrix[index][j]; ---- libmpeg2/idct.c 2006-06-16 20:12:26.000000000 +0200 -+++ libmpeg2/idct.c 2006-06-16 20:12:50.000000000 +0200 -@@ -239,12 +239,15 @@ - - void mpeg2_idct_init (uint32_t accel) - { --#ifdef ARCH_X86 -+#ifdef HAVE_MMX2 - if (accel & MPEG2_ACCEL_X86_MMXEXT) { - mpeg2_idct_copy = mpeg2_idct_copy_mmxext; - mpeg2_idct_add = mpeg2_idct_add_mmxext; - mpeg2_idct_mmx_init (); -- } else if (accel & MPEG2_ACCEL_X86_MMX) { -+ } else -+#endif -+#ifdef HAVE_MMX -+ if (accel & MPEG2_ACCEL_X86_MMX) { - mpeg2_idct_copy = mpeg2_idct_copy_mmx; - mpeg2_idct_add = mpeg2_idct_add_mmx; - mpeg2_idct_mmx_init (); --- libmpeg2/idct_mmx.c 2006-06-16 20:12:26.000000000 +0200 +++ libmpeg2/idct_mmx.c 2006-06-16 20:12:50.000000000 +0200 @@ -23,7 +27,7 @@ @@ -217,55 +189,16 @@ --- libmpeg2/motion_comp.c 2006-06-16 20:12:26.000000000 +0200 +++ libmpeg2/motion_comp.c 2006-06-16 20:12:50.000000000 +0200 -@@ -37,16 +37,22 @@ - - void mpeg2_mc_init (uint32_t accel) - { --#ifdef ARCH_X86 -+#ifdef HAVE_MMX2 - if (accel & MPEG2_ACCEL_X86_MMXEXT) - mpeg2_mc = mpeg2_mc_mmxext; -- else if (accel & MPEG2_ACCEL_X86_3DNOW) -+ else -+#endif -+#ifdef HAVE_3DNOW -+ if (accel & MPEG2_ACCEL_X86_3DNOW) - mpeg2_mc = mpeg2_mc_3dnow; -- else if (accel & MPEG2_ACCEL_X86_MMX) -+ else -+#endif -+#ifdef HAVE_MMX -+ if (accel & MPEG2_ACCEL_X86_MMX) - mpeg2_mc = mpeg2_mc_mmx; - else - #endif --#ifdef ARCH_PPC -+#if defined(ARCH_PPC) && defined(HAVE_ALTIVEC) - if (accel & MPEG2_ACCEL_PPC_ALTIVEC) - mpeg2_mc = mpeg2_mc_altivec; - else -@@ -52,7 +62,7 @@ - mpeg2_mc = mpeg2_mc_alpha; - else - #endif --#ifdef ARCH_SPARC -+#if defined(ARCH_SPARC) && defined(HAVE_VIS) - if (accel & MPEG2_ACCEL_SPARC_VIS) - mpeg2_mc = mpeg2_mc_vis; - else -@@ -67,6 +67,16 @@ +@@ -67,6 +61,13 @@ mpeg2_mc = mpeg2_mc_vis; else #endif +#ifdef ARCH_ARM -+ if (accel & MPEG2_ACCEL_ARM) { -+#ifdef HAVE_IWMMXT -+ if (accel & MPEG2_ACCEL_ARM_IWMMXT) -+ mpeg2_mc = mpeg2_mc_iwmmxt; -+ else -+#endif -+ mpeg2_mc = mpeg2_mc_arm; -+ } else ++ if (accel & MPEG2_ACCEL_ARM_IWMMXT) ++ mpeg2_mc = mpeg2_mc_iwmmxt; ++ else if (accel & MPEG2_ACCEL_ARM) ++ mpeg2_mc = mpeg2_mc_arm; ++ else +#endif mpeg2_mc = mpeg2_mc_c; } @@ -389,17 +322,6 @@ decoder->motion_parser[4] = motion_reuse_420; } else if (decoder->picture_structure == FRAME_PICTURE) { if (decoder->chroma_format == 0) { ---- libmpeg2/idct.c 2006-06-16 20:12:26.000000000 +0200 -+++ libmpeg2/idct.c 2006-06-16 20:12:50.000000000 +0200 -@@ -253,7 +253,7 @@ - mpeg2_idct_mmx_init (); - } else - #endif --#ifdef ARCH_PPC -+#if defined(ARCH_PPC) && defined(HAVE_ALTIVEC) - if (accel & MPEG2_ACCEL_PPC_ALTIVEC) { - mpeg2_idct_copy = mpeg2_idct_copy_altivec; - mpeg2_idct_add = mpeg2_idct_add_altivec; --- libmpeg2/idct_altivec.c 2004/08/02 11:26:43 12933 +++ libmpeg2/idct_altivec.c 2005/05/15 20:11:34 15484 @@ -41,7 +41,7 @@ diff --git a/libmpeg2/motion_comp.c b/libmpeg2/motion_comp.c index 3307c0af8d..7099b2d957 100644 --- a/libmpeg2/motion_comp.c +++ b/libmpeg2/motion_comp.c @@ -37,22 +37,16 @@ mpeg2_mc_t mpeg2_mc; void mpeg2_mc_init (uint32_t accel) { -#ifdef HAVE_MMX2 +#ifdef ARCH_X86 if (accel & MPEG2_ACCEL_X86_MMXEXT) mpeg2_mc = mpeg2_mc_mmxext; - else -#endif -#ifdef HAVE_3DNOW - if (accel & MPEG2_ACCEL_X86_3DNOW) + else if (accel & MPEG2_ACCEL_X86_3DNOW) mpeg2_mc = mpeg2_mc_3dnow; - else -#endif -#ifdef HAVE_MMX - if (accel & MPEG2_ACCEL_X86_MMX) + else if (accel & MPEG2_ACCEL_X86_MMX) mpeg2_mc = mpeg2_mc_mmx; else #endif -#if defined(ARCH_PPC) && defined(HAVE_ALTIVEC) +#ifdef ARCH_PPC if (accel & MPEG2_ACCEL_PPC_ALTIVEC) mpeg2_mc = mpeg2_mc_altivec; else @@ -62,20 +56,17 @@ void mpeg2_mc_init (uint32_t accel) mpeg2_mc = mpeg2_mc_alpha; else #endif -#if defined(ARCH_SPARC) && defined(HAVE_VIS) +#ifdef ARCH_SPARC if (accel & MPEG2_ACCEL_SPARC_VIS) mpeg2_mc = mpeg2_mc_vis; else #endif #ifdef ARCH_ARM - if (accel & MPEG2_ACCEL_ARM) { -#ifdef HAVE_IWMMXT - if (accel & MPEG2_ACCEL_ARM_IWMMXT) - mpeg2_mc = mpeg2_mc_iwmmxt; - else -#endif - mpeg2_mc = mpeg2_mc_arm; - } else + if (accel & MPEG2_ACCEL_ARM_IWMMXT) + mpeg2_mc = mpeg2_mc_iwmmxt; + else if (accel & MPEG2_ACCEL_ARM) + mpeg2_mc = mpeg2_mc_arm; + else #endif mpeg2_mc = mpeg2_mc_c; } -- cgit v1.2.3