aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2015-03-16 08:57:34 +0000
committerVittorio Giovara <vittorio.giovara@gmail.com>2015-04-19 12:41:59 +0100
commitc253340ae6f74ffd8798bbd476e46d1b33a2d56e (patch)
treec4f175dea6dcc18f0f5cdf3a2b92cde58a9de91b
parentb8d7f3186e86234f6255f5e8ee9e98573b4d9a6e (diff)
downloadffmpeg-c253340ae6f74ffd8798bbd476e46d1b33a2d56e.tar.gz
log: Introduce a more verbose debug level
And deprecate av_dlog macro.
-rw-r--r--cmdutils.c1
-rw-r--r--doc/APIchanges3
-rw-r--r--doc/avtools-common-opts.texi1
-rw-r--r--libavutil/log.c9
-rw-r--r--libavutil/log.h9
-rw-r--r--libavutil/version.h5
6 files changed, 24 insertions, 4 deletions
diff --git a/cmdutils.c b/cmdutils.c
index af8354aa19..c4a78199f3 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -724,6 +724,7 @@ int opt_loglevel(void *optctx, const char *opt, const char *arg)
{ "info" , AV_LOG_INFO },
{ "verbose", AV_LOG_VERBOSE },
{ "debug" , AV_LOG_DEBUG },
+ { "trace" , AV_LOG_TRACE },
};
char *tail;
int level;
diff --git a/doc/APIchanges b/doc/APIchanges
index 35830f8278..5934f4517f 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -13,6 +13,9 @@ libavutil: 2014-08-09
API changes, most recent first:
+2015-xx-xx - xxxxxxx - lavu 54.12.0
+ Add AV_LOG_TRACE for extremely verbose debugging.
+
2015-xx-xx - xxxxxxx - lavu 54.11.0
Add av_small_strptime().
diff --git a/doc/avtools-common-opts.texi b/doc/avtools-common-opts.texi
index 852d3f8236..79f764b58c 100644
--- a/doc/avtools-common-opts.texi
+++ b/doc/avtools-common-opts.texi
@@ -145,6 +145,7 @@ Set the logging level used by the library.
@item info
@item verbose
@item debug
+@item trace
@end table
By default the program logs to stderr, if coloring is supported by the
diff --git a/libavutil/log.c b/libavutil/log.c
index d38e40bfda..7f2cb08597 100644
--- a/libavutil/log.c
+++ b/libavutil/log.c
@@ -43,16 +43,19 @@
static int av_log_level = AV_LOG_INFO;
static int flags;
+#define NB_LEVELS 8
#if HAVE_SETCONSOLETEXTATTRIBUTE
#include <windows.h>
-static const uint8_t color[] = { 12, 12, 12, 14, 7, 10, 11 };
+static const uint8_t color[NB_LEVELS] = { 12, 12, 12, 14, 7, 10, 11, 8};
static int16_t background, attr_orig;
static HANDLE con;
#define set_color(x) SetConsoleTextAttribute(con, background | color[x])
#define reset_color() SetConsoleTextAttribute(con, attr_orig)
#define print_256color(x)
#else
-static const uint8_t color[] = { 0x41, 0x41, 0x11, 0x03, 9, 0x02, 0x06 };
+static const uint8_t color[NB_LEVELS] = {
+ 0x41, 0x41, 0x11, 0x03, 9, 0x02, 0x06, 0x07
+};
#define set_color(x) fprintf(stderr, "\033[%d;3%dm", color[x] >> 4, color[x]&15)
#define print_256color(x) fprintf(stderr, "\033[38;5;%dm", x)
#define reset_color() fprintf(stderr, "\033[0m")
@@ -159,7 +162,7 @@ void av_log_default_callback(void *avcl, int level, const char *fmt, va_list vl)
fprintf(stderr, " Last message repeated %d times\n", count);
count = 0;
}
- colored_fputs(av_clip(level >> 3, 0, 6), tint >> 8, line);
+ colored_fputs(av_clip(level >> 3, 0, NB_LEVELS - 1), tint >> 8, line);
av_strlcpy(prev, line, sizeof line);
}
diff --git a/libavutil/log.h b/libavutil/log.h
index 4e4424a553..d4daea9c1a 100644
--- a/libavutil/log.h
+++ b/libavutil/log.h
@@ -24,6 +24,7 @@
#include <stdarg.h>
#include "avutil.h"
#include "attributes.h"
+#include "version.h"
/**
* Describe the class of an AVClass context structure. That is an
@@ -144,6 +145,11 @@ typedef struct AVClass {
#define AV_LOG_DEBUG 48
/**
+ * Extremely verbose debugging, useful for libav* development.
+ */
+#define AV_LOG_TRACE 56
+
+/**
* @}
*/
@@ -243,8 +249,10 @@ void av_log_default_callback(void *avcl, int level, const char *fmt,
*/
const char* av_default_item_name(void* ctx);
+#if FF_API_DLOG
/**
* av_dlog macros
+ * @deprecated unused
* Useful to print debug messages that shouldn't get compiled in normally.
*/
@@ -253,6 +261,7 @@ const char* av_default_item_name(void* ctx);
#else
# define av_dlog(pctx, ...)
#endif
+#endif /* FF_API_DLOG */
/**
* Skip repeated messages, this requires the user app to use av_log() instead of
diff --git a/libavutil/version.h b/libavutil/version.h
index 14a406e7da..eb2574ae81 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -54,7 +54,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 54
-#define LIBAVUTIL_VERSION_MINOR 11
+#define LIBAVUTIL_VERSION_MINOR 12
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
@@ -111,6 +111,9 @@
#ifndef FF_API_OPT_TYPE_METADATA
#define FF_API_OPT_TYPE_METADATA (LIBAVUTIL_VERSION_MAJOR < 55)
#endif
+#ifndef FF_API_DLOG
+#define FF_API_DLOG (LIBAVUTIL_VERSION_MAJOR < 55)
+#endif
/**