Files
fmviewer3/project/fm_viewer/tester/rm_tester.h
2026-02-21 17:11:31 +09:00

97 lines
2.4 KiB
C++

#ifndef RM_TESTER_H
#define RM_TESTER_H
// 로그 처리 레벨
#define RM_LOG_LEVEL_NONE 0
#define RM_LOG_LEVEL_TEST 1
#define RM_LOG_LEVEL_ERROR 2
#define RM_LOG_LEVEL_DEBUG 3
#define RM_LOG_LEVEL_INFO 4
// 문제가 32 로 probe 되지 않는 파일
// E:/EVENT/2/NEF_190622-172014-000001_2.avi
// E:/EVENT/2/NEF_190622-181637-000001_2.avi
// E:/EVENT/2/NEF_190622-192232-000001_2.avi
// E:/EVENT/2/NEF_190624-103821-000009_2.avi
// E:/EVENT/2/NEF_190624-105244-000032_2.avi
// 로그 레벨 설정
#define RM_LOG_LEVEL RM_LOG_LEVEL_TEST
// 레벨에 따른 감추기
#if defined(SUPPRESS_ALL_TESTER) || (RM_LOG_LEVEL < RM_LOG_LEVEL_INFO)
#define LOG_INFO /##/
#else
#define LOG_INFO qInfo()
#endif
#if defined(SUPPRESS_ALL_TESTER) || (RM_LOG_LEVEL < RM_LOG_LEVEL_DEBUG)
#define LOG_DEBUG /##/
#else
#define LOG_DEBUG qInfo()
#endif
#if defined(SUPPRESS_ALL_TESTER) || (RM_LOG_LEVEL < RM_LOG_LEVEL_ERROR)
#define LOG_ERROR /##/
#else
#define LOG_ERROR qInfo()
#endif
#if defined(SUPPRESS_ALL_TESTER) || (RM_LOG_LEVEL != RM_LOG_LEVEL_TEST)
#define LOG_TEST /##/
#else
#define LOG_TEST qInfo() << __FUNCTION__
#endif
// 커스텀 로그 설정
// 비디오 프로파일 로그
#define PROFILE_VIDEO_FILE_LOADING 0
#define PROFILE_VIDEO_FILE_LOADING_AUTOPLAY 0
#define PROFILE_TESTER_TIMER 1
#if (RM_LOG_LEVEL > RM_LOG_LEVEL_NONE)
#if !defined(SUPPRESS_ALL_TESTER) && (PROFILE_TESTER_TIMER)
#define TIMER_START RMTester::timer0.start();
#define TIMER_NOW qInfo() << __FUNCTION__ << RMTester::timer0.elapsed() << "ms"
#endif
// 비디오 개별 파일 로딩 테스트
#if !defined(SUPPRESS_ALL_TESTER) && (PROFILE_VIDEO_FILE_LOADING)
#define LOG_VLOAD qInfo()
#define LOG_VLOAD_TS RMTester::timer0.start()
#define LOG_VLOAD_T RMTester::timer0.elapsed() << "ms"
#define LOG_VLOAD_TS2 RMTester::timer1.start()
#define LOG_VLOAD_T2 RMTester::timer1.elapsed() << "ms"
#else
#define LOG_VLOAD /##/
#define LOG_VLOAD_TS /##/
#define LOG_VLOAD_T /##/
#define LOG_VLOAD_TS2 /##/
#define LOG_VLOAD_T2 /##/
#endif
// 클래스
#include <QElapsedTimer>
#include <QObject>
class RMTester : public QObject
{
Q_OBJECT
public:
// 최대 3개의 level timer 사용
static QElapsedTimer timer0;
static QElapsedTimer timer1;
static QElapsedTimer timer2;
};
#endif // (RM_LOG_LEVEL > RM_LOG_LEVEL_NONE)
#endif // RM_TESTER_H