summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2013-01-04 12:05:56 -0800
committerIgor Murashkin <iam@google.com>2013-01-30 17:06:51 -0800
commit64143ff27c2ffd8bd91ee9451305704e6b54ac6e (patch)
treee9bdb0a8eef7eff82045b95e8cfcb26d3807ef6b /services
parent950fcbe17288bfb3d9bb89f8311cc6bead276499 (diff)
downloadframeworks_av-64143ff27c2ffd8bd91ee9451305704e6b54ac6e.zip
frameworks_av-64143ff27c2ffd8bd91ee9451305704e6b54ac6e.tar.gz
frameworks_av-64143ff27c2ffd8bd91ee9451305704e6b54ac6e.tar.bz2
Camera2: Fix JPEG quality metadata type, new warnings.: DO NOT MERGE
- 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 11cabae..278a19c 100644
--- a/services/camera/libcameraservice/camera2/Parameters.cpp
+++ b/services/camera/libcameraservice/camera2/Parameters.cpp
@@ -1208,23 +1208,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 =
@@ -1749,7 +1750,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;
@@ -2347,10 +2352,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 4ba6773..dc2cdcf 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;