--- xvid.c 2008/11/27 00:47:03 1.76 +++ xvid.c 2008/12/01 15:06:48 1.80 @@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: xvid.c,v 1.76 2008/11/27 00:47:03 Isibaar Exp $ + * $Id: xvid.c,v 1.80 2008/12/01 15:06:48 Isibaar Exp $ * ****************************************************************************/ @@ -28,6 +28,10 @@ #include #include +#if !defined(_WIN32) +#include +#endif + #include "xvid.h" #include "decoder.h" #include "encoder.h" @@ -661,24 +665,20 @@ return XVID_ERR_VERSION; info->actual_version = XVID_VERSION; - info->build = "xvid-1.2.0-dev"; + info->build = "xvid-1.3.0-dev"; info->cpu_flags = detect_cpu_flags(); - info->num_threads = 0; + info->num_threads = 0; #if defined(_WIN32) + { - DWORD dwProcessAffinityMask, dwSystemAffinityMask; - if (GetProcessAffinityMask(GetCurrentProcess(), (PDWORD_PTR) &dwProcessAffinityMask, (PDWORD_PTR) &dwSystemAffinityMask)) { - int i; - for(i=0; i<32; i++) { - if ((dwProcessAffinityMask & (1<num_threads++; - } - } + SYSTEM_INFO siSysInfo; + GetSystemInfo(&siSysInfo); + info->num_threads = siSysInfo.dwNumberOfProcessors; /* number of _logical_ cores */ } + #else - #include info->num_threads = sysconf(_SC_NPROCESSORS_CONF); #endif