FFmpeg
Macros
macros.h File Reference
libavutil
#include "libavutil/avconfig.h"

Go to the source code of this file.

Macros

#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))
 

Detailed Description

Utility Preprocessor macros

Definition in file macros.h.

Macro Definition Documentation

AV_NE

#define AV_NE (   be,
  le 
)    (le)
Examples
decode_audio.c, demux_decode.c, and resample_audio.c.

Definition at line 33 of file macros.h.

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))

Definition at line 47 of file macros.h.

FFMAX3

#define FFMAX3 (   a,
  b,
  c 
)    FFMAX(FFMAX(a,b),c)

Definition at line 48 of file macros.h.

FFMIN

#define FFMIN (   a,
  b 
)    ((a) > (b) ? (b) : (a))
Examples
avio_read_callback.c, and transcode_aac.c.

Definition at line 49 of file macros.h.

FFMIN3

#define FFMIN3 (   a,
  b,
  c 
)    FFMIN(FFMIN(a,b),c)

Definition at line 50 of file macros.h.

FFSWAP

#define FFSWAP (   type,
  a,
  b 
)    do{type SWAP_tmp= b; b= a; a= SWAP_tmp;}while(0)

Definition at line 52 of file macros.h.

FF_ARRAY_ELEMS

#define FF_ARRAY_ELEMS (   a )    (sizeof(a) / sizeof((a)[0]))

Definition at line 53 of file macros.h.

MKTAG

#define MKTAG (   a,
  b,
  c,
  d 
)    ((a) | ((b) << 8) | ((c) << 16) | ((unsigned)(d) << 24))

Definition at line 55 of file macros.h.

MKBETAG

#define MKBETAG (   a,
  b,
  c,
  d 
)    ((d) | ((c) << 8) | ((b) << 16) | ((unsigned)(a) << 24))

Definition at line 56 of file macros.h.

AV_PRAGMA

#define AV_PRAGMA (   s )    _Pragma(#s)

Definition at line 76 of file macros.h.

FFALIGN

#define FFALIGN (   x,
  a 
)    (((x)+(a)-1)&~((a)-1))

Definition at line 78 of file macros.h.


Generated on Thu Oct 16 2025 19:24:22 for FFmpeg by   doxygen 1.8.17

AltStyle によって変換されたページ (->オリジナル) /