# HG changeset patch # User lucabe # Date 1153220455 0 # Node ID 05bb54c1d979b5ca9f5fa223af93993516ea727e # Parent 7dc6dcbc69606dd279b44667d53841a477ec7ee3 Move av_log() & friends to libavutil diff -r 7dc6dcbc6960 -r 05bb54c1d979 avcodec.h --- a/avcodec.h Tue Jul 18 01:29:43 2006 +0000 +++ b/avcodec.h Tue Jul 18 11:00:55 2006 +0000 @@ -661,19 +661,6 @@ #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 */ - struct AVOption *option; -}; - -/** * main external api structure. */ typedef struct AVCodecContext { @@ -2632,26 +2619,6 @@ int img_pad(AVPicture *dst, const AVPicture *src, int height, int width, int pix_fmt, int padtop, int padbottom, int padleft, int padright, int *color); -/* av_log API */ - -#include - -#define AV_LOG_QUIET -1 -#define AV_LOG_ERROR 0 -#define AV_LOG_INFO 1 -#define AV_LOG_DEBUG 2 - -#ifdef __GNUC__ -extern void av_log(void*, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4))); -#else -extern void av_log(void*, int level, const char *fmt, ...); -#endif - -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 (*)(void*, int, const char*, va_list)); - /* endian macros */ #if !defined(BE_16) || !defined(BE_32) || !defined(LE_16) || !defined(LE_32) #define BE_16(x) ((((uint8_t*)(x))[0] << 8) | ((uint8_t*)(x))[1]) diff -r 7dc6dcbc6960 -r 05bb54c1d979 utils.c --- a/utils.c Tue Jul 18 01:29:43 2006 +0000 +++ b/utils.c Tue Jul 18 11:00:55 2006 +0000 @@ -1,7 +1,6 @@ /* * utils for libavcodec * Copyright (c) 2001 Fabrice Bellard. - * Copyright (c) 2003 Michel Bardiaux for the av_log API * Copyright (c) 2002-2004 Michael Niedermayer * * This library is free software; you can redistribute it and/or @@ -1339,57 +1338,6 @@ } } -/* av_log API */ - -static int av_log_level = AV_LOG_INFO; - -static void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl) -{ - static int print_prefix=1; - AVClass* avc= ptr ? *(AVClass**)ptr : NULL; - if(level>av_log_level) - return; -#undef fprintf - if(print_prefix && avc) { - fprintf(stderr, "[%s @ %p]", avc->item_name(ptr), avc); - } -#define fprintf please_use_av_log - - print_prefix= strstr(fmt, "\n") != NULL; - - vfprintf(stderr, fmt, vl); -} - -static void (*av_log_callback)(void*, int, const char*, va_list) = av_log_default_callback; - -void av_log(void* avcl, int level, const char *fmt, ...) -{ - va_list vl; - va_start(vl, fmt); - av_vlog(avcl, level, fmt, vl); - va_end(vl); -} - -void av_vlog(void* avcl, int level, const char *fmt, va_list vl) -{ - av_log_callback(avcl, level, fmt, vl); -} - -int av_log_get_level(void) -{ - return av_log_level; -} - -void av_log_set_level(int level) -{ - av_log_level = level; -} - -void av_log_set_callback(void (*callback)(void*, int, const char*, va_list)) -{ - av_log_callback = callback; -} - #if !defined(HAVE_THREADS) int avcodec_thread_init(AVCodecContext *s, int thread_count){ return -1;