[x265] [PATCH] threading: use InterlockedExchangeAdd for ATOMIC_ADD

Deepthi Nandakumar deepthi at multicorewareinc.com
Mon Feb 2 12:18:45 CET 2015


Thanks, pushed with an updated commit message

On Mon, Feb 2, 2015 at 2:35 PM, <gopu at multicorewareinc.com> wrote:

> # HG changeset patch
> # User Gopu Govindaswamy <gopu at multicorewareinc.com>
> # Date 1422867856 -19800
> #      Mon Feb 02 14:34:16 2015 +0530
> # Node ID 92bce6fdd447ef03a2e9245969739d58ecc3a2e9
> # Parent  db56dc779466c5b54a55b5dadbcd04e882011729
> threading: use InterlockedExchangeAdd for ATOMIC_ADD
>
> This patch is to fix the build error in 32 bit compiler, the 32 bit
> compiler
> will not support for InterlockedAdd insted use InterlockedExchangeAdd,
> this is
> also adds a value to the target variable,
>
> diff -r db56dc779466 -r 92bce6fdd447 source/common/threading.h
> --- a/source/common/threading.h Mon Feb 02 10:23:10 2015 +0530
> +++ b/source/common/threading.h Mon Feb 02 14:34:16 2015 +0530
> @@ -64,7 +64,7 @@
>  #define CTZ(id, x)                          _BitScanForward(&id, x)
>  #define ATOMIC_INC(ptr)
>  InterlockedIncrement((volatile LONG*)ptr)
>  #define ATOMIC_DEC(ptr)
>  InterlockedDecrement((volatile LONG*)ptr)
> -#define ATOMIC_ADD(ptr, value)              InterlockedAdd((volatile
> LONG*)ptr, value)
> +#define ATOMIC_ADD(ptr, value)
> InterlockedExchangeAdd((volatile LONG*)ptr, value)
>  #define ATOMIC_OR(ptr, mask)                _InterlockedOr((volatile
> LONG*)ptr, (LONG)mask)
>  #define ATOMIC_AND(ptr, mask)               _InterlockedAnd((volatile
> LONG*)ptr, (LONG)mask)
>  #define GIVE_UP_TIME()                      Sleep(0)
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20150202/b01775c7/attachment.html>


More information about the x265-devel mailing list