avassert.h File Reference

simple assert() macros that are a bit more flexible than ISO C assert(). More...

#include <stdlib.h>
#include "avutil.h"
#include "log.h"

Go to the source code of this file.

Macros

#define av_assert0(cond)
 assert() equivalent, that is always enabled.
#define av_assert1(cond)   ((void)0)
 assert() equivalent, that does not lie in speed critical code.
#define av_assert2(cond)   ((void)0)
 assert() equivalent, that does lie in speed critical code.

Detailed Description

simple assert() macros that are a bit more flexible than ISO C assert().

Author
Michael Niedermayer micha.nosp@m.elni.nosp@m.@gmx..nosp@m.at

Definition in file avassert.h.

Macro Definition Documentation

#define av_assert0 (   cond)
Value:
do { \
if (!(cond)) { \
av_log(NULL, AV_LOG_FATAL, "Assertion %s failed at %s:%d\n", \
AV_STRINGIFY(cond), __FILE__, __LINE__); \
abort(); \
} \
} while (0)

assert() equivalent, that is always enabled.

Definition at line 37 of file avassert.h.

Referenced by ape_decode_frame(), av_grow_packet(), avcodec_get_context_defaults3(), decode_slice_header(), do_audio_out(), does_clip(), ff_alsa_extend_reorder_buf(), opt_new_stream(), output_packet(), read_from_packet_buffer(), start_frame(), and unref_buffer().

#define av_assert1 (   cond)    ((void)0)

assert() equivalent, that does not lie in speed critical code.

These asserts() thus can be enabled without fearing speedloss.

Definition at line 53 of file avassert.h.

Referenced by decode_slice(), and validate_options().

#define av_assert2 (   cond)    ((void)0)

assert() equivalent, that does lie in speed critical code.

Definition at line 63 of file avassert.h.

Referenced by asym_quant(), av_reduce(), decode_line(), ff_ac3_group_exponents(), output_frame_end(), and sym_quant().