Utility Preprocessor macros.
More...
#include "libavutil/avconfig.h"
Go to the source code of this file.
|
#define | AV_NE(be, le) (le) |
|
#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 | AV_STRINGIFY(s) AV_TOSTRING(s) |
|
#define | AV_TOSTRING(s) #s |
|
#define | AV_GLUE(a, b) a ## b |
|
#define | AV_JOIN(a, b) AV_GLUE(a, b) |
|
#define | AV_PRAGMA(s) _Pragma(#s) |
|
#define | FFALIGN(x, a) (((x)+(a)-1)&~((a)-1)) |
|
Utility Preprocessor macros.
Definition in file macros.h.
◆ AV_NE
#define AV_NE |
( |
|
be, |
|
|
|
le |
|
) |
| (le) |
◆ FFDIFFSIGN
#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 45 of file macros.h.
◆ FFMAX
#define FFMAX |
( |
|
a, |
|
|
|
b |
|
) |
| ((a) > (b) ? (a) : (b)) |
◆ FFMAX3
◆ FFMIN
#define FFMIN |
( |
|
a, |
|
|
|
b |
|
) |
| ((a) > (b) ? (b) : (a)) |
◆ FFMIN3
◆ FFSWAP
#define FFSWAP |
( |
|
type, |
|
|
|
a, |
|
|
|
b |
|
) |
| do{type SWAP_tmp= b; b= a; a= SWAP_tmp;}while(0) |
◆ FF_ARRAY_ELEMS
#define FF_ARRAY_ELEMS |
( |
|
a | ) |
(sizeof(a) / sizeof((a)[0])) |
◆ MKTAG
#define MKTAG |
( |
|
a, |
|
|
|
b, |
|
|
|
c, |
|
|
|
d |
|
) |
| ((a) | ((b) << 8) | ((c) << 16) | ((unsigned)(d) << 24)) |
◆ MKBETAG
#define MKBETAG |
( |
|
a, |
|
|
|
b, |
|
|
|
c, |
|
|
|
d |
|
) |
| ((d) | ((c) << 8) | ((b) << 16) | ((unsigned)(a) << 24)) |
◆ AV_PRAGMA
#define AV_PRAGMA |
( |
|
s | ) |
_Pragma(#s) |
◆ FFALIGN
#define FFALIGN |
( |
|
x, |
|
|
|
a |
|
) |
| (((x)+(a)-1)&~((a)-1)) |