FFmpeg
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
internal.h File Reference

common internal API header More...

#include <limits.h>
#include <stdint.h>
#include <stddef.h>
#include <assert.h>
#include "config.h"
#include "attributes.h"
#include "timer.h"
#include "cpu.h"
#include "dict.h"
#include "libm.h"

Go to the source code of this file.

Macros

#define NDEBUG
 
#define emms_c()
 
#define attribute_align_arg
 
#define av_export
 
#define INT_BIT   (CHAR_BIT * sizeof(int))
 
#define E1(x)   x
 
#define LOCAL_ALIGNED_A(a, t, v, s, o,...)
 
#define LOCAL_ALIGNED_D(a, t, v, s, o,...)
 
#define LOCAL_ALIGNED(a, t, v,...)   E1(LOCAL_ALIGNED_A(a, t, v, __VA_ARGS__,,))
 
#define LOCAL_ALIGNED_8(t, v,...)   LOCAL_ALIGNED(8, t, v, __VA_ARGS__)
 
#define LOCAL_ALIGNED_16(t, v,...)   LOCAL_ALIGNED(16, t, v, __VA_ARGS__)
 
#define FF_ALLOC_OR_GOTO(ctx, p, size, label)
 
#define FF_ALLOCZ_OR_GOTO(ctx, p, size, label)
 
#define NULL_IF_CONFIG_SMALL(x)   x
 Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
 
#define ONLY_IF_THREADS_ENABLED(x)   NULL
 Define a function with only the non-default version specified.
 

Detailed Description

common internal API header

Definition in file internal.h.

Macro Definition Documentation

#define NDEBUG

Definition at line 30 of file internal.h.

#define emms_c ( )
#define attribute_align_arg

Definition at line 55 of file internal.h.

#define av_export

Definition at line 62 of file internal.h.

#define INT_BIT   (CHAR_BIT * sizeof(int))

Definition at line 66 of file internal.h.

Referenced by decode_cabac_mb_mvd(), h263_get_motion_length(), and inter_predict().

#define E1 (   x)    x

Definition at line 71 of file internal.h.

#define LOCAL_ALIGNED_A (   a,
  t,
  v,
  s,
  o,
  ... 
)
Value:
uint8_t la_##v[sizeof(t s o) + (a)]; \
t (*v) o = (void *)FFALIGN((uintptr_t)la_##v, a)

Definition at line 73 of file internal.h.

#define LOCAL_ALIGNED_D (   a,
  t,
  v,
  s,
  o,
  ... 
)
Value:
DECLARE_ALIGNED(a, t, la_##v) s o; \
t (*v) o = la_##v

Definition at line 77 of file internal.h.

#define LOCAL_ALIGNED (   a,
  t,
  v,
  ... 
)    E1(LOCAL_ALIGNED_A(a, t, v, __VA_ARGS__,,))

Definition at line 81 of file internal.h.

Referenced by do_hybrid_window().

#define LOCAL_ALIGNED_8 (   t,
  v,
  ... 
)    LOCAL_ALIGNED(8, t, v, __VA_ARGS__)
#define LOCAL_ALIGNED_16 (   t,
  v,
  ... 
)    LOCAL_ALIGNED(16, t, v, __VA_ARGS__)
#define FF_ALLOC_OR_GOTO (   ctx,
  p,
  size,
  label 
)
#define FF_ALLOCZ_OR_GOTO (   ctx,
  p,
  size,
  label 
)
#define NULL_IF_CONFIG_SMALL (   x)    x

Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.

Used to disable the definition of strings (for example AVCodec long_names).

Definition at line 123 of file internal.h.

Referenced by mpeg12_class().

#define ONLY_IF_THREADS_ENABLED (   x)    NULL

Define a function with only the non-default version specified.

On systems with ELF shared libraries, all symbols exported from FFmpeg libraries are tagged with the name and major version of the library to which they belong. If a function is moved from one library to another, a wrapper must be retained in the original location to preserve binary compatibility.

Functions defined with this macro will never be used to resolve symbols by the build-time linker.

Parameters
typereturn type of function
namename of function
argsargument list of function
verversion tag to assign function Return NULL if a threading library has not been enabled. Used to disable threading functions in AVCodec definitions when not needed.

Definition at line 162 of file internal.h.