summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Changelog3
-rw-r--r--DOCS/man/en/mplayer.17
-rw-r--r--DOCS/man/ru/mplayer.111
-rw-r--r--DOCS/xml/en/cd-dvd.xml14
-rw-r--r--DOCS/xml/en/faq.xml2
-rw-r--r--DOCS/xml/ru/cd-dvd.xml18
-rw-r--r--DOCS/xml/ru/faq.xml4
-rw-r--r--Makefile1
-rwxr-xr-xconfigure107
-rw-r--r--cpudetect.c41
-rw-r--r--cputable.h549
-rw-r--r--etc/codecs.conf4
-rw-r--r--libaf/af.c3
-rw-r--r--libaf/af_stats.c159
-rw-r--r--libmpcodecs/ae_lavc.c2
-rw-r--r--libswscale/Makefile3
-rw-r--r--libswscale/swscale.c2
-rw-r--r--libswscale/swscale.h2
-rw-r--r--libswscale/yuv2rgb2.c683
-rw-r--r--libvo/vo_vdpau.c197
-rw-r--r--mplayer.c3
-rw-r--r--stream/dvbin.h9
22 files changed, 1159 insertions, 665 deletions
diff --git a/Changelog b/Changelog
index 263026c41c..818fea087f 100644
--- a/Changelog
+++ b/Changelog
@@ -62,6 +62,7 @@ MPlayer (1.0)
* change vf_screenshot dependency from libpng to lavc
* add af_scaletempo which maintains audio pitch when changing playback speed
* fix multi-channel reordering
+ * af_stats, filter to print information about the audio stream
Streaming:
* tv:// support for Windows
@@ -130,6 +131,8 @@ MPlayer (1.0)
* vo_macosx can now be compiled in 64-bits mode
* OpenGL support for unmodified MinGW64
+ SWScaler:
+ * new LGPLed YUV to RGB tables generator
rc2try2:
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index 927678e3d9..81ebd0cbec 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -5484,6 +5484,13 @@ Changing playback speed, would change pitch, leaving audio tempo at 1.2x.
.RE
.PD 1
.
+.TP
+.B "stats\ \ "
+Collects and prints statistics about the audio stream, especially the volume.
+These statistics are especially intended to help adjusting the volume while
+avoiding clipping.
+The volumes are printed in dB and compatible with the volume audio filter.
+.
.
.
.SH "VIDEO FILTERS"
diff --git a/DOCS/man/ru/mplayer.1 b/DOCS/man/ru/mplayer.1
index 19c7cb468d..28efcf0fb4 100644
--- a/DOCS/man/ru/mplayer.1
+++ b/DOCS/man/ru/mplayer.1
@@ -2,7 +2,7 @@
.\" This man page was/is done by Gabucino, Diego Biurrun, Jonas Jermann
.\" Translated by Vladimir Voroshilov <voroshil@gmail.com>
.\" Encoding: koi8-r
-.\" synced with r28670
+.\" synced with r28704
.
.\" --------------------------------------------------------------------------
.\"
@@ -5554,6 +5554,15 @@ scale .
.RE
.PD 1
.
+.TP
+.B "stats\ \ "
+ ,
+.
+
+ .
+
+ volume.
+.
.
.
.SH " "
diff --git a/DOCS/xml/en/cd-dvd.xml b/DOCS/xml/en/cd-dvd.xml
index fafc76410d..535f62fe08 100644
--- a/DOCS/xml/en/cd-dvd.xml
+++ b/DOCS/xml/en/cd-dvd.xml
@@ -53,7 +53,7 @@ If you set it to too high, the drive will continuously spin up and down, and
will dramatically decrease the performance.
It is recommended that you also tune your CD-ROM drive
with <command>hdparm</command>:
-<screen>hdparm -d1 -a8 -u1 <replaceable>[cdrom device]</replaceable></screen>
+<screen>hdparm -d1 -a256 -u1 <replaceable>[cdrom device]</replaceable></screen>
</para>
<para>
@@ -68,8 +68,16 @@ for fine-tuning your CD-ROM.
</para>
<para>
-SCSI drives do not have a uniform way of setting these parameters (Do you know
-one? Tell us!) There is a tool that works for
+You may tweak the speed of SCSI CD-ROM drives with
+<command>sdparm</command>, you need version 1.03 or higher:
+<screen>sdparm --command=speed=<replaceable>[speed in kB/s]</replaceable> <replaceable>[cdrom device]</replaceable></screen>
+Speed must be specified in kilobytes per second, the drive will
+round it as appropriate. Please refer to the sdparm man page for
+details.
+</para>
+
+<para>
+There is also a dedicated tool that works for
<ulink url="http://das.ist.org/~georg/">Plextor SCSI drives</ulink>.
</para>
</sect2>
diff --git a/DOCS/xml/en/faq.xml b/DOCS/xml/en/faq.xml
index 0173cb8c95..83989dbf3a 100644
--- a/DOCS/xml/en/faq.xml
+++ b/DOCS/xml/en/faq.xml
@@ -590,7 +590,7 @@ It works normal when i run it as a user.
<answer><para>
This is again a power management effect (see above). Plug the external power
connector in <emphasis role="bold">before</emphasis> you power on your notebook
-or use the <option>-nortc</option> option.
+or make sure you do not use the <option>-rtc</option> option.
</para></answer>
</qandaentry>
diff --git a/DOCS/xml/ru/cd-dvd.xml b/DOCS/xml/ru/cd-dvd.xml
index bc1ad4d82e..2fc96328d3 100644
--- a/DOCS/xml/ru/cd-dvd.xml
+++ b/DOCS/xml/ru/cd-dvd.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r26990 -->
+<!-- synced with r28706 -->
<chapter id="cd-dvd">
<title>Использование CD/DVD</title>
@@ -54,7 +54,7 @@
дисках с царапинами). Если поставить слишком большое значение, то постоянный
запуск и остановка вращения диска ужасно снизят эффективность.
Рекомендуется также подстроить привод, используя <command>hdparm</command>:
-<screen>hdparm -d1 -a8 -u1 <replaceable>[устройство cdrom]</replaceable></screen>
+<screen>hdparm -d1 -a256 -u1 <replaceable>[устройство cdrom]</replaceable></screen>
</para>
<para>
@@ -70,9 +70,17 @@
</para>
<para>
-У SCSI приводов нет общего способа выставить эти параметры (Вы знаете
-какой-нибудь? Расскажите нам!) Существует программа для
-<ulink url="http://das.ist.org/~georg/">Plextor SCSI приводов</ulink>.
+Вы можете настроить скорость SCSI CD-ROM приводов с помощью
+<command>sdparm</command>, необходима версия 1.03 или выше:
+<screen>sdparm --command=speed=<replaceable>[скорость в кБ/с]</replaceable> <replaceable>[устройство cdrom]</replaceable></screen>
+Скорость должна быть указана в килобайтах в секунду, привод
+округлит её надлежащим образом. Пожалуйста, обратитесь с странице
+руководства sdparm для деталей.
+</para>
+
+<para>
+There is also a dedicated tool that works for
+<ulink url="http://das.ist.org/~georg/">Plextor SCSI drives</ulink>.
</para>
</sect2>
diff --git a/DOCS/xml/ru/faq.xml b/DOCS/xml/ru/faq.xml
index 99c87172c0..7addcabb2e 100644
--- a/DOCS/xml/ru/faq.xml
+++ b/DOCS/xml/ru/faq.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r28660 -->
+<!-- synced with r28707 -->
<chapter id="faq" xreflabel="FAQ">
<title>Часто Задаваемые вопросы</title>
@@ -578,7 +578,7 @@ Windows Media 9.)
<answer><para>
Это тоже эффект системы управления энергопотреблением (смотрите выше).
Подсоедините разъем внешнего питания <emphasis role="bold">до</emphasis>
-включения ноутбука либо используйте опцию <option>-nortc</option>.
+включения ноутбука либо убедитесь, что не используется опция <option>-rtc</option>.
</para></answer>
</qandaentry>
diff --git a/Makefile b/Makefile
index 3a2132c1fd..b7aa082842 100644
--- a/Makefile
+++ b/Makefile
@@ -70,6 +70,7 @@ SRCS_COMMON = asxparser.c \
libaf/af_resample.c \
libaf/af_scaletempo.c \
libaf/af_sinesuppress.c \
+ libaf/af_stats.c \
libaf/af_sub.c \
libaf/af_surround.c \
libaf/af_sweep.c \
diff --git a/configure b/configure
index 161807bda3..bb8b514dd4 100755
--- a/configure
+++ b/configure
@@ -159,7 +159,7 @@ ppc() {
alpha() {
case "$host_arch" in
- alpha) return 0;;
+ alpha*) return 0;;
*) return 1;;
esac
}
@@ -2188,7 +2188,7 @@ EOF
;;
- alpha)
+ alpha*)
_arch='ALPHA'
_target_arch='ARCH_ALPHA = yes'
iproc='alpha'
@@ -2404,6 +2404,7 @@ elif test -z "$CFLAGS" ; then
CFLAGS="-O2 $_march $_mcpu $_pipe"
else
CFLAGS="-Wall -Wno-switch -Wpointer-arith -Wredundant-decls -O4 $_march $_mcpu $_pipe -ffast-math -fomit-frame-pointer"
+ _ld_extra="$_ld_extra -ffast-math"
fi
else
_warn_CFLAGS=yes
@@ -7881,52 +7882,6 @@ fi
echores "$_maemo"
fi
-#this must be the last test to be performed or the ones following it will likely fail
-#because libdvdnavmini is intentionally not linked against libdvdread (to permit mplayer
-# to use its own copy of the library)
-echocheck "DVD support (libdvdnav)"
-if test "$_dvdread_internal" = yes && test ! -f "libdvdnav/dvdnav.c" ; then
- _dvdnav=no
-fi
-dvdnav_internal=no
-if test "$_dvdnav" = auto ; then
- if test "$_dvdread_internal" = yes ; then
- _dvdnav=yes
- dvdnav_internal=yes
- _res_comment="internal"
- else
- $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav=no
- fi
-fi
-if test "$_dvdnav" = auto ; then
- cat > $TMPC <<EOF
-#include <inttypes.h>
-#include <dvdnav/dvdnav.h>
-int main(void) { dvdnav_t *dvd=0; return 0; }
-EOF
- _dvdnav=no
- _dvdnavdir=`$_dvdnavconfig --cflags`
- _dvdnavlibs=`$_dvdnavconfig --libs`
- cc_check $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav=yes
-fi
-if test "$_dvdnav" = yes ; then
- _largefiles=yes
- def_dvdnav='#define CONFIG_DVDNAV 1'
- if test "$dvdnav_internal" = yes ; then
- _inc_extra="$_inc_extra -Ilibdvdnav"
- _inputmodules="dvdnav(internal) $_inputmodules"
- else
- _inc_extra="$_inc_extra `$_dvdnavconfig --cflags`"
- _ld_extra="$_ld_extra `$_dvdnavconfig --minilibs`"
- _inputmodules="dvdnav $_inputmodules"
- fi
-else
- def_dvdnav='#undef CONFIG_DVDNAV'
- _noinputmodules="dvdnav $_noinputmodules"
-fi
-echores "$_dvdnav"
-
-
#############################################################################
# On OS/2 nm supports only a.out. So the -Zomf compiler option to generate
@@ -7989,11 +7944,61 @@ else
CFLAGS="-D_ISOC99_SOURCE -D_BSD_SOURCE $CFLAGS"
fi
+cc_check -mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer="-mno-omit-leaf-frame-pointer"
+
+# This must be the last test to be performed. Any other tests following it
+# could fail due to linker errors. libdvdnavmini is intentionally not linked
+# against libdvdread (to permit MPlayer to use its own copy of the library).
+# So any compilation using the flags added here but not linking against
+# libdvdread can fail.
+echocheck "DVD support (libdvdnav)"
+if test "$_dvdread_internal" = yes && test ! -f "libdvdnav/dvdnav.c" ; then
+ _dvdnav=no
+fi
+dvdnav_internal=no
+if test "$_dvdnav" = auto ; then
+ if test "$_dvdread_internal" = yes ; then
+ _dvdnav=yes
+ dvdnav_internal=yes
+ _res_comment="internal"
+ else
+ $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav=no
+ fi
+fi
+if test "$_dvdnav" = auto ; then
+ cat > $TMPC <<EOF
+#include <inttypes.h>
+#include <dvdnav/dvdnav.h>
+int main(void) { dvdnav_t *dvd=0; return 0; }
+EOF
+ _dvdnav=no
+ _dvdnavdir=`$_dvdnavconfig --cflags`
+ _dvdnavlibs=`$_dvdnavconfig --libs`
+ cc_check $_dvdnavdir $_dvdnavlibs $_ld_dl $_ld_pthread && _dvdnav=yes
+fi
+if test "$_dvdnav" = yes ; then
+ _largefiles=yes
+ def_dvdnav='#define CONFIG_DVDNAV 1'
+ if test "$dvdnav_internal" = yes ; then
+ _inc_extra="$_inc_extra -Ilibdvdnav"
+ _inputmodules="dvdnav(internal) $_inputmodules"
+ else
+ _inc_extra="$_inc_extra `$_dvdnavconfig --cflags`"
+ _ld_extra="$_ld_extra `$_dvdnavconfig --minilibs`"
+ _inputmodules="dvdnav $_inputmodules"
+ fi
+else
+ def_dvdnav='#undef CONFIG_DVDNAV'
+ _noinputmodules="dvdnav $_noinputmodules"
+fi
+echores "$_dvdnav"
+
+# DO NOT ADD ANY TESTS THAT USE LINKER FLAGS HERE (like cc_check).
+# Read dvdnav comment above.
+
CFLAGS_FFMPEG="-I../.. $CFLAGS"
CFLAGS="-Iffmpeg $CFLAGS"
-cc_check -mno-omit-leaf-frame-pointer && cflags_no_omit_leaf_frame_pointer="-mno-omit-leaf-frame-pointer"
-
#############################################################################
echo "Creating config.mak"
cat > config.mak << EOF
@@ -8723,6 +8728,8 @@ $def_yasm
#define CONFIG_SMALL 0
#define CONFIG_SWSCALE 1
+#define HAVE_GETHRTIME 0
+#define HAVE_INLINE_ASM 0
#define HAVE_POLL_H 1
#define HAVE_PPC4XX 0
diff --git a/cpudetect.c b/cpudetect.c
index 8d306b1c3b..5da169dfc0 100644
--- a/cpudetect.c
+++ b/cpudetect.c
@@ -229,16 +229,7 @@ void GetCpuCaps( CpuCaps *caps)
#endif // RUNTIME_CPUDETECT
}
-
-#define CPUID_EXTFAMILY ((regs2[0] >> 20)&0xFF) /* 27..20 */
-#define CPUID_EXTMODEL ((regs2[0] >> 16)&0x0F) /* 19..16 */
-#define CPUID_TYPE ((regs2[0] >> 12)&0x04) /* 13..12 */
-#define CPUID_FAMILY ((regs2[0] >> 8)&0x0F) /* 11..08 */
-#define CPUID_MODEL ((regs2[0] >> 4)&0x0F) /* 07..04 */
-#define CPUID_STEPPING ((regs2[0] >> 0)&0x0F) /* 03..00 */
-
char *GetCpuFriendlyName(unsigned int regs[], unsigned int regs2[]){
-#include "cputable.h" /* get cpuname and cpuvendors */
char vendor[13];
char *retname;
int i;
@@ -247,6 +238,7 @@ char *GetCpuFriendlyName(unsigned int regs[], unsigned int regs2[]){
mp_msg(MSGT_CPUDETECT,MSGL_FATAL,"Error: GetCpuFriendlyName() not enough memory\n");
exit(1);
}
+ retname[0] = '\0';
sprintf(vendor,"%.4s%.4s%.4s",(char*)(regs+1),(char*)(regs+3),(char*)(regs+2));
@@ -254,46 +246,15 @@ char *GetCpuFriendlyName(unsigned int regs[], unsigned int regs2[]){
if (regs[0] >= 0x80000004)
{
// CPU has built-in namestring
- retname[0] = '\0';
for (i = 0x80000002; i <= 0x80000004; i++)
{
do_cpuid(i, regs);
strncat(retname, (char*)regs, 16);
}
- return retname;
- }
-
- for(i=0; i<MAX_VENDORS; i++){
- if(!strcmp(cpuvendors[i].string,vendor)){
- if(cpuname[i][CPUID_FAMILY][CPUID_MODEL]){
- snprintf(retname,255,"%s %s",cpuvendors[i].name,cpuname[i][CPUID_FAMILY][CPUID_MODEL]);
- } else {
- snprintf(retname,255,"unknown %s %d. Generation CPU",cpuvendors[i].name,CPUID_FAMILY);
- mp_msg(MSGT_CPUDETECT,MSGL_WARN,"unknown %s CPU:\n",cpuvendors[i].name);
- mp_msg(MSGT_CPUDETECT,MSGL_WARN,"Vendor: %s\n",cpuvendors[i].string);
- mp_msg(MSGT_CPUDETECT,MSGL_WARN,"Type: %d\n",CPUID_TYPE);
- mp_msg(MSGT_CPUDETECT,MSGL_WARN,"Family: %d (ext: %d)\n",CPUID_FAMILY,CPUID_EXTFAMILY);
- mp_msg(MSGT_CPUDETECT,MSGL_WARN,"Model: %d (ext: %d)\n",CPUID_MODEL,CPUID_EXTMODEL);
- mp_msg(MSGT_CPUDETECT,MSGL_WARN,"Stepping: %d\n",CPUID_STEPPING);
- mp_msg(MSGT_CPUDETECT,MSGL_WARN,"Please send the above info along with the exact CPU name"
- "to the MPlayer-Developers, so we can add it to the list!\n");
- }
- }
}
- retname[255] = 0;
-
- //printf("Detected CPU: %s\n", retname);
return retname;
}
-#undef CPUID_EXTFAMILY
-#undef CPUID_EXTMODEL
-#undef CPUID_TYPE
-#undef CPUID_FAMILY
-#undef CPUID_MODEL
-#undef CPUID_STEPPING
-
-
#if defined(__linux__) && defined(_POSIX_SOURCE) && !ARCH_X86_64
static void sigill_handler_sse( int signal, struct sigcontext sc )
{
diff --git a/cputable.h b/cputable.h
deleted file mode 100644
index 2f5ce20182..0000000000
--- a/cputable.h
+++ /dev/null
@@ -1,549 +0,0 @@
-/*
- * Map CPUID to real CPU name.
- * Family F codenames owe much thanks to Neil Phillips, author of x86test.
- *
- * Copyright (C) 2001 Felix Buenemann <atmosfear at users.sourceforge.net>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef MPLAYER_CPUTABLE_H
-#define MPLAYER_CPUTABLE_H
-
-#define MAX_VENDORS 8 /* Number of CPU Vendors */
-
-//#define N_UNKNOWN "unknown"
-//#define N_UNKNOWNEXT "unknown extended model"
-#define N_UNKNOWN ""
-#define N_UNKNOWNEXT ""
-
-#define F_UNKNOWN { \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN, \
-N_UNKNOWN \
-}
-
-static const char *cpuname
- /* Vendor */ [MAX_VENDORS]
- /* Family */ [16]
- /* Model */ [16]
- ={
- /* Intel Corporation, "GenuineIntel" */ {
- /* 0 */ F_UNKNOWN,
- /* 1 */ F_UNKNOWN,
- /* 2 */ F_UNKNOWN,
- /* 3 i386 */ F_UNKNOWN, /* XXX new 386 chips may support CPUID! */
- /* 4 i486 */ {
- /* 0 */ "i486DX-25/33", /* only few of these */
- /* 1 */ "i486DX-50", /* support CPUID! */
- /* 2 */ "i486SX",
- /* 3 */ "i486DX2", /* CPUID only on new chips! */
- /* 4 */ "i486SL",
- /* 5 */ "i486SX2",
- /* 6 */ N_UNKNOWN,
- /* 7 */ "i486DX2/write-back", /* returns 3 in write-through mode */
- /* 8 */ "i486DX4",
- /* 9 */ "i486DX4/write-back",
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* F */ N_UNKNOWNEXT
- },
- /* 5 i586 */ {
- /* 0 */ "Pentium P5 A-step",
- /* 1 */ "Pentium P5",
- /* 2 */ "Pentium P54C",
- /* 3 */ "Pentium OverDrive P24T",
- /* 4 */ "Pentium MMX P55C",
- /* 5 */ N_UNKNOWN, /* XXX DX4 OverDrive? */
- /* 6 */ N_UNKNOWN, /* XXX P5 OverDrive? */
- /* 7 */ "Pentium P54C (new)",
- /* 8 */ "Pentium MMX P55C (new)",
- /* 9 */ N_UNKNOWN,
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* F */ N_UNKNOWNEXT
- },
- /* 6 i686 */ {
- /* 0 */ "PentiumPro A-step",
- /* 1 */ "PentiumPro",
- /* 2 */ N_UNKNOWN,
- /* 3 */ "Pentium II Klamath/Pentium II OverDrive",
- /* 4 */ N_UNKNOWN, /* XXX P55CT - OverDrive for P54? */
- /* 5 */ "Celeron Covington/Pentium II Deschutes,Tonga/Pentium II Xeon",
- /* 6 */ "Celeron A Mendocino/Pentium II Dixon",
- /* 7 */ "Pentium III Katmai/Pentium III Xeon Tanner",
- /* 8 */ "Celeron 2/Pentium III Coppermine,Geyserville",
- /* 9 */ "Pentium M Banias", /* XXX check */
- /* A */ "Pentium III Xeon Cascades",
- /* B */ "Celeron 2/Pentium III Tualatin",
- /* C */ N_UNKNOWN,
- /* D */ "Pentium M Dothan",
- /* E */ N_UNKNOWN,
- /* F */ N_UNKNOWNEXT
- },
- /* 7 Itanium */ { /* XXX check */
- /* 0 */ "Itanium Merced",
- /* 1 */ N_UNKNOWN,
- /* 2 */ N_UNKNOWN,
- /* 3 */ N_UNKNOWN,
- /* 4 */ N_UNKNOWN,
- /* 5 */ N_UNKNOWN,
- /* 6 */ N_UNKNOWN,
- /* 7 */ N_UNKNOWN,
- /* 8 */ N_UNKNOWN,
- /* 9 */ N_UNKNOWN,
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* F */ N_UNKNOWNEXT
- },
- /* 8 */ F_UNKNOWN,
- /* 9 */ F_UNKNOWN,
- /* A */ F_UNKNOWN,
- /* B */ F_UNKNOWN,
- /* C */ F_UNKNOWN,
- /* D */ F_UNKNOWN,
- /* E */ F_UNKNOWN,
- /* F extended family (P4/new IA-64)*/ {
- /* 0 */ "Pentium 4 Willamette; Xeon Foster",
- /* 1 */ "Pentium 4 Willamette; Xeon Foster",
- /* 2 */ "Pentium 4/Celeron 4 Northwood; Pentium 4 EE/Xeon Prestonia,Gallatin",
- /* 3 */ "Pentium 4/Celeron D Prescott; Xeon Nocona",
- /* 4 */ "Pentium 4/Celeron D Prescott; Pentium D/XE Smithfield; Xeon Nocona,Irwindale",
- /* 5 */ N_UNKNOWN,
- /* 6 */ N_UNKNOWN,
- /* 7 */ N_UNKNOWN,
- /* 8 */ N_UNKNOWN,
- /* 9 */ N_UNKNOWN,
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* F */ N_UNKNOWNEXT
- }
- #if 0 /* out of table index boundaries */
- /* 1F Itanium 2 */ { /* XXX check */
- /* 0 */ "Itanium 2 McKinley",
- /* 1 */ "Itanium 2 Madison", /* I coded on that :-) */
- /* 2 */ N_UNKNOWN,
- /* 3 */ N_UNKNOWN,
- /* 4 */ N_UNKNOWN,
- /* 5 */ N_UNKNOWN,
- /* 6 */ N_UNKNOWN,
- /* 7 */ N_UNKNOWN,
- /* 8 */ N_UNKNOWN,
- /* 9 */ N_UNKNOWN,
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* F */ N_UNKNOWNEXT
- },
- #endif
- },
- /* United Microelectronics Corporation, "UMC UMC UMC " */ {
- /* 0 */ F_UNKNOWN,
- /* 1 */ F_UNKNOWN,
- /* 2 */ F_UNKNOWN,
- /* 3 */ F_UNKNOWN,
- /* 4 486 (U5) */ {
- /* 0 */ N_UNKNOWN,
- /* 1 */ "486DX U5D",
- /* 2 */ "486SX U5S",
- /* 3 */ N_UNKNOWN,
- /* 4 */ N_UNKNOWN,
- /* 5 */ N_UNKNOWN,
- /* 6 */ N_UNKNOWN,
- /* 7 */ N_UNKNOWN,
- /* 8 */ N_UNKNOWN,
- /* 9 */ N_UNKNOWN,
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* F */ N_UNKNOWN
- },
- /* 5 */ F_UNKNOWN,
- /* 6 */ F_UNKNOWN,
- /* 7 */ F_UNKNOWN,
- /* 8 */ F_UNKNOWN,
- /* 9 */ F_UNKNOWN,
- /* A */ F_UNKNOWN,
- /* B */ F_UNKNOWN,
- /* C */ F_UNKNOWN,
- /* D */ F_UNKNOWN,
- /* E */ F_UNKNOWN,
- /* F */ F_UNKNOWN
- },
- /* Advanced Micro Devices, "AuthenticAMD" (very rare: "AMD ISBETTER") */ {
- /* 0 */ F_UNKNOWN,
- /* 1 */ F_UNKNOWN,
- /* 2 */ F_UNKNOWN,
- /* 3 */ F_UNKNOWN,
- /* 4 486/5x86 */ {
- /* 0 */ N_UNKNOWN,
- /* 1 */ N_UNKNOWN,
- /* 2 */ N_UNKNOWN,
- /* 3 */ "486DX2",
- /* 4 */ N_UNKNOWN,
- /* 5 */ N_UNKNOWN,
- /* 6 */ N_UNKNOWN,
- /* 7 */ "486DX2/write-back",
- /* 8 */ "486DX4/5x86",
- /* 9 */ "486DX4/write-back",
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* E */ "5x86",
- /* F */ "5x86/write-back"
- },
- /* 5 K5/K6 */ {
- /* 0 */ "K5 SSA5 (PR75,PR90,PR100)",
- /* 1 */ "K5 5k86 (PR120,PR133)",
- /* 2 */ "K5 5k86 (PR166)",
- /* 3 */ "K5 5k86 (PR200)",
- /* 4 */ N_UNKNOWN,
- /* 5 */ N_UNKNOWN,
- /* 6 */ "K6",
- /* 7 */ "K6 Little Foot",
- /* 8 */ "K6-2",
- /* 9 */ "K6-III Chomper",
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ "K6-2+/K6-III+ Sharptooth",
- /* E */ N_UNKNOWN,
- /* F */ N_UNKNOWN
- },
- /* 6 K7 */ {
- /* 0 */ N_UNKNOWN, /* Argon? */
- /* 1 */ "Athlon K7",
- /* 2 */ "Athlon K75 Pluto,Orion",
- /* 3 */ "Duron Spitfire",
- /* 4 */ "Athlon Thunderbird",
- /* 5 */ N_UNKNOWN,
- /* 6 */ "Duron/Athlon 4/MP/XP Palomino",
- /* 7 */ "Duron Morgan,Camaro",
- /* 8 */ "Sempron/Athlon MP/XP Thoroughbred; Duron Applebred",
- /* 9 */ N_UNKNOWN,
- /* A */ "Sempron/Athlon MP/XP/XP-M Barton,Thorton",
- /* B */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* F */ N_UNKNOWN
- },
- /* 7 */ F_UNKNOWN,
- /* 8 */ F_UNKNOWN,
- /* 9 */ F_UNKNOWN,
- /* A */ F_UNKNOWN,
- /* B */ F_UNKNOWN,
- /* C */ F_UNKNOWN,
- /* D */ F_UNKNOWN,
- /* E */ F_UNKNOWN,
- /* F K8 */ {
- /* 0 */ N_UNKNOWN,
- /* 1 */ "Opteron Egypt,Italy,Denmark",
- /* 2 */ N_UNKNOWN,
- /* 3 */ "Athlon 64 X2 Manchester,Toledo",
- /* 4 */ "Athlon 64 Clawhammer; Athlon 64 X2 Toledo; Turion Newark,Lancaster",
- /* 5 */ "Athlon 64 FX/Opteron Sledgehammer,Athens,Troy,Venus",
- /* 6 */ N_UNKNOWN,
- /* 7 */ "Athlon 64/FX Sledgehammer,San Diego,Venice",
- /* 8 */ "Mobile Athlon 64 Newcastle; Mobile Sempron Dublin",
- /* 9 */ N_UNKNOWN,
- /* A */ N_UNKNOWN,
- /* B */ "Athlon 64 Newcastle; Athlon 64 X2 Manchester",
- /* E */ N_UNKNOWN,
- /* C */ "Athlon 64 Newcastle,Odesssa,Oakville,Venice; Sempron Palermo,Paris,Dublin",
- /* D */ N_UNKNOWN,
- /* F */ "Athlon 64 Newcastle,Winchester,San Diego,Venice; Sempron Palermo"
- }
-
- },
- /* Cyrix Corp./VIA Inc., "CyrixInstead" */ {
- /* 0 */ F_UNKNOWN,
- /* 1 */ F_UNKNOWN,
- /* 2 */ F_UNKNOWN,
- /* 3 */ F_UNKNOWN,
- /* 4 5x86 */ {
- /* 0 */ N_UNKNOWN,
- /* 1 */ N_UNKNOWN,
- /* 2 */ N_UNKNOWN,
- /* 3 */ N_UNKNOWN,
- /* 4 */ "MediaGX",
- /* 5 */ N_UNKNOWN,
- /* 6 */ N_UNKNOWN,
- /* 7 */ N_UNKNOWN,
- /* 8 */ N_UNKNOWN,
- /* 9 */ "5x86", /* CPUID maybe only on newer chips */
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* F */ N_UNKNOWN
- },
- /* 5 M1 */ {
- /* 0 */ "M1 test-sample", /*?*/
- /* 1 */ N_UNKNOWN,
- /* 2 */ "6x86 M1",
- /* 3 */ "6x86L M1",
- /* 4 */ "GXm",
- /* 5 */ N_UNKNOWN,
- /* 6 */ N_UNKNOWN,
- /* 7 */ N_UNKNOWN,
- /* 8 */ N_UNKNOWN,
- /* 9 */ N_UNKNOWN,
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* F */ N_UNKNOWN
- },
- /* 6 M2 */ {
- /* 0 */ "6x86MX M2/M-II",
- /* 1 */ N_UNKNOWN,
- /* 2 */ N_UNKNOWN,
- /* 3 */ N_UNKNOWN,
- /* 4 */ N_UNKNOWN,
- /* 5 */ "Cyrix III Joshua (M2 core)",
- /* 6 */ N_UNKNOWN,
- /* 7 */ N_UNKNOWN,
- /* 8 */ N_UNKNOWN,
- /* 9 */ N_UNKNOWN,
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* F */ N_UNKNOWN
- },
- /* 7 */ F_UNKNOWN,
- /* 8 */ F_UNKNOWN,
- /* 9 */ F_UNKNOWN,
- /* A */ F_UNKNOWN,
- /* B */ F_UNKNOWN,
- /* C */ F_UNKNOWN,
- /* D */ F_UNKNOWN,
- /* E */ F_UNKNOWN,
- /* F */ F_UNKNOWN
- },
- /* NexGen Inc., "NexGenDriven" */ {
- /* 0 */ F_UNKNOWN,
- /* 1 */ F_UNKNOWN,
- /* 2 */ F_UNKNOWN,
- /* 3 */ F_UNKNOWN,
- /* 4 */ F_UNKNOWN,
- /* 5 Nx586 */ {
- /* 0 */ "Nx586/Nx586FPU", /* only newer ones support CPUID! */
- /* 1 */ N_UNKNOWN,
- /* 2 */ N_UNKNOWN,
- /* 3 */ N_UNKNOWN,
- /* 4 */ N_UNKNOWN,
- /* 5 */ N_UNKNOWN,
- /* 6 */ N_UNKNOWN,
- /* 7 */ N_UNKNOWN,
- /* 8 */ N_UNKNOWN,
- /* 9 */ N_UNKNOWN,
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* F */ N_UNKNOWN
- },
- /* 6 */ F_UNKNOWN,
- /* 7 */ F_UNKNOWN,
- /* 8 */ F_UNKNOWN,
- /* 9 */ F_UNKNOWN,
- /* A */ F_UNKNOWN,
- /* B */ F_UNKNOWN,
- /* C */ F_UNKNOWN,
- /* D */ F_UNKNOWN,
- /* E */ F_UNKNOWN,
- /* F */ F_UNKNOWN
- },
- /* IDT/Centaur/VIA, "CentaurHauls" */ {
- /* 0 */ F_UNKNOWN,
- /* 1 */ F_UNKNOWN,
- /* 2 */ F_UNKNOWN,
- /* 3 */ F_UNKNOWN,
- /* 4 */ F_UNKNOWN,
- /* 5 IDT C6 WinChip */ {
- /* 0 */ N_UNKNOWN,
- /* 1 */ N_UNKNOWN,
- /* 2 */ N_UNKNOWN,
- /* 3 */ N_UNKNOWN,
- /* 4 */ "WinChip C6",
- /* 5 */ N_UNKNOWN,
- /* 6 */ "Samuel",
- /* 7 */ N_UNKNOWN,
- /* 8 */ "WinChip 2 C6+,W2,W2A,W2B",
- /* 9 */ "WinChip 3 W3",
- /* A */ "WinChip 4 W4A", /* XXX check */
- /* B */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* F */ N_UNKNOWN
- },
- /* 6 VIA C3 */ {
- /* 0 */ N_UNKNOWN,
- /* 1 */ N_UNKNOWN,
- /* 2 */ N_UNKNOWN,
- /* 3 */ N_UNKNOWN,
- /* 4 */ N_UNKNOWN,
- /* 5 */ N_UNKNOWN,
- /* 6 */ "Cyrix III Samuel (WinChip C5A core)",
- /* 7 */ "C3 Samuel 2 (WinChip C5B core)/C3 Ezra",
- /* 8 */ "C3 Ezra-T",
- /* 9 */ "C3 Nehemiah",
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* F */ N_UNKNOWN
- },
- /* 7 */ F_UNKNOWN,
- /* 8 */ F_UNKNOWN,
- /* 9 */ F_UNKNOWN,
- /* A */ F_UNKNOWN,
- /* B */ F_UNKNOWN,
- /* C */ F_UNKNOWN,
- /* D */ F_UNKNOWN,
- /* E */ F_UNKNOWN,
- /* F */ F_UNKNOWN
- },
- /* Rise, "RiseRiseRise" */ {
- /* 0 */ F_UNKNOWN,
- /* 1 */ F_UNKNOWN,
- /* 2 */ F_UNKNOWN,
- /* 3 */ F_UNKNOWN,
- /* 4 */ F_UNKNOWN,
- /* 5 mP6 */ {
- /* 0 */ "mP6 iDragon 6401,6441 Kirin",
- /* 1 */ "mP6 iDragon 6510 Lynx",
- /* 2 */ N_UNKNOWN,
- /* 3 */ N_UNKNOWN,
- /* 4 */ N_UNKNOWN,
- /* 5 */ N_UNKNOWN,
- /* 6 */ N_UNKNOWN,
- /* 7 */ N_UNKNOWN,
- /* 8 */ "mP6 iDragon II",
- /* 9 */ "mP6 iDragon II (new)",
- /* A */ N_UNKNOWN,
- /* B */ N_UNKNOWN,
- /* E */ N_UNKNOWN,
- /* C */ N_UNKNOWN,
- /* D */ N_UNKNOWN,
- /* F */ N_UNKNOWN
- },
- /* 6 */ F_UNKNOWN,
- /* 7 */ F_UNKNOWN,
- /* 8 */ F_UNKNOWN,
- /* 9 */ F_UNKNOWN,
- /* A */ F_UNKNOWN,
- /* B */ F_UNKNOWN,
- /* C */ F_UNKNOWN,
- /* D */ F_UNKNOWN,
- /* E */ F_UNKNOWN,
- /* F */ F_UNKNOWN
- },
- /* Transmeta, "GenuineTMx86" */ {
- /* 0 */ F_UNKNOWN,
- /* 1 */ F_UNKNOWN,
- /* 2 */ F_UNKNOWN,
- /* 3 */ F_UNKNOWN,
- /* 4