|
#define | AV_NE(be, le) (le) |
|
#define | RSHIFT(a, b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b)) |
|
#define | ROUNDED_DIV(a, b) (((a)>=0 ? (a) + ((b)>>1) : (a) - ((b)>>1))/(b)) |
|
#define | AV_CEIL_RSHIFT(a, b) |
|
#define | FF_CEIL_RSHIFT AV_CEIL_RSHIFT |
|
#define | FFUDIV(a, b) (((a)>0 ?(a):(a)-(b)+1) / (b)) |
|
#define | FFUMOD(a, b) ((a)-(b)*FFUDIV(a,b)) |
|
#define | FFABS(a) ((a) >= 0 ? (a) : (-(a))) |
| Absolute value, Note, INT_MIN / INT64_MIN result in undefined behavior as they are not representable as absolute values of their type. More...
|
|
#define | FFSIGN(a) ((a) > 0 ? 1 : -1) |
|
#define | FFNABS(a) ((a) <= 0 ? (a) : (-(a))) |
| Negative Absolute value. More...
|
|
#define | FFABSU(a) ((a) <= 0 ? -(unsigned)(a) : (unsigned)(a)) |
| Unsigned Absolute value. More...
|
|
#define | FFABS64U(a) ((a) <= 0 ? -(uint64_t)(a) : (uint64_t)(a)) |
|
#define | FFDIFFSIGN(x, y) (((x)>(y)) - ((x)<(y))) |
| Comparator. More...
|
|
#define | FFMAX(a, b) ((a) > (b) ? (a) : (b)) |
|
#define | FFMAX3(a, b, c) FFMAX(FFMAX(a,b),c) |
|
#define | FFMIN(a, b) ((a) > (b) ? (b) : (a)) |
|
#define | FFMIN3(a, b, c) FFMIN(FFMIN(a,b),c) |
|
#define | FFSWAP(type, a, b) do{type SWAP_tmp= b; b= a; a= SWAP_tmp;}while(0) |
|
#define | FF_ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0])) |
|
#define | av_ceil_log2 av_ceil_log2_c |
|
#define | av_clip av_clip_c |
|
#define | av_clip64 av_clip64_c |
|
#define | av_clip_uint8 av_clip_uint8_c |
|
#define | av_clip_int8 av_clip_int8_c |
|
#define | av_clip_uint16 av_clip_uint16_c |
|
#define | av_clip_int16 av_clip_int16_c |
|
#define | av_clipl_int32 av_clipl_int32_c |
|
#define | av_clip_intp2 av_clip_intp2_c |
|
#define | av_clip_uintp2 av_clip_uintp2_c |
|
#define | av_mod_uintp2 av_mod_uintp2_c |
|
#define | av_sat_add32 av_sat_add32_c |
|
#define | av_sat_dadd32 av_sat_dadd32_c |
|
#define | av_sat_sub32 av_sat_sub32_c |
|
#define | av_sat_dsub32 av_sat_dsub32_c |
|
#define | av_sat_add64 av_sat_add64_c |
|
#define | av_sat_sub64 av_sat_sub64_c |
|
#define | av_clipf av_clipf_c |
|
#define | av_clipd av_clipd_c |
|
#define | av_popcount av_popcount_c |
|
#define | av_popcount64 av_popcount64_c |
|
#define | av_parity av_parity_c |
|
#define | MKTAG(a, b, c, d) ((a) | ((b) << 8) | ((c) << 16) | ((unsigned)(d) << 24)) |
|
#define | MKBETAG(a, b, c, d) ((d) | ((c) << 8) | ((b) << 16) | ((unsigned)(a) << 24)) |
|
#define | GET_UTF8(val, GET_BYTE, ERROR) |
| Convert a UTF-8 character (up to 4 bytes) to its 32-bit UCS-4 encoded form. More...
|
|
#define | GET_UTF16(val, GET_16BIT, ERROR) |
| Convert a UTF-16 character (2 or 4 bytes) to its 32-bit UCS-4 encoded form. More...
|
|
#define | PUT_UTF8(val, tmp, PUT_BYTE) |
| Convert a 32-bit Unicode character to its UTF-8 encoded form (up to 4 bytes long). More...
|
|
#define | PUT_UTF16(val, tmp, PUT_16BIT) |
| Convert a 32-bit Unicode character to its UTF-16 encoded form (2 or 4 bytes). More...
|
|
|
av_const int | av_log2 (unsigned v) |
|
av_const int | av_log2_16bit (unsigned v) |
|
static av_always_inline av_const int | av_clip_c (int a, int amin, int amax) |
| Clip a signed integer value into the amin-amax range. More...
|
|
static av_always_inline av_const int64_t | av_clip64_c (int64_t a, int64_t amin, int64_t amax) |
| Clip a signed 64bit integer value into the amin-amax range. More...
|
|
static av_always_inline av_const uint8_t | av_clip_uint8_c (int a) |
| Clip a signed integer value into the 0-255 range. More...
|
|
static av_always_inline av_const int8_t | av_clip_int8_c (int a) |
| Clip a signed integer value into the -128,127 range. More...
|
|
static av_always_inline av_const uint16_t | av_clip_uint16_c (int a) |
| Clip a signed integer value into the 0-65535 range. More...
|
|
static av_always_inline av_const int16_t | av_clip_int16_c (int a) |
| Clip a signed integer value into the -32768,32767 range. More...
|
|
static av_always_inline av_const int32_t | av_clipl_int32_c (int64_t a) |
| Clip a signed 64-bit integer value into the -2147483648,2147483647 range. More...
|
|
static av_always_inline av_const int | av_clip_intp2_c (int a, int p) |
| Clip a signed integer into the -(2^p),(2^p-1) range. More...
|
|
static av_always_inline av_const unsigned | av_clip_uintp2_c (int a, int p) |
| Clip a signed integer to an unsigned power of two range. More...
|
|
static av_always_inline av_const unsigned | av_mod_uintp2_c (unsigned a, unsigned p) |
| Clear high bits from an unsigned integer starting with specific bit position. More...
|
|
static av_always_inline int | av_sat_add32_c (int a, int b) |
| Add two signed 32-bit values with saturation. More...
|
|
static av_always_inline int | av_sat_dadd32_c (int a, int b) |
| Add a doubled value to another value with saturation at both stages. More...
|
|
static av_always_inline int | av_sat_sub32_c (int a, int b) |
| Subtract two signed 32-bit values with saturation. More...
|
|
static av_always_inline int | av_sat_dsub32_c (int a, int b) |
| Subtract a doubled value from another value with saturation at both stages. More...
|
|
static av_always_inline int64_t | av_sat_add64_c (int64_t a, int64_t b) |
| Add two signed 64-bit values with saturation. More...
|
|
static av_always_inline int64_t | av_sat_sub64_c (int64_t a, int64_t b) |
| Subtract two signed 64-bit values with saturation. More...
|
|
static av_always_inline av_const float | av_clipf_c (float a, float amin, float amax) |
| Clip a float value into the amin-amax range. More...
|
|
static av_always_inline av_const double | av_clipd_c (double a, double amin, double amax) |
| Clip a double value into the amin-amax range. More...
|
|
static av_always_inline av_const int | av_ceil_log2_c (int x) |
| Compute ceil(log2(x)). More...
|
|
static av_always_inline av_const int | av_popcount_c (uint32_t x) |
| Count number of bits set to one in x. More...
|
|
static av_always_inline av_const int | av_popcount64_c (uint64_t x) |
| Count number of bits set to one in x. More...
|
|
static av_always_inline av_const int | av_parity_c (uint32_t v) |
|
common internal and external API header
Definition in file common.h.
#define FFDIFFSIGN |
( |
|
x, |
|
|
|
y |
|
) |
| (((x)>(y)) - ((x)<(y))) |
Comparator.
For two numerical expressions x and y, gives 1 if x > y, -1 if x < y, and 0 if x == y. This is useful for instance in a qsort comparator callback. Furthermore, compilers are able to optimize this to branchless code, and there is no risk of overflow with signed types. As with many macros, this evaluates its argument multiple times, it thus must not have a side-effect.
Definition at line 101 of file common.h.