#ifndef CAMERA_TEST_H #define CAMERA_TEST_H #define PRINTOVER(arg...) ALOGD(#arg) #define LOG_FUNCTION_NAME ALOGD("%d: %s() ENTER", __LINE__, __FUNCTION__); #define LOG_FUNCTION_NAME_EXIT ALOGD("%d: %s() EXIT", __LINE__, __FUNCTION__); #define KEY_GBCE "gbce" #define KEY_GLBCE "glbce" #define KEY_CAMERA "camera-index" #define KEY_SATURATION "saturation" #define KEY_BRIGHTNESS "brightness" #define KEY_BURST "burst-capture" #define KEY_EXPOSURE "exposure" #define KEY_CONTRAST "contrast" #define KEY_SHARPNESS "sharpness" #define KEY_ISO "iso" #define KEY_CAF "caf" #define KEY_MODE "mode" #define KEY_VNF "vnf" #define KEY_VSTAB "vstab" #define KEY_COMPENSATION "exposure-compensation" #define KEY_IPP "ipp" #define KEY_BUFF_STARV "buff-starvation" #define KEY_METERING_MODE "meter-mode" #define KEY_AUTOCONVERGENCE "auto-convergence" #define KEY_MANUALCONVERGENCE_VALUES "manual-convergence-values" #define AUTOCONVERGENCE_MODE_MANUAL "mode-manual" #define KEY_EXP_BRACKETING_RANGE "exp-bracketing-range" #define KEY_TEMP_BRACKETING "temporal-bracketing" #define KEY_TEMP_BRACKETING_POS "temporal-bracketing-range-positive" #define KEY_TEMP_BRACKETING_NEG "temporal-bracketing-range-negative" #define KEY_MEASUREMENT "measurement" #define KEY_S3D2D_PREVIEW_MODE "s3d2d-preview" #define KEY_STEREO_CAMERA "s3d-supported" #define KEY_EXIF_MODEL "exif-model" #define KEY_EXIF_MAKE "exif-make" #define KEY_AUTO_EXPOSURE_LOCK "auto-exposure-lock" #define KEY_AUTO_WHITEBALANCE_LOCK "auto-whitebalance-lock" #define SDCARD_PATH "/sdcard/" #define MAX_BURST 15 #define BURST_INC 5 #define TEMP_BRACKETING_MAX_RANGE 4 #define MEDIASERVER_DUMP "procmem -w $(ps | grep mediaserver | grep -Eo '[0-9]+' | head -n 1) | grep \"\\(Name\\|libcamera.so\\|libOMX\\|libomxcameraadapter.so\\|librcm.so\\|libnotify.so\\|libipcutils.so\\|libipc.so\\|libsysmgr.so\\|TOTAL\\)\"" #define MEMORY_DUMP "procrank -u" #define KEY_METERING_MODE "meter-mode" #define TEST_FOCUS_AREA "(0,0,1000,1000,300),(-1000,-1000,1000,1000,300),(0,0,0,0,0)" #define COMPENSATION_OFFSET 20 #define DELIMITER "|" #define MAX_PREVIEW_SURFACE_WIDTH 800 #define MAX_PREVIEW_SURFACE_HEIGHT 480 #define MODEL "camera_test" #define MAKE "camera_test" #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) namespace android { class CameraHandler: public CameraListener { public: virtual void notify(int32_t msgType, int32_t ext1, int32_t ext2); virtual void postData(int32_t msgType, const sp<IMemory>& dataPtr, camera_frame_metadata_t *metadata); virtual void postDataTimestamp(nsecs_t timestamp, int32_t msgType, const sp<IMemory>& dataPtr); }; }; using namespace android; char * get_cycle_cmd(const char *aSrc); int execute_functional_script(char *script); status_t dump_mem_status(); int openCamera(); int closeCamera(); void initDefaults(); int startPreview(); void stopPreview(); int startRecording(); int stopRecording(); int closeRecorder(); int openRecorder(); int configureRecorder(); void printSupportedParams(); char *load_script(char *config); int start_logging(char *config, int &pid); int stop_logging(int &pid); int execute_error_script(char *script); typedef struct pixel_format_t { int32_t pixelFormatDesc; const char *pixformat; }pixel_format; typedef struct output_format_t { output_format type; const char *desc; } outformat; typedef struct preview_size_t { int width, height; const char *desc; } preview_size; typedef struct Vcapture_size_t { int width, height; const char *desc; } Vcapture_size; typedef struct capture_Size_t { int width, height; const char *name; } capture_Size; typedef struct video_Codecs_t { video_encoder type; const char *desc; } video_Codecs; typedef struct audio_Codecs_t { audio_encoder type; const char *desc; } audio_Codecs; typedef struct V_bitRate_t { uint32_t bit_rate; const char *desc; } V_bitRate; typedef struct zoom_t { int idx; const char *zoom_description; } Zoom; typedef struct fps_ranges_t { const char *range; const char *rangeDescription; } fps_ranges; typedef struct fpsConst_Ranges_t { const char *range; const char *rangeDescription; int constFramerate; } fpsConst_Ranges; typedef struct fpsConst_RangesSec_t { const char *range; const char *rangeDescription; int constFramerate; } fpsConst_RangesSec; #endif