Mercurial > mplayer.hg
view cpudetect.h @ 14843:bbb693d3b130
Fix the ogg fourcc nightmare!!!
The problem: once upon a time, windows idiots decided to try to store
vorbis-in-ogg-in-avi. Of course this failed miserably, but they used
the audio format tag 0xfffe for "extended" to do this. Later someone
working on MPlayer somehow decided 0xfffe was the format for vorbis,
which is nonsense, and now that's conflicting with real wav files with
extended audio format. This patch changes demux_ogg (and mkv) to use
sane fourcc's for vorbis and theora and gets rid of the 0xfffe
nonsense so hopefully wav files with extended audio will work now.
If there are problems, we'll have to find workarounds...and drive an
18-wheeler full of cola thru the house of whoever wrote this 0xfffe
nonsense in MPlayer to begin with...
author | rfelker |
---|---|
date | Sun, 27 Feb 2005 18:11:17 +0000 |
parents | 821f464b4d90 |
children | b5c6755ffa29 |
line wrap: on
line source
#ifndef CPUDETECT_H #define CPUDETECT_H #define CPUTYPE_I386 3 #define CPUTYPE_I486 4 #define CPUTYPE_I586 5 #define CPUTYPE_I686 6 #ifdef ARCH_X86_64 # define REGa rax # define REGb rbx # define REGSP rsp # define REG_a "rax" # define REG_b "rbx" # define REG_c "rcx" # define REG_d "rdx" # define REG_S "rsi" # define REG_D "rdi" # define REG_SP "rsp" # define REG_BP "rbp" #else # define REGa eax # define REGb ebx # define REGSP esp # define REG_a "eax" # define REG_b "ebx" # define REG_c "ecx" # define REG_d "edx" # define REG_S "esi" # define REG_D "edi" # define REG_SP "esp" # define REG_BP "ebp" #endif typedef struct cpucaps_s { int cpuType; int cpuStepping; int hasMMX; int hasMMX2; int has3DNow; int has3DNowExt; int hasSSE; int hasSSE2; int isX86; unsigned cl_size; /* size of cache line */ int hasAltiVec; int hasTSC; } CpuCaps; extern CpuCaps gCpuCaps; void GetCpuCaps(CpuCaps *caps); /* returned value is malloc()'ed so free() it after use */ char *GetCpuFriendlyName(unsigned int regs[], unsigned int regs2[]); #endif /* !CPUDETECT_H */