|
#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 | 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 | 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 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 92 of file common.h.