On 2012-01-01 17:54:40 -0700, Daniel Verkamp wrote:
> ---
>  configure            |    4 ++--
>  libavcodec/pthread.c |   11 ++++++-----
>  2 files changed, 8 insertions(+), 7 deletions(-)
> 
> diff --git a/configure b/configure
> index b7f0acd..481f0ea 100755
> --- a/configure
> +++ b/configure
> @@ -1084,9 +1084,9 @@ HAVE_LIST="
>      fork
>      getaddrinfo
>      gethrtime
> +    GetProcessAffinityMask
>      GetProcessMemoryInfo
>      GetProcessTimes
> -    GetSystemInfo
>      getrusage
>      gnu_as
>      ibm_asm
> @@ -2864,8 +2864,8 @@ check_func  sysctl
>  check_func_headers io.h setmode
>  check_func_headers lzo/lzo1x.h lzo1x_999_compress
>  check_lib2 "windows.h psapi.h" GetProcessMemoryInfo -lpsapi
> +check_func_headers windows.h GetProcessAffinityMask
>  check_func_headers windows.h GetProcessTimes
> -check_func_headers windows.h GetSystemInfo
>  check_func_headers windows.h MapViewOfFile
>  check_func_headers windows.h VirtualAlloc
>  
> diff --git a/libavcodec/pthread.c b/libavcodec/pthread.c
> index 58c5fcd..2159a25 100644
> --- a/libavcodec/pthread.c
> +++ b/libavcodec/pthread.c
> @@ -35,7 +35,7 @@
>  #define _GNU_SOURCE
>  #include <sched.h>
>  #endif
> -#if HAVE_GETSYSTEMINFO
> +#if HAVE_GETPROCESSAFFINITYMASK
>  #include <windows.h>
>  #endif
>  #if HAVE_SYSCTL
> @@ -169,10 +169,11 @@ static int get_logical_cpus(AVCodecContext *avctx)
>      if (!ret) {
>          nb_cpus = CPU_COUNT(&cpuset);
>      }
> -#elif HAVE_GETSYSTEMINFO
> -    SYSTEM_INFO sysinfo;
> -    GetSystemInfo(&sysinfo);
> -    nb_cpus = sysinfo.dwNumberOfProcessors;
> +#elif HAVE_GETPROCESSAFFINITYMASK
> +    DWORD_PTR proc_aff, sys_aff;
> +    ret = GetProcessAffinityMask(GetCurrentProcess(), &proc_aff, &sys_aff);
> +    if (ret)
> +        nb_cpus = av_popcount64(proc_aff);
>  #elif HAVE_SYSCTL && defined(HW_NCPU)
>      int mib[2] = { CTL_HW, HW_NCPU };
>      size_t len = sizeof(nb_cpus);

looks good

Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to