allwinner_a64/android/hardware/aw/camera/CameraDebug.h
2018-08-08 17:00:29 +08:00

142 lines
4.8 KiB
C
Executable file

#ifndef __HAL_CAMERA_DEBUG_H__
#define __HAL_CAMERA_DEBUG_H__
#define CAMERA_HAL_VERSION "3000130327_V1.0"
#define CAMERA_HAL_MODE_OLD 1
#if (CAMERA_HAL_MODE_OLD == 1)
#define USE_OLD_MODE
#else
#define USE_NEW_MODE
#endif
#define USE_ION_MEM_ALLOCATOR
#define ALIGN_4K(x) (((x) + (4095)) & ~(4095))
#define ALIGN_32B(x) (((x) + (31)) & ~(31))
#define ALIGN_16B(x) (((x) + (15)) & ~(15))
#define ALIGN_8B(x) (((x) + (7)) & ~(7))
#define DBG_CAMERA_HARDWARE 0
#define DBG_V4L2_CAMERA 0
#define DBG_PREVIEW 0
#define DBG_CALLBACK 0
#define DBG_CAMERA_FACTORY 0
#define DBG_CAMERA_CONFIG 0
#define DBG_BUFFER_LIST 0
#define DBG_BUFFER_SAVE 0
#define DBG_BUFFER_READ 0
/* Defines whether we should trace parameter changes. */
#define DEBUG_PARAM 0
#define DEBUG_MSG 0
// enable all print information
#define LOG_NDEBUG 1
#define F_LOG ALOGV("%s, -------------------line: %d------------------", __FUNCTION__, __LINE__);
#define LOGV ALOGV
#define LOGD ALOGD
#define LOGW ALOGW
#define LOGE ALOGE
#define PATH "/data/camera/"
#define LOGE_IF ALOGE_IF
#define LOGW_IF ALOGW_IF
// performance debug
#define DBG_TIME_ENABLE 0
#if DBG_TIME_ENABLE
#define LOG_TIME ALOGD
#define DBG_TIME_BEGIN(inf, en) \
int64_t llt_ms = systemTime() / 1000000; \
int64_t lt_ms = llt_ms; \
int64_t nt_ms = 0; \
if (en) LOG_TIME("\t[T_DBG_bgn] %s timestamp: %lld", inf, lt_ms);
#define DBG_TIME_DIFF(inf) \
nt_ms = systemTime() / 1000000; \
LOG_TIME("\t[T_DBG_dff] %s use: %lld(ms)", inf, (nt_ms - lt_ms)); \
lt_ms = nt_ms;
#define DBG_TIME_END(inf, en) \
nt_ms = systemTime() / 1000000; \
LOG_TIME("\t[T_DBG_end] %s use: %lld(ms)", inf, (nt_ms - llt_ms)); \
if (en) LOG_TIME("\t[T_DBG_end] %s timestamp: %lld", inf, nt_ms);
#else
#define DBG_TIME_BEGIN(inf, en)
#define DBG_TIME_DIFF(inf)
#define DBG_TIME_END(inf, en)
#endif
#define DBG_TIME_AVG_ENABLE 0
#if DBG_TIME_AVG_ENABLE
#define LOG_TIME_AVG ALOGD
#define DBG_TIME_AVG_BEGIN(tag) \
static int64_t tag##_time = 0; \
static int tag##_cnt = 0;
#define DBG_TIME_AVG_INIT(tag) \
tag##_time = 0; tag##_cnt = 0;
#define DBG_TIME_AVG_AREA_IN(tag) \
int64_t tag##_diff = systemTime();
#define DBG_TIME_AVG_AREA_OUT(tag) \
tag##_diff = systemTime() - tag##_diff; \
tag##_time += tag##_diff; \
tag##_cnt++;
#define DBG_TIME_AVG_END(tag, inf) \
if (tag##_cnt > 0) LOG_TIME_AVG("\t[T_DBG_avg] %s cnt: %d, average use: %lld(us)", inf, tag##_cnt, tag##_time/tag##_cnt/1000);
#else
#define DBG_TIME_AVG_BEGIN(tag)
#define DBG_TIME_AVG_INIT(tag)
#define DBG_TIME_AVG_AREA_IN(tag)
#define DBG_TIME_AVG_AREA_OUT(tag)
#define DBG_TIME_AVG_END(tag, inf)
#endif
#ifdef __SUN4I__
#define USE_MP_CONVERT
#endif
#ifdef __SUN6I__
#define USE_MP_CONVERT
#endif
#ifdef __SUN9I__
#define USE_MP_CONVERT
#endif /*USE_ION_MEM_ALLOCATOR*/
//TOOLS FOR CAPTURE BITSTREAM
//Open the following definitions to debug bitstream from V4l2 device ..
//Notice:When the tool working in Android N ,we must open SELinux(setenforece 0)
//and create the directory(mkdir Camera ,chmod 777 Camera).
#define DBG_CAPTURE_STREAM_FROM_V4L2DEVICE_FORYUYV 0
#define DBG_CAPTURE_STREAM_FROM_V4L2DEVICE_FORNV21 0
#define DBG_CAPTURE_STREAM_FROM_V4L2DEVICE_TAKEPICTURE 0
#define DBG_CAPTURE_STREAM_FROM_V4L2DEVICE_FORMJPEG 0
#define DBG_CAPTURE_STREAM_FROM_V4L2DEVICE_FORH264 0
#define DBG_CAPTURE_STREAM_AFTER_TRANSFORMATION 0
#define LIMITED_NUM 10
#ifdef DBG_CAPTURE_STREAM_FROM_V4L2DEVICE_TAKEPICTURE||DBG_CAPTURE_STREAM_FROM_V4L2DEVICE_FORNV21||DBG_CAPTURE_STREAM_FROM_V4L2DEVICE_FORH264||DBG_CAPTURE_STREAM_FROM_V4L2DEVICE_FORYUYV||DBG_CAPTURE_STREAM_FROM_V4L2DEVICE_FORMJPEG
#define DBG_CAPTURE_V4L2DEVICE_PATH "/data/Camera/fromDevice"
#endif
#ifdef DBG_CAPTURE_STREAM_AFTER_TRANSFORMATION
#define DBG_CAPTURE_AFTER_TRANSFORMATION_PATH "/data/Camera/afterTransformation.yuv"
#endif
#define DISCARD_FRAME_NUM 0
extern bool saveframe(char *str,void *p, unsigned int length,bool is_oneframe);
extern bool saveSize(int width, int height);
#endif // __HAL_CAMERA_DEBUG_H__