mirror of
https://github.com/mpv-player/mpv
synced 2024-10-18 10:25:02 +02:00
Use MPlayer's CPU detection module instead of libmpeg2's,
initial patch by Jim Huang jserv A linux2°cc°ntu°edu°tw, reworked by me according to The Guru's advices ;-) Original thread: Date: Jun 15, 2006 8:35 AM Subject: [MPlayer-dev-eng] [PATCH] Remove duplicated CPU detection in libmpeg2 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18730 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
1e93d2b2ba
commit
fe8651b4cf
@ -26,6 +26,7 @@
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include "cpudetect.h"
|
||||
|
||||
#include <inttypes.h>
|
||||
|
||||
@ -35,8 +36,16 @@
|
||||
|
||||
#ifdef ACCEL_DETECT
|
||||
#if defined(ARCH_X86) || defined(ARCH_X86_64)
|
||||
|
||||
/* MPlayer imports libmpeg2 as decoder, which detects MMX / 3DNow!
|
||||
* instructions via assembly. However, it is regarded as duplicaed work
|
||||
* in MPlayer, so that we enforce to use MPlayer's implementation.
|
||||
*/
|
||||
#define USE_MPLAYER_CPUDETECT
|
||||
|
||||
static inline uint32_t arch_accel (void)
|
||||
{
|
||||
#if !defined(USE_MPLAYER_CPUDETECT)
|
||||
uint32_t eax, ebx, ecx, edx;
|
||||
int AMD;
|
||||
uint32_t caps;
|
||||
@ -109,6 +118,20 @@ static inline uint32_t arch_accel (void)
|
||||
caps |= MPEG2_ACCEL_X86_MMXEXT;
|
||||
|
||||
return caps;
|
||||
#else /* USE_MPLAYER_CPUDETECT: Use MPlayer's cpu capability property */
|
||||
caps = 0;
|
||||
if (gCpuCaps.hasMMX)
|
||||
caps |= MPEG2_ACCEL_X86_MMX;
|
||||
if (gCpuCaps.hasSSE2)
|
||||
caps |= MPEG2_ACCEL_X86_SSE2;
|
||||
if (gCpuCaps.hasMMX2)
|
||||
caps |= MPEG2_ACCEL_X86_MMXEXT;
|
||||
if (gCpuCaps.has3DNow)
|
||||
caps |= MPEG2_ACCEL_X86_3DNOW;
|
||||
|
||||
return caps;
|
||||
|
||||
#endif /* USE_MPLAYER_CPUDETECT */
|
||||
}
|
||||
#endif /* ARCH_X86 || ARCH_X86_64 */
|
||||
|
||||
|
@ -159,6 +159,7 @@ void mpeg2_custom_fbuf (mpeg2dec_t * mpeg2dec, int custom_fbuf);
|
||||
#define MPEG2_ACCEL_X86_MMX 1
|
||||
#define MPEG2_ACCEL_X86_3DNOW 2
|
||||
#define MPEG2_ACCEL_X86_MMXEXT 4
|
||||
#define MPEG2_ACCEL_X86_SSE2 8
|
||||
#define MPEG2_ACCEL_PPC_ALTIVEC 1
|
||||
#define MPEG2_ACCEL_ALPHA 1
|
||||
#define MPEG2_ACCEL_ALPHA_MVI 2
|
||||
|
Loading…
Reference in New Issue
Block a user