Move av_log() & friends to libavutil
[libav.git] / libavutil / log.h
CommitLineData
4b45de0e
LA
1#ifndef LOG_H
2#define LOG_H
3
4#include <stdarg.h>
5
6/**
7 * Used by av_log
8 */
9typedef struct AVCLASS AVClass;
10struct AVCLASS {
11 const char* class_name;
12 const char* (*item_name)(void*); /* actually passing a pointer to an AVCodecContext
13 or AVFormatContext, which begin with an AVClass.
14 Needed because av_log is in libavcodec and has no visibility
15 of AVIn/OutputFormat */
16 struct AVOption *option;
17};
18
19/* av_log API */
20
21#define AV_LOG_QUIET -1
22#define AV_LOG_ERROR 0
23#define AV_LOG_INFO 1
24#define AV_LOG_DEBUG 2
25
26#ifdef __GNUC__
27extern void av_log(void*, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4)));
28#else
29extern void av_log(void*, int level, const char *fmt, ...);
30#endif
31
32extern void av_vlog(void*, int level, const char *fmt, va_list);
33extern int av_log_get_level(void);
34extern void av_log_set_level(int);
35extern void av_log_set_callback(void (*)(void*, int, const char*, va_list));
36
37#endif /* LOG_H */