diff options
author | Michel Bardiaux <mbardiaux@peaktime.be> | 2004-03-03 15:41:21 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2004-03-03 15:41:21 +0000 |
commit | bc874daea8273e2471f5a6f914cdc9cf97371a1c (patch) | |
tree | 967f82d529194e1dcc9865caedc0378950ec6f2f /libavcodec/avcodec.h | |
parent | 81c5f887485a3d46ec5948832acc7da8167b5248 (diff) | |
download | ffmpeg-bc874daea8273e2471f5a6f914cdc9cf97371a1c.tar.gz |
av_log() patch by (Michel Bardiaux <mbardiaux at peaktime dot be>)
Originally committed as revision 2840 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/avcodec.h')
-rw-r--r-- | libavcodec/avcodec.h | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 956a2ef74a..772fbd7ae8 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -570,10 +570,27 @@ typedef struct AVFrame { #define DEFAULT_FRAME_RATE_BASE 1001000 /** + * Used by av_log + */ +typedef struct AVCLASS AVClass; +struct AVCLASS { + const char* class_name; + const char* (*item_name)(void*); /* actually passing a pointer to an AVCodecContext + or AVFormatContext, which begin with an AVClass. + Needed because av_log is in libavcodec and has no visibility + of AVIn/OutputFormat */ +}; + +/** * main external api structure. */ typedef struct AVCodecContext { /** + * Info on struct for av_log + * - set by avcodec_alloc_context + */ + AVClass class; + /** * the average bitrate. * - encoding: set by user. unused for constant quantizer encoding * - decoding: set by lavc. 0 or some bitrate if this info is available in the stream @@ -2095,19 +2112,11 @@ void img_copy(AVPicture *dst, const AVPicture *src, #define AV_LOG_INFO 1 #define AV_LOG_DEBUG 2 -extern void av_log(AVCodecContext*, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4))); -extern void av_vlog(AVCodecContext*, int level, const char *fmt, va_list); +extern void av_log(void*, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4))); +extern void av_vlog(void*, int level, const char *fmt, va_list); extern int av_log_get_level(void); extern void av_log_set_level(int); -extern void av_log_set_callback(void (*)(AVCodecContext*, int, const char*, va_list)); - -#undef AV_LOG_TRAP_PRINTF -#ifdef AV_LOG_TRAP_PRINTF -#define printf DO NOT USE -#define fprintf DO NOT USE -#undef stderr -#define stderr DO NOT USE -#endif +extern void av_log_set_callback(void (*)(void*, int, const char*, va_list)); #ifdef __cplusplus } |