本文整理汇总了C++中CameraParameters::getPictureSize方法的典型用法代码示例。如果您正苦于以下问题:C++ CameraParameters::getPictureSize方法的具体用法?C++ CameraParameters::getPictureSize怎么用?C++ CameraParameters::getPictureSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CameraParameters
的用法示例。
在下文中一共展示了CameraParameters::getPictureSize方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setParameters
status_t CameraHardwareStub::setParameters(const CameraParameters& params)
{
Mutex::Autolock lock(mLock);
// XXX verify params
if (strcmp(params.getPreviewFormat(),
CameraParameters::PIXEL_FORMAT_YUV420SP) != 0) {
LOGE("Only yuv420sp preview is supported");
return -1;
}
if (strcmp(params.getPictureFormat(),
CameraParameters::PIXEL_FORMAT_JPEG) != 0) {
LOGE("Only jpeg still pictures are supported");
return -1;
}
int w, h;
params.getPictureSize(&w, &h);
if (w != kCannedJpegWidth && h != kCannedJpegHeight) {
LOGE("Still picture size must be size of canned JPEG (%dx%d)",
kCannedJpegWidth, kCannedJpegHeight);
return -1;
}
mParameters = params;
initHeapLocked();
return NO_ERROR;
}
示例2: setParameters
status_t CameraHardware::setParameters(const CameraParameters& params)
{
Mutex::Autolock lock(mLock);
int width = 0;
int height = 0;
int framerate = 0;
params.getPreviewSize(&width,&height);
LOGD("Set Parameter...!! ");
LOGD("PreviewFormat %s", params.getPreviewFormat());
if ( params.getPreviewFormat() != NULL ) {
if (strcmp(params.getPreviewFormat(), (const char *) CameraParameters::PIXEL_FORMAT_YUV422SP) != 0) {
LOGE("Only yuv422sp preview is supported");
return -EINVAL;
}
}
LOGD("PictureFormat %s", params.getPictureFormat());
if ( params.getPictureFormat() != NULL ) {
if (strcmp(params.getPictureFormat(), (const char *) CameraParameters::PIXEL_FORMAT_JPEG) != 0) {
LOGE("Only jpeg still pictures are supported");
return -EINVAL;
}
}
/* validate preview size */
params.getPreviewSize(&width, &height);
LOGD("preview width:%d,height:%d",width,height);
if ( validateSize(width, height, supportedPreviewRes, ARRAY_SIZE(supportedPreviewRes)) == false ) {
LOGE("Preview size not supported");
return -EINVAL;
}
/* validate picture size */
params.getPictureSize(&width, &height);
LOGD("picture width:%d,height:%d",width,height);
if (validateSize(width, height, supportedPictureRes, ARRAY_SIZE(supportedPictureRes)) == false ) {
LOGE("Picture size not supported");
return -EINVAL;
}
framerate = params.getPreviewFrameRate();
LOGD("FRAMERATE %d", framerate);
mParameters = params;
mParameters.getPictureSize(&width, &height);
LOGD("Picture Size by CamHAL %d x %d", width, height);
mParameters.getPreviewSize(&width, &height);
LOGD("Preview Resolution by CamHAL %d x %d", width, height);
return NO_ERROR;
}
示例3: setParameters
status_t TVINDevice::setParameters(CameraParameters& params)
{
int w, h;
int framerate, local_framerate;
int max_zoom, zoom, max_fps, min_fps;
char tmp[128];
Mutex::Autolock lock(mLock);
max_zoom = params.getInt(CameraParameters::KEY_MAX_ZOOM);
zoom = params.getInt(CameraParameters::KEY_ZOOM);
if (zoom > max_zoom) {
FLOGE("Invalid zoom setting, zoom %d, max zoom %d", zoom, max_zoom);
return BAD_VALUE;
}
if (!((strcmp(params.getPreviewFormat(), "yuv420sp") == 0) ||
(strcmp(params.getPreviewFormat(), "yuv420p") == 0) ||
(strcmp(params.getPreviewFormat(), "yuv422i-yuyv") == 0))) {
FLOGE("Only yuv420sp or yuv420pis supported, but input format is %s",
params.getPreviewFormat());
return BAD_VALUE;
}
if (strcmp(params.getPictureFormat(), "jpeg") != 0) {
FLOGE("Only jpeg still pictures are supported");
return BAD_VALUE;
}
params.getPreviewSize(&w, &h);
sprintf(tmp, "%dx%d", w, h);
FLOGI("Set preview size: %s", tmp);
if (strstr(mSupportedPreviewSizes, tmp) == NULL) {
FLOGE("The preview size w %d, h %d is not corrected", w, h);
return BAD_VALUE;
}
params.getPictureSize(&w, &h);
sprintf(tmp, "%dx%d", w, h);
FLOGI("Set picture size: %s", tmp);
if (strstr(mSupportedPictureSizes, tmp) == NULL) {
FLOGE("The picture size w %d, h %d is not corrected", w, h);
return BAD_VALUE;
}
local_framerate = mParams.getPreviewFrameRate();
FLOGI("get local frame rate:%d FPS", local_framerate);
if ((local_framerate > 30) || (local_framerate < 0)) {
FLOGE("The framerate is not corrected");
local_framerate = 15;
}
framerate = params.getPreviewFrameRate();
FLOGI("Set frame rate:%d FPS", framerate);
if ((framerate > 30) || (framerate < 0)) {
FLOGE("The framerate is not corrected");
return BAD_VALUE;
}
else if (local_framerate != framerate) {
if (framerate == 15) {
params.set(CameraParameters::KEY_PREVIEW_FPS_RANGE, "12000,17000");
}
else if (framerate == 30) {
params.set(CameraParameters::KEY_PREVIEW_FPS_RANGE, "25000,33000");
}
}
int actual_fps = 15;
params.getPreviewFpsRange(&min_fps, &max_fps);
FLOGI("FPS range: %d - %d", min_fps, max_fps);
if ((max_fps < 1000) || (min_fps < 1000) || (max_fps > 33000) ||
(min_fps > 33000)) {
FLOGE("The fps range from %d to %d is error", min_fps, max_fps);
return BAD_VALUE;
}
actual_fps = min_fps > 15000 ? 30 : 15;
FLOGI("setParameters: actual_fps=%d", actual_fps);
params.setPreviewFrameRate(actual_fps);
mParams = params;
return NO_ERROR;
}