summaryrefslogtreecommitdiffstats
path: root/test/CameraHal/camera_test_script.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/CameraHal/camera_test_script.cpp')
-rw-r--r--test/CameraHal/camera_test_script.cpp99
1 files changed, 71 insertions, 28 deletions
diff --git a/test/CameraHal/camera_test_script.cpp b/test/CameraHal/camera_test_script.cpp
index d2e465b..3a19d1e 100644
--- a/test/CameraHal/camera_test_script.cpp
+++ b/test/CameraHal/camera_test_script.cpp
@@ -90,6 +90,8 @@ extern int rangeCnt;
extern int * constFramerate;
extern int frameRateIDX;
extern int fpsRangeIdx;
+extern int stereoLayoutIDX;
+extern int stereoCapLayoutIDX;
int resol_index = 0;
int a = 0;
extern char * vstabstr;
@@ -125,8 +127,7 @@ extern double altitude;
extern char dir_path[80];
extern int AutoConvergenceModeIDX;
extern const char *autoconvergencemode[];
-extern const char *manualconvergencevalues[];
-extern const int ManualConvergenceDefaultValueIDX;
+extern const int ManualConvergenceDefaultValue;
extern size_t length_cam;
extern char script_name[];
extern int restartCount;
@@ -145,6 +146,9 @@ extern size_t length_fps_ranges;
extern size_t length_fpsConst_Ranges;
extern size_t length_fpsConst_RangesSec;
extern int platformID;
+extern char **stereoLayout;
+extern char **stereoCapLayout;
+extern void getSizeParametersFromCapabilities();
int execute_functional_script(char *script) {
@@ -317,12 +321,17 @@ int execute_functional_script(char *script) {
printf("Setting resolution...");
a = checkSupportedParamScriptResol(preview_Array, numpreviewSize, cmd, &resol_index);
if (a > -1) {
- params.setPreviewSize(preview_Array[resol_index]->width, camera_index == 2? preview_Array[resol_index]->height*2 : preview_Array[resol_index]->height);
+ params.setPreviewSize(preview_Array[resol_index]->width, preview_Array[resol_index]->height);
previewSizeIDX = resol_index;
reSizePreview = true;
} else {
- printf("\nNot supported parameter %s from sensor %d\n\n", cmd + 1, camera_index);
- return -1;
+ int width, height;
+ char *res = NULL;
+ res = strtok(cmd + 1, "x");
+ width = atoi(res);
+ res = strtok(NULL, "x");
+ height = atoi(res);
+ params.setPreviewSize(width, height);
}
if ( hardwareActive && previewRunning ) {
@@ -340,8 +349,13 @@ int execute_functional_script(char *script) {
params.setPictureSize(capture_Array[resol_index]->width, capture_Array[resol_index]->height);
captureSizeIDX = resol_index;
} else {
- printf("\nNot supported parameter %s from sensor %d\n\n", cmd + 1, camera_index);
- return -1;
+ int widthC, heightC;
+ char *resC = NULL;
+ resC = strtok(cmd + 1, "x");
+ widthC = atoi(resC);
+ resC = strtok(NULL, "x");
+ heightC = atoi(resC);
+ params.setPictureSize(widthC,heightC);
}
if ( hardwareActive ) {
@@ -485,7 +499,6 @@ int execute_functional_script(char *script) {
params.set(KEY_STEREO_CAMERA, "false");
printf("%s selected.\n", cameras[camera_index]);
- firstTime = true;
if ( hardwareActive ) {
stopPreview();
@@ -495,7 +508,6 @@ int execute_functional_script(char *script) {
closeCamera();
openCamera();
}
- params.setPreviewFrameRate(30);
break;
case 'a':
@@ -516,7 +528,6 @@ int execute_functional_script(char *script) {
break;
case 'l':
- case 'L':
a = checkSupportedParamScriptResol(Vcapture_Array, numVcaptureSize, cmd, &resol_index);
if (a > -1) {
VcaptureSizeIDX = resol_index;
@@ -525,6 +536,39 @@ int execute_functional_script(char *script) {
return -1;
}
break;
+
+ case 'L':
+ if (strcmp((cmd + 1),"tb-full") == 0) {
+ stereoLayoutIDX = 0; //tb-full
+ stereoCapLayoutIDX = 0; //tb-full
+ } else if(strcmp((cmd + 1),"tb-subsampled") == 0) {
+ stereoLayoutIDX = 2; //tb-subsampled
+ stereoCapLayoutIDX = 0; //tb-full
+ } else if(strcmp((cmd + 1),"ss-full") == 0) {
+ stereoLayoutIDX = 1; //ss-full
+ stereoCapLayoutIDX = 1; //ss-full
+ } else if(strcmp((cmd + 1),"ss-subsampled") == 0) {
+ stereoLayoutIDX = 3; //ss-subsamped
+ stereoCapLayoutIDX = 1; //ss-full
+ } else {
+ printf(" invalid layout - the layout will receive the defauilt parameters");
+ stereoLayoutIDX = 0; //tb-full
+ stereoCapLayoutIDX = 0; //tb-full
+ }
+
+ params.set(KEY_S3D_PRV_FRAME_LAYOUT, stereoLayout[stereoLayoutIDX]);
+ params.set(KEY_S3D_CAP_FRAME_LAYOUT, stereoCapLayout[stereoCapLayoutIDX]);
+
+ getSizeParametersFromCapabilities();
+ if (hardwareActive && previewRunning) {
+ stopPreview();
+ camera->setParameters(params.flatten());
+ startPreview();
+ } else if (hardwareActive) {
+ camera->setParameters(params.flatten());
+ }
+ break;
+
case ']':
for(i = 0; i < length_V_bitRate; i++)
{
@@ -723,19 +767,16 @@ int execute_functional_script(char *script) {
break;
case 'B' :
- if (strcmp(vnfstr, "true") == 0) {
+ if(strcmp(vnfstr, "true") == 0) {
if (strcmp(cmd + 1, "1") == 0) {
trySetVideoNoiseFilter(true);
}
else if (strcmp(cmd + 1, "0") == 0){
trySetVideoNoiseFilter(false);
- } else {
- printf("\nNot supported parameter %s from sensor %d\n\n", cmd + 1, camera_index);
- return -1;
}
} else {
- printf("\nNot supported parameter vnf from sensor %d\n\n", camera_index);
- return -1;
+ trySetVideoNoiseFilter(false);
+ printf("\n VNF is not supported \n\n");
}
if ( hardwareActive ) {
@@ -777,12 +818,11 @@ int execute_functional_script(char *script) {
break;
case 'i':
-
- a = checkSupportedParamScript(isoMode, numisoMode, cmd);
- if (a > -1) {
- params.set(KEY_ISO, (cmd + 1));
+ iso_mode = atoi(cmd + 1);
+ if (iso_mode < numisoMode) {
+ params.set(KEY_ISO, isoMode[iso_mode]);
} else {
- printf("\nNot supported parameter %s from sensor %d\n\n", cmd + 1, camera_index);
+ printf("\nNot supported parameter %s for iso mode from sensor %d\n\n", cmd + 1, camera_index);
return -1;
}
@@ -1017,8 +1057,9 @@ int execute_functional_script(char *script) {
}
gettimeofday(&picture_start, 0);
- if ( hardwareActive )
- ret = camera->takePicture(CAMERA_MSG_COMPRESSED_IMAGE|CAMERA_MSG_RAW_IMAGE);
+ if (hardwareActive) {
+ ret = camera->takePicture(CAMERA_MSG_POSTVIEW_FRAME | CAMERA_MSG_RAW_IMAGE_NOTIFY | CAMERA_MSG_COMPRESSED_IMAGE | CAMERA_MSG_SHUTTER);
+ }
if ( ret != NO_ERROR )
printf("Error returned while taking a picture");
@@ -1137,19 +1178,21 @@ int execute_functional_script(char *script) {
if ( AutoConvergenceModeIDX < 0 || AutoConvergenceModeIDX > 4 )
AutoConvergenceModeIDX = 0;
params.set(KEY_AUTOCONVERGENCE, autoconvergencemode[AutoConvergenceModeIDX]);
- if ( AutoConvergenceModeIDX != 4 )
- params.set(KEY_MANUALCONVERGENCE_VALUES, manualconvergencevalues[ManualConvergenceDefaultValueIDX]);
- if ( hardwareActive )
+ if (AutoConvergenceModeIDX != 4) {
+ params.set(KEY_MANUAL_CONVERGENCE, ManualConvergenceDefaultValue);
+ }
+ if (hardwareActive) {
camera->setParameters(params.flatten());
+ }
break;
}
case '^':
{
char strtmpval[7];
- if ( strcmp (autoconvergencemode[AutoConvergenceModeIDX], AUTOCONVERGENCE_MODE_MANUAL) == 0) {
+ if (strcmp(autoconvergencemode[AutoConvergenceModeIDX], "manual") == 0) {
sprintf(strtmpval,"%d", atoi(cmd + 1));
- params.set(KEY_MANUALCONVERGENCE_VALUES, strtmpval);
+ params.set(KEY_MANUAL_CONVERGENCE, strtmpval);
if ( hardwareActive )
camera->setParameters(params.flatten());
}