26#ifndef AVUTIL_INTERNAL_H
27#define AVUTIL_INTERNAL_H
29#if !defined(DEBUG) && !defined(NDEBUG)
46#ifndef attribute_align_arg
47#if ARCH_X86_32 && AV_GCC_VERSION_AT_LEAST(4,2)
48# define attribute_align_arg __attribute__((force_align_arg_pointer))
50# define attribute_align_arg
54#if HAVE_PRAGMA_DEPRECATED
55# if defined(__ICL) || defined (__INTEL_COMPILER)
56# define FF_DISABLE_DEPRECATION_WARNINGS __pragma(warning(push)) __pragma(warning(disable:1478))
57# define FF_ENABLE_DEPRECATION_WARNINGS __pragma(warning(pop))
58# elif defined(_MSC_VER)
59# define FF_DISABLE_DEPRECATION_WARNINGS __pragma(warning(push)) __pragma(warning(disable:4996))
60# define FF_ENABLE_DEPRECATION_WARNINGS __pragma(warning(pop))
62# define FF_DISABLE_DEPRECATION_WARNINGS _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
63# define FF_ENABLE_DEPRECATION_WARNINGS _Pragma("GCC diagnostic pop")
66# define FF_DISABLE_DEPRECATION_WARNINGS
67# define FF_ENABLE_DEPRECATION_WARNINGS
71#define FF_ALLOC_TYPED_ARRAY(p, nelem) (p = av_malloc_array(nelem, sizeof(*p)))
72#define FF_ALLOCZ_TYPED_ARRAY(p, nelem) (p = av_calloc(nelem, sizeof(*p)))
74#define FF_PTR_ADD(ptr, off) ((off) ? (ptr) + (off) : (ptr))
79#define FF_FIELD_AT(type, off, obj) (*(type *)((char *)&(obj) + (off)))
86# define NULL_IF_CONFIG_SMALL(x) NULL
88# define NULL_IF_CONFIG_SMALL(x) x
113# define ff_dlog(ctx, ...) av_log(ctx, AV_LOG_DEBUG, __VA_ARGS__)
115# define ff_dlog(ctx, ...) do { if (0) av_log(ctx, AV_LOG_DEBUG, __VA_ARGS__); } while (0)
119# define ff_tlog(ctx, ...) av_log(ctx, AV_LOG_TRACE, __VA_ARGS__)
121# define ff_tlog(ctx, ...) do { } while(0)
128#define SUINT32 int32_t
130#define SUINT unsigned
131#define SUINT32 uint32_t
139 while ((
unsigned)x > (
unsigned)
w) {
Macro definitions for various function/variable attributes.
#define av_printf_format(fmtpos, attrpos)
static av_always_inline av_const int avpriv_mirror(int x, int w)
void avpriv_report_missing_feature(void *avc, const char *msg,...) av_printf_format(2
Log a generic warning message about a missing feature.
Replacements for frequently missing libm functions.
Utility Preprocessor macros.
#define avpriv_request_sample(...)