author | simon.zheng <simon.zheng@amlogic.com> | 2011-11-29 14:21:27 (GMT) |
---|---|---|
committer | simon.zheng <simon.zheng@amlogic.com> | 2011-11-29 14:21:27 (GMT) |
commit | 2640761a67f8692c41d68e7f17efc6cbb3c5ee31 (patch) | |
tree | ef7a0be8f197bf1bb4cfa4ac389b89ff96c04a0a | |
parent | e2c348acc8799dab9dffadc2ed9530a7d1100e16 (diff) | |
download | camera-2640761a67f8692c41d68e7f17efc6cbb3c5ee31.zip camera-2640761a67f8692c41d68e7f17efc6cbb3c5ee31.tar.gz camera-2640761a67f8692c41d68e7f17efc6cbb3c5ee31.tar.bz2 |
adjust video parameters
-rw-r--r-- | CameraHal.cpp | 4 | ||||
-rw-r--r-- | V4LCameraAdapter/V4LCameraAdapter.cpp | 35 |
2 files changed, 29 insertions, 10 deletions
diff --git a/CameraHal.cpp b/CameraHal.cpp index d306ea4..91c4369 100644 --- a/CameraHal.cpp +++ b/CameraHal.cpp @@ -3265,6 +3265,10 @@ void CameraHal::insertSupportedParams() p.set(CameraParameters::KEY_AUTO_EXPOSURE_LOCK_SUPPORTED, mCameraProperties->get(CameraProperties::AUTO_EXPOSURE_LOCK_SUPPORTED)); p.set(CameraParameters::KEY_AUTO_WHITEBALANCE_LOCK_SUPPORTED, mCameraProperties->get(CameraProperties::AUTO_WHITEBALANCE_LOCK_SUPPORTED)); p.set(CameraParameters::KEY_VIDEO_SNAPSHOT_SUPPORTED, mCameraProperties->get(CameraProperties::VIDEO_SNAPSHOT_SUPPORTED)); + p.set(CameraParameters::KEY_VIDEO_SIZE, mCameraProperties->get(CameraProperties::VIDEO_SIZE)); + p.set(CameraParameters::KEY_SUPPORTED_VIDEO_SIZES, mCameraProperties->get(CameraProperties::SUPPORTED_VIDEO_SIZES)); + p.set(CameraParameters::KEY_PREFERRED_PREVIEW_SIZE_FOR_VIDEO, mCameraProperties->get(CameraProperties::PREFERRED_PREVIEW_SIZE_FOR_VIDEO)); + LOG_FUNCTION_NAME_EXIT; diff --git a/V4LCameraAdapter/V4LCameraAdapter.cpp b/V4LCameraAdapter/V4LCameraAdapter.cpp index 2b0dc8d..2cb5aac 100644 --- a/V4LCameraAdapter/V4LCameraAdapter.cpp +++ b/V4LCameraAdapter/V4LCameraAdapter.cpp @@ -925,18 +925,18 @@ extern "C" void loadCaps(int camera_id, CameraProperties::Properties* params) { const char DEFAULT_FLASH_MODE[] = "off"; const char DEFAULT_FOCUS_MODE_PREFERRED[] = "auto"; const char DEFAULT_FOCUS_MODE[] = "infinity"; - const char DEFAULT_FRAMERATE_RANGE_IMAGE[] = "15000,30000"; - const char DEFAULT_FRAMERATE_RANGE_VIDEO[]="24000,30000"; + const char DEFAULT_FRAMERATE_RANGE_IMAGE[] = "15000,20000"; + const char DEFAULT_FRAMERATE_RANGE_VIDEO[]="15000,20000"; const char DEFAULT_IPP[] = "ldc-nsf"; const char DEFAULT_GBCE[] = "disable"; const char DEFAULT_ISO_MODE[] = "auto"; - const char DEFAULT_JPEG_QUALITY[] = "95"; - const char DEFAULT_THUMBNAIL_QUALITY[] = "60"; + const char DEFAULT_JPEG_QUALITY[] = "90"; + const char DEFAULT_THUMBNAIL_QUALITY[] = "90"; const char DEFAULT_THUMBNAIL_SIZE[] = "160x120"; const char DEFAULT_PICTURE_FORMAT[] = "jpeg"; const char DEFAULT_PICTURE_SIZE[] = "640x480"; const char DEFAULT_PREVIEW_FORMAT[] = "yuv420sp"; - const char DEFAULT_FRAMERATE[] = "30"; + const char DEFAULT_FRAMERATE[] = "15"; const char DEFAULT_PREVIEW_SIZE[] = "640x480"; const char DEFAULT_NUM_PREV_BUFS[] = "6"; const char DEFAULT_NUM_PIC_BUFS[] = "1"; @@ -960,8 +960,8 @@ extern "C" void loadCaps(int camera_id, CameraProperties::Properties* params) { const char DEFAULT_LOCK_SUPPORTED[] = "true"; const char DEFAULT_LOCK_UNSUPPORTED[] = "false"; const char DEFAULT_VIDEO_SNAPSHOT_SUPPORTED[] = "true"; - const char DEFAULT_VIDEO_SIZE[] = "1920x1080"; - const char DEFAULT_PREFERRED_PREVIEW_SIZE_FOR_VIDEO[] = "1920x1080"; + const char DEFAULT_VIDEO_SIZE[] = "640x480"; + const char DEFAULT_PREFERRED_PREVIEW_SIZE_FOR_VIDEO[] = "640x480"; params->set(CameraProperties::FACING_INDEX, TICameraParameters::FACING_FRONT); params->set(CameraProperties::ANTIBANDING, DEFAULT_ANTIBANDING); @@ -990,6 +990,8 @@ extern "C" void loadCaps(int camera_id, CameraProperties::Properties* params) { params->set(CameraProperties::PICTURE_FORMAT, DEFAULT_PICTURE_FORMAT); params->set(CameraProperties::PREVIEW_FORMAT, DEFAULT_PREVIEW_FORMAT); params->set(CameraProperties::PREVIEW_FRAME_RATE, DEFAULT_FRAMERATE); + params->set(CameraProperties::FRAMERATE_RANGE_IMAGE, DEFAULT_FRAMERATE_RANGE_IMAGE); + params->set(CameraProperties::FRAMERATE_RANGE_VIDEO, DEFAULT_FRAMERATE_RANGE_VIDEO); params->set(CameraProperties::REQUIRED_PREVIEW_BUFS, DEFAULT_NUM_PREV_BUFS); params->set(CameraProperties::REQUIRED_IMAGE_BUFS, DEFAULT_NUM_PIC_BUFS); params->set(CameraProperties::SATURATION, DEFAULT_SATURATION); @@ -1010,8 +1012,15 @@ extern "C" void loadCaps(int camera_id, CameraProperties::Properties* params) { params->set(CameraProperties::VIDEO_SIZE, DEFAULT_VIDEO_SIZE); params->set(CameraProperties::PREFERRED_PREVIEW_SIZE_FOR_VIDEO, DEFAULT_PREFERRED_PREVIEW_SIZE_FOR_VIDEO); + params->set(CameraProperties::FRAMERATE_RANGE, "10500,26623"); + char sizes[64]; if (!getValidFrameSize(camera_id, DEFAULT_PREVIEW_PIXEL_FORMAT, sizes)) { + int len = strlen(sizes); + if(len>1){ + if(sizes[len-1] == ',') + sizes[len-1] = '\0'; + } params->set(CameraProperties::SUPPORTED_PREVIEW_SIZES, sizes); //set last size as default char * e = strrchr(sizes, ','); @@ -1024,6 +1033,11 @@ extern "C" void loadCaps(int camera_id, CameraProperties::Properties* params) { params->set(CameraProperties::SUPPORTED_PREVIEW_SIZES, "640x480"); if (!getValidFrameSize(camera_id, DEFAULT_IMAGE_CAPTURE_PIXEL_FORMAT, sizes)) { + int len = strlen(sizes); + if(len>1){ + if(sizes[len-1] == ',') + sizes[len-1] = '\0'; + } params->set(CameraProperties::SUPPORTED_PICTURE_SIZES, sizes); //set last size as default char * e = strrchr(sizes, ','); @@ -1035,13 +1049,13 @@ extern "C" void loadCaps(int camera_id, CameraProperties::Properties* params) { } else params->set(CameraProperties::SUPPORTED_PICTURE_SIZES, "640x480"); - params->set(CameraProperties::SUPPORTED_THUMBNAIL_SIZES, "0x0"); + params->set(CameraProperties::SUPPORTED_THUMBNAIL_SIZES, "180x160,0x0"); params->set(CameraProperties::SUPPORTED_PREVIEW_FORMATS, CameraParameters::PIXEL_FORMAT_YUV420SP); params->set(CameraProperties::SUPPORTED_IPP_MODES, DEFAULT_IPP); params->set(CameraProperties::SUPPORTED_PICTURE_FORMATS, CameraParameters::PIXEL_FORMAT_JPEG); - params->set(CameraProperties::FRAMERATE_RANGE_SUPPORTED, 30); - params->set(CameraProperties::SUPPORTED_PREVIEW_FRAME_RATES, "30,4294967"); + params->set(CameraProperties::FRAMERATE_RANGE_SUPPORTED, "(10500,26623)"); + params->set(CameraProperties::SUPPORTED_PREVIEW_FRAME_RATES, "15,20"); //params->set(CameraProperties::SUPPORTED_FOCUS_MODES, CameraParameters::FOCUS_MODE_CONTINUOUS_PICTURE); params->set(CameraProperties::SUPPORTED_FOCUS_MODES, DEFAULT_FOCUS_MODE); @@ -1052,6 +1066,7 @@ extern "C" void loadCaps(int camera_id, CameraProperties::Properties* params) { params->set(CameraProperties::SUPPORTED_SCENE_MODES, "auto"); params->set(CameraProperties::SUPPORTED_FLASH_MODES, "off"); params->set(CameraProperties::SUPPORTED_EFFECTS, "none"); + params->set(CameraProperties::SUPPORTED_VIDEO_SIZES, "352x288,648x480"); } |