GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (c) XMEDIA. All rights reserved.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#include "debug.h"
|
||||
#include "log_base.h"
|
||||
|
||||
void debug_dump_frame(char* data, int size, const char* path)
|
||||
{
|
||||
#if DUMP_STREAM_DATA
|
||||
unsigned long long ts1, ts2;
|
||||
|
||||
ts1 = debug_time_stamp_ms();
|
||||
|
||||
FILE* fp = fopen(path, "w+");
|
||||
if (fp == NULL)
|
||||
return;
|
||||
|
||||
fwrite(data, 1, size, fp);
|
||||
|
||||
fclose(fp);
|
||||
ts2 = debug_time_stamp_ms();
|
||||
|
||||
LOGD("fwrite %s bytes %d, used %lld ms\n", path, size, ts2 - ts1);
|
||||
#endif
|
||||
}
|
||||
|
||||
void debug_dump_stream(char* data, int size, const char* path)
|
||||
{
|
||||
#if DUMP_STREAM_DATA
|
||||
unsigned long long ts1, ts2;
|
||||
|
||||
ts1 = debug_time_stamp_ms();
|
||||
|
||||
FILE* fp = fopen(path, "a+");
|
||||
if (fp == NULL)
|
||||
return;
|
||||
|
||||
fwrite(data, 1, size, fp);
|
||||
|
||||
fclose(fp);
|
||||
ts2 = debug_time_stamp_ms();
|
||||
|
||||
LOGD("fwrite %s bytes %d, used %lld ms\n", path, size, ts2 - ts1);
|
||||
#endif
|
||||
}
|
||||
|
||||
unsigned long long debug_time_stamp_ms(void)
|
||||
{
|
||||
struct timeval tv= {0};
|
||||
unsigned long long time_stamp;
|
||||
|
||||
gettimeofday(&tv, NULL);
|
||||
time_stamp = tv.tv_sec * 1000 + tv.tv_usec / 1000;
|
||||
|
||||
return time_stamp;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
* Copyright (c) XMEDIA. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef __UVC_APP_DEBUG_H__
|
||||
#define __UVC_APP_DEBUG_H__
|
||||
|
||||
void debug_dump_frame(char* data, int size, const char* path);
|
||||
|
||||
void debug_dump_stream(char* data, int size, const char* path);
|
||||
|
||||
unsigned long long debug_time_stamp_ms(void);
|
||||
|
||||
#endif // __UVC_APP_DEBUG_H__
|
||||
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
* Copyright (c) XMEDIA. All rights reserved.
|
||||
*/
|
||||
#ifndef __LOG_BASE_H__
|
||||
#define __LOG_BASE_H__
|
||||
|
||||
#define LOG_LEVEL_ERR 1
|
||||
#define LOG_LEVEL_WARN 2
|
||||
#define LOG_LEVEL_INFO 3
|
||||
#define LOG_LEVEL_PRINT 3
|
||||
#define LOG_LEVEL_DEBUG 5
|
||||
|
||||
/**
|
||||
* RED [error]
|
||||
* YELLOW [warn]
|
||||
* GREEN [info]
|
||||
* GREEN [trace]
|
||||
* BLUE [debug]
|
||||
*/
|
||||
|
||||
#ifdef PRINT_COLOR_ON
|
||||
#define RED "\033[1;31m"
|
||||
#define YELLOW "\033[1;33m"
|
||||
#define GREEN "\033[1;32m"
|
||||
#define BLUE "\033[1;34m"
|
||||
#define NONE "\033[m"
|
||||
#else
|
||||
#define RED ""
|
||||
#define YELLOW ""
|
||||
#define GREEN ""
|
||||
#define BLUE ""
|
||||
#define NONE ""
|
||||
#endif
|
||||
|
||||
#define TAG "LOG"
|
||||
|
||||
extern unsigned int g_loglevel;
|
||||
|
||||
#define LOGE(fmt, args...) do { \
|
||||
if (g_loglevel >= LOG_LEVEL_ERR) { \
|
||||
printf(RED "[%s E] <%s : %d> " fmt NONE, \
|
||||
TAG, __func__, __LINE__, ##args); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define LOGW(fmt, args...) do { \
|
||||
if (g_loglevel >= LOG_LEVEL_WARN) { \
|
||||
printf(YELLOW "[%s W] <%s : %d> " fmt NONE, \
|
||||
TAG, __func__, __LINE__, ##args); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define LOGI(fmt, args...) do { \
|
||||
if (g_loglevel >= LOG_LEVEL_INFO) { \
|
||||
printf(GREEN "[%s I] <%s : %d> " fmt NONE, \
|
||||
TAG, __func__, __LINE__, ##args); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define LOGD(fmt, args...) do { \
|
||||
if (g_loglevel >= LOG_LEVEL_DEBUG) { \
|
||||
printf(NONE "[%s D] <%s : %d> " fmt NONE, \
|
||||
TAG, __func__, __LINE__, ##args); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define LOGT(fmt, args...) do { \
|
||||
if (g_loglevel >= LOG_LEVEL_PRINT) { \
|
||||
printf(GREEN fmt NONE, ##args); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright (c) XMEDIA. All rights reserved.
|
||||
*/
|
||||
#ifndef __VENC_LOG_H__
|
||||
#define __VENC_LOG_H__
|
||||
|
||||
#include "log_base.h"
|
||||
|
||||
#undef TAG
|
||||
#define TAG "VENC"
|
||||
|
||||
#define venc_loge LOGE
|
||||
#define venc_logw LOGW
|
||||
#define venc_logi LOGI
|
||||
#define venc_logd LOGD
|
||||
|
||||
#define func_entry() venc_logd("entry\n")
|
||||
#define func_success() venc_logd("success\n")
|
||||
#define func_fail() venc_loge("failed\n")
|
||||
|
||||
#define check_null_goto(ptr, tag) do { \
|
||||
if ((ptr) == NULL) { \
|
||||
venc_loge("invalid param.\n"); \
|
||||
goto tag; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user