1 #ifndef CAMERA_TEST_H 2 #define CAMERA_TEST_H 3 4 #define PRINTOVER(arg...) LOGD(#arg) 5 #define LOG_FUNCTION_NAME LOGD("%d: %s() ENTER", __LINE__, __FUNCTION__); 6 #define LOG_FUNCTION_NAME_EXIT LOGD("%d: %s() EXIT", __LINE__, __FUNCTION__); 7 #define KEY_GBCE "gbce" 8 #define KEY_GLBCE "glbce" 9 #define KEY_CAMERA "camera-index" 10 #define KEY_SATURATION "saturation" 11 #define KEY_BRIGHTNESS "brightness" 12 #define KEY_BURST "burst-capture" 13 #define KEY_EXPOSURE "exposure" 14 #define KEY_CONTRAST "contrast" 15 #define KEY_SHARPNESS "sharpness" 16 #define KEY_ISO "iso" 17 #define KEY_CAF "caf" 18 #define KEY_MODE "mode" 19 #define KEY_VNF "vnf" 20 #define KEY_VSTAB "vstab" 21 #define KEY_COMPENSATION "exposure-compensation" 22 23 #define KEY_IPP "ipp" 24 25 #define KEY_BUFF_STARV "buff-starvation" 26 #define KEY_METERING_MODE "meter-mode" 27 #define KEY_AUTOCONVERGENCE "auto-convergence" 28 #define KEY_MANUALCONVERGENCE_VALUES "manual-convergence-values" 29 #define AUTOCONVERGENCE_MODE_MANUAL "mode-manual" 30 #define KEY_EXP_BRACKETING_RANGE "exp-bracketing-range" 31 #define KEY_TEMP_BRACKETING "temporal-bracketing" 32 #define KEY_TEMP_BRACKETING_POS "temporal-bracketing-range-positive" 33 #define KEY_TEMP_BRACKETING_NEG "temporal-bracketing-range-negative" 34 #define KEY_MEASUREMENT "measurement" 35 #define KEY_S3D2D_PREVIEW_MODE "s3d2d-preview" 36 #define KEY_STEREO_CAMERA "s3d-supported" 37 #define KEY_EXIF_MODEL "exif-model" 38 #define KEY_EXIF_MAKE "exif-make" 39 40 #define KEY_AUTO_EXPOSURE_LOCK "auto-exposure-lock" 41 #define KEY_AUTO_WHITEBALANCE_LOCK "auto-whitebalance-lock" 42 43 #define SDCARD_PATH "/sdcard/" 44 45 #define MAX_BURST 15 46 #define BURST_INC 5 47 #define TEMP_BRACKETING_MAX_RANGE 4 48 49 #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\\)\"" 50 #define MEMORY_DUMP "procrank -u" 51 #define KEY_METERING_MODE "meter-mode" 52 53 #define TEST_FOCUS_AREA "(0,0,1000,1000,300),(-1000,-1000,1000,1000,300),(0,0,0,0,0)" 54 55 #define COMPENSATION_OFFSET 20 56 #define DELIMITER "|" 57 58 #define MAX_PREVIEW_SURFACE_WIDTH 800 59 #define MAX_PREVIEW_SURFACE_HEIGHT 480 60 61 #define MODEL "camera_test" 62 #define MAKE "camera_test" 63 64 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) 65 66 namespace android { 67 class CameraHandler: public CameraListener { 68 public: 69 virtual void notify(int32_t msgType, int32_t ext1, int32_t ext2); 70 virtual void postData(int32_t msgType, 71 const sp<IMemory>& dataPtr, 72 camera_frame_metadata_t *metadata); 73 74 virtual void postDataTimestamp(nsecs_t timestamp, int32_t msgType, const sp<IMemory>& dataPtr); 75 }; 76 77 }; 78 79 using namespace android; 80 81 char * get_cycle_cmd(const char *aSrc); 82 int execute_functional_script(char *script); 83 status_t dump_mem_status(); 84 int openCamera(); 85 int closeCamera(); 86 void initDefaults(); 87 int startPreview(); 88 void stopPreview(); 89 int startRecording(); 90 int stopRecording(); 91 int closeRecorder(); 92 int openRecorder(); 93 int configureRecorder(); 94 void printSupportedParams(); 95 char *load_script(char *config); 96 int start_logging(char *config, int &pid); 97 int stop_logging(int &pid); 98 int execute_error_script(char *script); 99 100 typedef struct pixel_format_t { 101 int32_t pixelFormatDesc; 102 const char *pixformat; 103 }pixel_format; 104 105 typedef struct output_format_t { 106 output_format type; 107 const char *desc; 108 } outformat; 109 110 typedef struct preview_size_t { 111 int width, height; 112 const char *desc; 113 } preview_size; 114 115 typedef struct Vcapture_size_t { 116 int width, height; 117 const char *desc; 118 } Vcapture_size; 119 120 typedef struct capture_Size_t { 121 int width, height; 122 const char *name; 123 } capture_Size; 124 125 typedef struct video_Codecs_t { 126 video_encoder type; 127 const char *desc; 128 } video_Codecs; 129 130 typedef struct audio_Codecs_t { 131 audio_encoder type; 132 const char *desc; 133 } audio_Codecs; 134 135 typedef struct V_bitRate_t { 136 uint32_t bit_rate; 137 const char *desc; 138 } V_bitRate; 139 140 typedef struct zoom_t { 141 int idx; 142 const char *zoom_description; 143 } Zoom; 144 145 typedef struct fps_ranges_t { 146 const char *range; 147 const char *rangeDescription; 148 } fps_ranges; 149 150 typedef struct fpsConst_Ranges_t { 151 const char *range; 152 const char *rangeDescription; 153 int constFramerate; 154 } fpsConst_Ranges; 155 156 typedef struct fpsConst_RangesSec_t { 157 const char *range; 158 const char *rangeDescription; 159 int constFramerate; 160 } fpsConst_RangesSec; 161 162 #endif 163