|
|
|
@ -850,6 +850,7 @@ static void ffmpeg_log_callback(void *ptr, int level, const char *fmt, va_list v |
|
|
|
|
static bool skip_header = false; |
|
|
|
|
static int prev_level = -1; |
|
|
|
|
CV_UNUSED(ptr); |
|
|
|
|
if (level>av_log_get_level()) return; |
|
|
|
|
if (!skip_header || level != prev_level) printf("[OPENCV:FFMPEG:%02d] ", level); |
|
|
|
|
vprintf(fmt, vargs); |
|
|
|
|
size_t fmt_len = strlen(fmt); |
|
|
|
@ -866,15 +867,21 @@ class InternalFFMpegRegister |
|
|
|
|
|
|
|
|
|
static void initLogger_() |
|
|
|
|
{ |
|
|
|
|
#ifndef NO_GETENV |
|
|
|
|
#ifndef NO_GETENV |
|
|
|
|
char* debug_option = getenv("OPENCV_FFMPEG_DEBUG"); |
|
|
|
|
if (debug_option != NULL) |
|
|
|
|
char* level_option = getenv("OPENCV_FFMPEG_LOGLEVEL"); |
|
|
|
|
int level = AV_LOG_VERBOSE; |
|
|
|
|
if (level_option != NULL) |
|
|
|
|
{ |
|
|
|
|
level = atoi(level_option); |
|
|
|
|
} |
|
|
|
|
if ( (debug_option != NULL) || (level_option != NULL) ) |
|
|
|
|
{ |
|
|
|
|
av_log_set_level(AV_LOG_VERBOSE); |
|
|
|
|
av_log_set_level(level); |
|
|
|
|
av_log_set_callback(ffmpeg_log_callback); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
#endif |
|
|
|
|
#endif |
|
|
|
|
{ |
|
|
|
|
av_log_set_level(AV_LOG_ERROR); |
|
|
|
|
} |
|
|
|
|