FFmpeg
Loading...
Searching...
No Matches
stdatomic.h File Reference
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include "libavutil/attributes.h"
#include "stdatomic_impl.h"

Go to the source code of this file.

Data Structures

struct  atomic_flag
 

Macros

#define _Atomic
 
#define atomic_init(obj, value)
 
#define kill_dependency(y)
 
#define ATOMIC_BOOL_LOCK_FREE   FF_ATOMIC_LOCK_FREE
 
#define ATOMIC_CHAR_LOCK_FREE   FF_ATOMIC_LOCK_FREE
 
#define ATOMIC_CHAR8_T_LOCK_FREE   FF_ATOMIC_LOCK_FREE
 
#define ATOMIC_CHAR16_T_LOCK_FREE   FF_ATOMIC_LOCK_FREE
 
#define ATOMIC_CHAR32_T_LOCK_FREE   FF_ATOMIC_LOCK_FREE
 
#define ATOMIC_WCHAR_T_LOCK_FREE   FF_ATOMIC_LOCK_FREE
 
#define ATOMIC_SHORT_LOCK_FREE   FF_ATOMIC_LOCK_FREE
 
#define ATOMIC_INT_LOCK_FREE   FF_ATOMIC_LOCK_FREE
 
#define ATOMIC_LONG_LOCK_FREE   FF_ATOMIC_LOCK_FREE
 
#define ATOMIC_LLONG_LOCK_FREE   FF_ATOMIC_LOCK_FREE
 
#define ATOMIC_POINTER_LOCK_FREE   FF_ATOMIC_LOCK_FREE
 
#define atomic_is_lock_free(obj)
 
#define atomic_thread_fence(order)
 
#define atomic_signal_fence(order)
 
#define FF_ATOMIC_SIZE(op, size)
 
#define FF_ATOMIC_PTR(op, object)
 
#define FF_ATOMIC_CHAR(x)
 
#define FF_ATOMIC_INT(op, object)
 
#define FF_ATOMIC_FN(op, object)
 
#define FF_ATOMIC_FETCH_FN(op, object)
 
#define ff_atomic_c(object, x)
 
#define atomic_load_explicit(object, order)
 
#define atomic_load(object)
 
#define atomic_store_explicit(object, desired, order)
 
#define atomic_store(object, desired)
 
#define atomic_exchange_explicit(object, desired, order)
 
#define atomic_exchange(object, desired)
 
#define atomic_compare_exchange_strong_explicit(object, expected, desired, success, failure)
 
#define atomic_compare_exchange_strong(object, expected, desired)
 
#define atomic_compare_exchange_weak_explicit(object, expected, desired, success, failure)
 
#define atomic_compare_exchange_weak(object, expected, desired)
 
#define ff_atomic_fetch(object, operand, op, order)
 
#define atomic_fetch_add_explicit(object, operand, order)
 
#define atomic_fetch_sub_explicit(object, operand, order)
 
#define atomic_fetch_or_explicit(object, operand, order)
 
#define atomic_fetch_xor_explicit(object, operand, order)
 
#define atomic_fetch_and_explicit(object, operand, order)
 
#define atomic_fetch_add(object, operand)
 
#define atomic_fetch_sub(object, operand)
 
#define atomic_fetch_or(object, operand)
 
#define atomic_fetch_xor(object, operand)
 
#define atomic_fetch_and(object, operand)
 
#define ATOMIC_FLAG_INIT   { 0 }
 
#define atomic_flag_test_and_set_explicit(object, order)
 
#define atomic_flag_test_and_set(object)
 
#define atomic_flag_clear_explicit(object, order)
 
#define atomic_flag_clear(object)
 

Typedefs

typedef bool atomic_bool
 
typedef char atomic_char
 
typedef signed char atomic_schar
 
typedef unsigned char atomic_uchar
 
typedef short atomic_short
 
typedef unsigned short atomic_ushort
 
typedef int atomic_int
 
typedef unsigned int atomic_uint
 
typedef long atomic_long
 
typedef unsigned long atomic_ulong
 
typedef FF_ATOMIC_ALIGN64 long long atomic_llong
 
typedef FF_ATOMIC_ALIGN64 unsigned long long atomic_ullong
 
typedef unsigned char atomic_char8_t
 
typedef uint_least16_t atomic_char16_t
 
typedef uint_least32_t atomic_char32_t
 
typedef wchar_t atomic_wchar_t
 
typedef int_least8_t atomic_int_least8_t
 
typedef uint_least8_t atomic_uint_least8_t
 
typedef int_least16_t atomic_int_least16_t
 
typedef uint_least16_t atomic_uint_least16_t
 
typedef int_least32_t atomic_int_least32_t
 
typedef uint_least32_t atomic_uint_least32_t
 
typedef FF_ATOMIC_ALIGN64 int_least64_t atomic_int_least64_t
 
typedef FF_ATOMIC_ALIGN64 uint_least64_t atomic_uint_least64_t
 
typedef int_fast8_t atomic_int_fast8_t
 
typedef uint_fast8_t atomic_uint_fast8_t
 
typedef int_fast16_t atomic_int_fast16_t
 
typedef uint_fast16_t atomic_uint_fast16_t
 
typedef int_fast32_t atomic_int_fast32_t
 
typedef uint_fast32_t atomic_uint_fast32_t
 
typedef FF_ATOMIC_ALIGN64 int_fast64_t atomic_int_fast64_t
 
typedef FF_ATOMIC_ALIGN64 uint_fast64_t atomic_uint_fast64_t
 
typedef intptr_t atomic_intptr_t
 
typedef uintptr_t atomic_uintptr_t
 
typedef size_t atomic_size_t
 
typedef ptrdiff_t atomic_ptrdiff_t
 
typedef FF_ATOMIC_ALIGN64 intmax_t atomic_intmax_t
 
typedef FF_ATOMIC_ALIGN64 uintmax_t atomic_uintmax_t
 

Enumerations

enum  memory_order {
  memory_order_relaxed , memory_order_consume , memory_order_acquire , memory_order_release ,
  memory_order_acq_rel , memory_order_seq_cst
}
 

Functions

static av_always_inline uintptr_t ff_atomic_load_ptr (const volatile void *object, memory_order order)
 
static av_always_inline void ff_atomic_store_ptr (volatile void *object, const volatile void *desired, memory_order order)
 
static av_always_inline uintptr_t ff_atomic_exchange_ptr (volatile void *object, const volatile void *desired, memory_order order)
 
static av_always_inline bool ff_atomic_cas_ptr (volatile void *object, void *expected, const volatile void *desired, memory_order order)
 
void ff_atomic_unsupported (void)
 
static av_always_inline memory_order ff_atomic_cas_order (memory_order success, memory_order failure)
 

Macro Definition Documentation

◆ _Atomic

#define _Atomic

Definition at line 117 of file stdatomic.h.

Referenced by main().

◆ atomic_init

◆ kill_dependency

#define kill_dependency ( y)
Value:
(y)

Definition at line 121 of file stdatomic.h.

Referenced by main().

◆ ATOMIC_BOOL_LOCK_FREE

#define ATOMIC_BOOL_LOCK_FREE   FF_ATOMIC_LOCK_FREE

Definition at line 123 of file stdatomic.h.

◆ ATOMIC_CHAR_LOCK_FREE

#define ATOMIC_CHAR_LOCK_FREE   FF_ATOMIC_LOCK_FREE

Definition at line 124 of file stdatomic.h.

◆ ATOMIC_CHAR8_T_LOCK_FREE

#define ATOMIC_CHAR8_T_LOCK_FREE   FF_ATOMIC_LOCK_FREE

Definition at line 125 of file stdatomic.h.

◆ ATOMIC_CHAR16_T_LOCK_FREE

#define ATOMIC_CHAR16_T_LOCK_FREE   FF_ATOMIC_LOCK_FREE

Definition at line 126 of file stdatomic.h.

◆ ATOMIC_CHAR32_T_LOCK_FREE

#define ATOMIC_CHAR32_T_LOCK_FREE   FF_ATOMIC_LOCK_FREE

Definition at line 127 of file stdatomic.h.

◆ ATOMIC_WCHAR_T_LOCK_FREE

#define ATOMIC_WCHAR_T_LOCK_FREE   FF_ATOMIC_LOCK_FREE

Definition at line 128 of file stdatomic.h.

◆ ATOMIC_SHORT_LOCK_FREE

#define ATOMIC_SHORT_LOCK_FREE   FF_ATOMIC_LOCK_FREE

Definition at line 129 of file stdatomic.h.

◆ ATOMIC_INT_LOCK_FREE

#define ATOMIC_INT_LOCK_FREE   FF_ATOMIC_LOCK_FREE

Definition at line 130 of file stdatomic.h.

◆ ATOMIC_LONG_LOCK_FREE

#define ATOMIC_LONG_LOCK_FREE   FF_ATOMIC_LOCK_FREE

Definition at line 131 of file stdatomic.h.

◆ ATOMIC_LLONG_LOCK_FREE

#define ATOMIC_LLONG_LOCK_FREE   FF_ATOMIC_LOCK_FREE

Definition at line 132 of file stdatomic.h.

◆ ATOMIC_POINTER_LOCK_FREE

#define ATOMIC_POINTER_LOCK_FREE   FF_ATOMIC_LOCK_FREE

Definition at line 133 of file stdatomic.h.

◆ atomic_is_lock_free

#define atomic_is_lock_free ( obj)
Value:
((void)(obj), (bool)(FF_ATOMIC_LOCK_FREE == 2))
#define FF_ATOMIC_LOCK_FREE

Definition at line 135 of file stdatomic.h.

◆ atomic_thread_fence

#define atomic_thread_fence ( order)
Value:
#define ff_atomic_thread_fence(order)

Definition at line 137 of file stdatomic.h.

Referenced by main().

◆ atomic_signal_fence

#define atomic_signal_fence ( order)
Value:
#define ff_atomic_signal_fence(order)

Definition at line 138 of file stdatomic.h.

Referenced by main().

◆ FF_ATOMIC_SIZE

#define FF_ATOMIC_SIZE ( op,
size )
Value:
_Generic((char (*)[size])0, \
char (*)[1]: ff_atomic_##op##_8, \
char (*)[2]: ff_atomic_##op##_16, \
char (*)[4]: ff_atomic_##op##_32, \
char (*)[8]: ff_atomic_##op##_64)
static int op(uint8_t **dst, const uint8_t *dst_end, GetByteContext *gb, int pixel, int count, int *x, int width, int linesize)
Perform decode operation.
Definition anm.c:76
int size

Definition at line 140 of file stdatomic.h.

Referenced by ff_atomic_cas_ptr(), ff_atomic_exchange_ptr(), ff_atomic_load_ptr(), and ff_atomic_store_ptr().

◆ FF_ATOMIC_PTR

#define FF_ATOMIC_PTR ( op,
object )
Value:
_Generic((char (*)[sizeof(*(object))])0, \
char (*)[sizeof(void *)]: ff_atomic_##op##_ptr, \
void ff_atomic_unsupported(void)

Definition at line 190 of file stdatomic.h.

◆ FF_ATOMIC_CHAR

#define FF_ATOMIC_CHAR ( x)
Value:
char: x,

Definition at line 202 of file stdatomic.h.

◆ FF_ATOMIC_INT

#define FF_ATOMIC_INT ( op,
object )
Value:
FF_ATOMIC_CHAR(FF_ATOMIC_SIZE(op, sizeof(*(object)))) \
signed char: FF_ATOMIC_SIZE(op, sizeof(*(object))), \
unsigned char: FF_ATOMIC_SIZE(op, sizeof(*(object))), \
short: FF_ATOMIC_SIZE(op, sizeof(*(object))), \
unsigned short: FF_ATOMIC_SIZE(op, sizeof(*(object))), \
int: FF_ATOMIC_SIZE(op, sizeof(*(object))), \
unsigned int: FF_ATOMIC_SIZE(op, sizeof(*(object))), \
long: FF_ATOMIC_SIZE(op, sizeof(*(object))), \
unsigned long: FF_ATOMIC_SIZE(op, sizeof(*(object))), \
long long: FF_ATOMIC_SIZE(op, sizeof(*(object))), \
unsigned long long: FF_ATOMIC_SIZE(op, sizeof(*(object)))
#define FF_ATOMIC_SIZE(op, size)
Definition stdatomic.h:140
#define FF_ATOMIC_CHAR(x)
Definition stdatomic.h:202

Definition at line 205 of file stdatomic.h.

◆ FF_ATOMIC_FN

#define FF_ATOMIC_FN ( op,
object )
Value:
_Generic(*(object), \
bool: ff_atomic_##op##_bool, \
FF_ATOMIC_INT(op, object), \
default: FF_ATOMIC_PTR(op, object))
#define FF_ATOMIC_INT(op, object)
Definition stdatomic.h:205
#define FF_ATOMIC_PTR(op, object)
Definition stdatomic.h:190

Definition at line 219 of file stdatomic.h.

◆ FF_ATOMIC_FETCH_FN

#define FF_ATOMIC_FETCH_FN ( op,
object )
Value:
_Generic(*(object), FF_ATOMIC_INT(op, object))

Definition at line 227 of file stdatomic.h.

◆ ff_atomic_c

#define ff_atomic_c ( object,
x )
Value:
_Generic(*(object), \
bool: (bool)(x), \
FF_ATOMIC_CHAR((char)(x)) \
signed char: (signed char)(x), \
unsigned char: (unsigned char)(x), \
short: (short)(x), \
unsigned short: (unsigned short)(x), \
int: (int)(x), \
unsigned int: (unsigned int)(x), \
long: (long)(x), \
unsigned long: (unsigned long)(x), \
long long: (long long)(x), \
unsigned long long: (unsigned long long)(x), \
default: (void *)(uintptr_t)(x))

Definition at line 231 of file stdatomic.h.

◆ atomic_load_explicit

◆ atomic_load

◆ atomic_store_explicit

◆ atomic_store

◆ atomic_exchange_explicit

#define atomic_exchange_explicit ( object,
desired,
order )
Value:
ff_atomic_c(object, FF_ATOMIC_FN(exchange, object)(object, desired, order))
static int exchange(MqcState *mqc, uint8_t *cxstate, int lps)
Definition mqcdec.c:45

Definition at line 259 of file stdatomic.h.

Referenced by av_cpu_count(), and ff_swscale().

◆ atomic_exchange

#define atomic_exchange ( object,
desired )
Value:
#define atomic_exchange_explicit(object, desired, order)
Definition stdatomic.h:259

Definition at line 262 of file stdatomic.h.

Referenced by main().

◆ atomic_compare_exchange_strong_explicit

#define atomic_compare_exchange_strong_explicit ( object,
expected,
desired,
success,
failure )
Value:
((void)_Generic((char (*)[sizeof(*(expected))])0, \
char (*)[sizeof(*(object))]: 0), \
FF_ATOMIC_FN(cas, object)(object, expected, desired, \
ff_atomic_cas_order(success, failure)))

Definition at line 274 of file stdatomic.h.

Referenced by shared_read().

◆ atomic_compare_exchange_strong

#define atomic_compare_exchange_strong ( object,
expected,
desired )
Value:
atomic_compare_exchange_strong_explicit(object, expected, desired, \
#define atomic_compare_exchange_strong_explicit(object, expected, desired, success, failure)
Definition stdatomic.h:274

Definition at line 281 of file stdatomic.h.

Referenced by main(), and task_run_stage().

◆ atomic_compare_exchange_weak_explicit

#define atomic_compare_exchange_weak_explicit ( object,
expected,
desired,
success,
failure )
Value:
atomic_compare_exchange_strong_explicit(object, expected, desired, \
success, failure)

Definition at line 286 of file stdatomic.h.

◆ atomic_compare_exchange_weak

#define atomic_compare_exchange_weak ( object,
expected,
desired )
Value:
atomic_compare_exchange_strong(object, expected, desired)
#define atomic_compare_exchange_strong(object, expected, desired)
Definition stdatomic.h:281

Definition at line 291 of file stdatomic.h.

◆ ff_atomic_fetch

#define ff_atomic_fetch ( object,
operand,
op,
order )
Value:
ff_atomic_c(object, FF_ATOMIC_FETCH_FN(op, object)(object, operand, order))
#define FF_ATOMIC_FETCH_FN(op, object)
Definition stdatomic.h:227

Definition at line 294 of file stdatomic.h.

◆ atomic_fetch_add_explicit

#define atomic_fetch_add_explicit ( object,
operand,
order )

◆ atomic_fetch_sub_explicit

#define atomic_fetch_sub_explicit ( object,
operand,
order )

◆ atomic_fetch_or_explicit

#define atomic_fetch_or_explicit ( object,
operand,
order )
Value:
ff_atomic_fetch(object, operand, fetch_or, order)

Definition at line 303 of file stdatomic.h.

Referenced by decode_nal_units(), and detect_alpha().

◆ atomic_fetch_xor_explicit

#define atomic_fetch_xor_explicit ( object,
operand,
order )
Value:
ff_atomic_fetch(object, operand, fetch_xor, order)

Definition at line 306 of file stdatomic.h.

◆ atomic_fetch_and_explicit

#define atomic_fetch_and_explicit ( object,
operand,
order )
Value:
ff_atomic_fetch(object, operand, fetch_and, order)

Definition at line 309 of file stdatomic.h.

◆ atomic_fetch_add

◆ atomic_fetch_sub

#define atomic_fetch_sub ( object,
operand )
Value:
#define atomic_fetch_sub_explicit(object, operand, order)
Definition stdatomic.h:300

Definition at line 315 of file stdatomic.h.

Referenced by ff_mediacodec_dec_unref(), main(), mediacodec_buffer_release(), sheduled_done(), and v4l2_free_buffer().

◆ atomic_fetch_or

#define atomic_fetch_or ( object,
operand )
Value:
#define atomic_fetch_or_explicit(object, operand, order)
Definition stdatomic.h:303

Definition at line 318 of file stdatomic.h.

◆ atomic_fetch_xor

#define atomic_fetch_xor ( object,
operand )
Value:
#define atomic_fetch_xor_explicit(object, operand, order)
Definition stdatomic.h:306

Definition at line 321 of file stdatomic.h.

◆ atomic_fetch_and

#define atomic_fetch_and ( object,
operand )
Value:
#define atomic_fetch_and_explicit(object, operand, order)
Definition stdatomic.h:309

Definition at line 324 of file stdatomic.h.

◆ ATOMIC_FLAG_INIT

#define ATOMIC_FLAG_INIT   { 0 }

Definition at line 331 of file stdatomic.h.

Referenced by main().

◆ atomic_flag_test_and_set_explicit

#define atomic_flag_test_and_set_explicit ( object,
order )
Value:
atomic_exchange_explicit(&(object)->value, 1, order)

Definition at line 333 of file stdatomic.h.

◆ atomic_flag_test_and_set

#define atomic_flag_test_and_set ( object)
Value:
#define atomic_flag_test_and_set_explicit(object, order)
Definition stdatomic.h:333

Definition at line 336 of file stdatomic.h.

Referenced by main().

◆ atomic_flag_clear_explicit

#define atomic_flag_clear_explicit ( object,
order )
Value:
atomic_store_explicit(&(object)->value, 0, order)

Definition at line 339 of file stdatomic.h.

◆ atomic_flag_clear

#define atomic_flag_clear ( object)
Value:
#define atomic_flag_clear_explicit(object, order)
Definition stdatomic.h:339

Definition at line 342 of file stdatomic.h.

Referenced by main().

Typedef Documentation

◆ atomic_bool

typedef bool atomic_bool

Definition at line 57 of file stdatomic.h.

◆ atomic_char

typedef char atomic_char

Definition at line 58 of file stdatomic.h.

◆ atomic_schar

typedef signed char atomic_schar

Definition at line 59 of file stdatomic.h.

◆ atomic_uchar

typedef unsigned char atomic_uchar

Definition at line 60 of file stdatomic.h.

◆ atomic_short

typedef short atomic_short

Definition at line 61 of file stdatomic.h.

◆ atomic_ushort

typedef unsigned short atomic_ushort

Definition at line 62 of file stdatomic.h.

◆ atomic_int

typedef int atomic_int

Definition at line 63 of file stdatomic.h.

◆ atomic_uint

typedef unsigned int atomic_uint

Definition at line 64 of file stdatomic.h.

◆ atomic_long

typedef long atomic_long

Definition at line 65 of file stdatomic.h.

◆ atomic_ulong

typedef unsigned long atomic_ulong

Definition at line 66 of file stdatomic.h.

◆ atomic_llong

typedef FF_ATOMIC_ALIGN64 long long atomic_llong

Definition at line 67 of file stdatomic.h.

◆ atomic_ullong

typedef FF_ATOMIC_ALIGN64 unsigned long long atomic_ullong

Definition at line 68 of file stdatomic.h.

◆ atomic_char8_t

typedef unsigned char atomic_char8_t

Definition at line 69 of file stdatomic.h.

◆ atomic_char16_t

typedef uint_least16_t atomic_char16_t

Definition at line 70 of file stdatomic.h.

◆ atomic_char32_t

typedef uint_least32_t atomic_char32_t

Definition at line 71 of file stdatomic.h.

◆ atomic_wchar_t

typedef wchar_t atomic_wchar_t

Definition at line 72 of file stdatomic.h.

◆ atomic_int_least8_t

typedef int_least8_t atomic_int_least8_t

Definition at line 73 of file stdatomic.h.

◆ atomic_uint_least8_t

typedef uint_least8_t atomic_uint_least8_t

Definition at line 74 of file stdatomic.h.

◆ atomic_int_least16_t

typedef int_least16_t atomic_int_least16_t

Definition at line 75 of file stdatomic.h.

◆ atomic_uint_least16_t

typedef uint_least16_t atomic_uint_least16_t

Definition at line 76 of file stdatomic.h.

◆ atomic_int_least32_t

typedef int_least32_t atomic_int_least32_t

Definition at line 77 of file stdatomic.h.

◆ atomic_uint_least32_t

typedef uint_least32_t atomic_uint_least32_t

Definition at line 78 of file stdatomic.h.

◆ atomic_int_least64_t

typedef FF_ATOMIC_ALIGN64 int_least64_t atomic_int_least64_t

Definition at line 79 of file stdatomic.h.

◆ atomic_uint_least64_t

typedef FF_ATOMIC_ALIGN64 uint_least64_t atomic_uint_least64_t

Definition at line 80 of file stdatomic.h.

◆ atomic_int_fast8_t

typedef int_fast8_t atomic_int_fast8_t

Definition at line 81 of file stdatomic.h.

◆ atomic_uint_fast8_t

typedef uint_fast8_t atomic_uint_fast8_t

Definition at line 82 of file stdatomic.h.

◆ atomic_int_fast16_t

typedef int_fast16_t atomic_int_fast16_t

Definition at line 83 of file stdatomic.h.

◆ atomic_uint_fast16_t

typedef uint_fast16_t atomic_uint_fast16_t

Definition at line 84 of file stdatomic.h.

◆ atomic_int_fast32_t

typedef int_fast32_t atomic_int_fast32_t

Definition at line 85 of file stdatomic.h.

◆ atomic_uint_fast32_t

typedef uint_fast32_t atomic_uint_fast32_t

Definition at line 86 of file stdatomic.h.

◆ atomic_int_fast64_t

typedef FF_ATOMIC_ALIGN64 int_fast64_t atomic_int_fast64_t

Definition at line 87 of file stdatomic.h.

◆ atomic_uint_fast64_t

typedef FF_ATOMIC_ALIGN64 uint_fast64_t atomic_uint_fast64_t

Definition at line 88 of file stdatomic.h.

◆ atomic_intptr_t

typedef intptr_t atomic_intptr_t

Definition at line 89 of file stdatomic.h.

◆ atomic_uintptr_t

typedef uintptr_t atomic_uintptr_t

Definition at line 90 of file stdatomic.h.

◆ atomic_size_t

typedef size_t atomic_size_t

Definition at line 91 of file stdatomic.h.

◆ atomic_ptrdiff_t

typedef ptrdiff_t atomic_ptrdiff_t

Definition at line 92 of file stdatomic.h.

◆ atomic_intmax_t

Definition at line 93 of file stdatomic.h.

◆ atomic_uintmax_t

Definition at line 94 of file stdatomic.h.

Enumeration Type Documentation

◆ memory_order

Enumerator
memory_order_relaxed 
memory_order_consume 
memory_order_acquire 
memory_order_release 
memory_order_acq_rel 
memory_order_seq_cst 

Definition at line 28 of file stdatomic.h.

Function Documentation

◆ ff_atomic_load_ptr()

static av_always_inline uintptr_t ff_atomic_load_ptr ( const volatile void * object,
memory_order order )
static

Definition at line 148 of file stdatomic.h.

◆ ff_atomic_store_ptr()

static av_always_inline void ff_atomic_store_ptr ( volatile void * object,
const volatile void * desired,
memory_order order )
static

Definition at line 153 of file stdatomic.h.

◆ ff_atomic_exchange_ptr()

static av_always_inline uintptr_t ff_atomic_exchange_ptr ( volatile void * object,
const volatile void * desired,
memory_order order )
static

Definition at line 171 of file stdatomic.h.

◆ ff_atomic_cas_ptr()

static av_always_inline bool ff_atomic_cas_ptr ( volatile void * object,
void * expected,
const volatile void * desired,
memory_order order )
static

Definition at line 178 of file stdatomic.h.

◆ ff_atomic_unsupported()

void ff_atomic_unsupported ( void )

◆ ff_atomic_cas_order()

static av_always_inline memory_order ff_atomic_cas_order ( memory_order success,
memory_order failure )
static

Definition at line 265 of file stdatomic.h.