summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2013-01-04 12:05:56 -0800
committerEino-Ville Talvala <etalvala@google.com>2013-01-07 10:22:24 -0800
commiteae312137f71af037d5f5b4071eef8e2ecd6055e (patch)
treec514ca8ed0e578fda7f23c530867182804818e55 /services
parent4f6c4590f2064c289b33b2b3978a17f57f75590d (diff)
downloadframeworks_av-eae312137f71af037d5f5b4071eef8e2ecd6055e.zip
frameworks_av-eae312137f71af037d5f5b4071eef8e2ecd6055e.tar.gz
frameworks_av-eae312137f71af037d5f5b4071eef8e2ecd6055e.tar.bz2
Camera2: Fix JPEG quality metadata type, new warnings.
- JPEG quality tag is now a uint8_t, not an int. Update parameter code accordingly. - Fix new warnings about narrowing conversions. Bug: 7944244 Change-Id: Ie081c57c9e9323148614b170b132ffb98c0a0b9f
Diffstat (limited to 'services')
-rw-r--r--services/camera/libcameraservice/camera2/Parameters.cpp37
-rw-r--r--services/camera/libcameraservice/camera2/Parameters.h2
2 files changed, 24 insertions, 15 deletions
diff --git a/services/camera/libcameraservice/camera2/Parameters.cpp b/services/camera/libcameraservice/camera2/Parameters.cpp
index 6ab19b1..859e2e9 100644
--- a/services/camera/libcameraservice/camera2/Parameters.cpp
+++ b/services/camera/libcameraservice/camera2/Parameters.cpp
@@ -1207,23 +1207,24 @@ status_t Parameters::set(const String8& paramString) {
}
// JPEG_THUMBNAIL_QUALITY
- validatedParams.jpegThumbQuality =
- newParams.getInt(CameraParameters::KEY_JPEG_THUMBNAIL_QUALITY);
- if (validatedParams.jpegThumbQuality < 0 ||
- validatedParams.jpegThumbQuality > 100) {
+ int quality = newParams.getInt(CameraParameters::KEY_JPEG_THUMBNAIL_QUALITY);
+ // also makes sure quality fits in uint8_t
+ if (quality < 0 || quality > 100) {
ALOGE("%s: Requested JPEG thumbnail quality %d is not supported",
- __FUNCTION__, validatedParams.jpegThumbQuality);
+ __FUNCTION__, quality);
return BAD_VALUE;
}
+ validatedParams.jpegThumbQuality = quality;
// JPEG_QUALITY
- validatedParams.jpegQuality =
- newParams.getInt(CameraParameters::KEY_JPEG_QUALITY);
- if (validatedParams.jpegQuality < 0 || validatedParams.jpegQuality > 100) {
+ quality = newParams.getInt(CameraParameters::KEY_JPEG_QUALITY);
+ // also makes sure quality fits in uint8_t
+ if (quality < 0 || quality > 100) {
ALOGE("%s: Requested JPEG quality %d is not supported",
- __FUNCTION__, validatedParams.jpegQuality);
+ __FUNCTION__, quality);
return BAD_VALUE;
}
+ validatedParams.jpegQuality = quality;
// ROTATION
validatedParams.jpegRotation =
@@ -1752,7 +1753,11 @@ status_t Parameters::updateRequest(CameraMetadata *request) const {
CropRegion::OUTPUT_PREVIEW |
CropRegion::OUTPUT_VIDEO |
CropRegion::OUTPUT_PICTURE ));
- int32_t reqCropRegion[3] = { crop.left, crop.top, crop.width };
+ int32_t reqCropRegion[3] = {
+ static_cast<int32_t>(crop.left),
+ static_cast<int32_t>(crop.top),
+ static_cast<int32_t>(crop.width)
+ };
res = request->update(ANDROID_SCALER_CROP_REGION,
reqCropRegion, 3);
if (res != OK) return res;
@@ -2362,10 +2367,14 @@ Parameters::CropRegion Parameters::calculateCropRegion(
float minOutputWidth, minOutputHeight, minOutputRatio;
{
float outputSizes[][2] = {
- { previewWidth, previewHeight },
- { videoWidth, videoHeight },
- { jpegThumbSize[0], jpegThumbSize[1] },
- { pictureWidth, pictureHeight },
+ { static_cast<float>(previewWidth),
+ static_cast<float>(previewHeight) },
+ { static_cast<float>(videoWidth),
+ static_cast<float>(videoHeight) },
+ { static_cast<float>(jpegThumbSize[0]),
+ static_cast<float>(jpegThumbSize[1]) },
+ { static_cast<float>(pictureWidth),
+ static_cast<float>(pictureHeight) },
};
minOutputWidth = outputSizes[0][0];
diff --git a/services/camera/libcameraservice/camera2/Parameters.h b/services/camera/libcameraservice/camera2/Parameters.h
index 4192e97..9f5f03b 100644
--- a/services/camera/libcameraservice/camera2/Parameters.h
+++ b/services/camera/libcameraservice/camera2/Parameters.h
@@ -55,7 +55,7 @@ struct Parameters {
int pictureWidth, pictureHeight;
int32_t jpegThumbSize[2];
- int32_t jpegQuality, jpegThumbQuality;
+ uint8_t jpegQuality, jpegThumbQuality;
int32_t jpegRotation;
bool gpsEnabled;