Loading services/camera/libcameraservice/api1/client2/Parameters.cpp +33 −24 Original line number Diff line number Diff line Loading @@ -838,13 +838,15 @@ status_t Parameters::initialize(const CameraMetadata *info, int deviceVersion) { "(0,0,0,0,0)"); zoom = 0; params.set(CameraParameters::KEY_ZOOM, zoom); params.set(CameraParameters::KEY_MAX_ZOOM, NUM_ZOOM_STEPS - 1); zoomAvailable = false; camera_metadata_ro_entry_t maxDigitalZoom = staticInfo(ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM, /*minCount*/1, /*maxCount*/1); if (!maxDigitalZoom.count) return NO_INIT; if (fabs(maxDigitalZoom.data.f[0] - 1.f) > 0.00001f) { params.set(CameraParameters::KEY_ZOOM, zoom); params.set(CameraParameters::KEY_MAX_ZOOM, NUM_ZOOM_STEPS - 1); { String8 zoomRatios; float zoom = 1.f; Loading @@ -862,6 +864,11 @@ status_t Parameters::initialize(const CameraMetadata *info, int deviceVersion) { params.set(CameraParameters::KEY_ZOOM_SUPPORTED, CameraParameters::TRUE); zoomAvailable = true; } else { params.set(CameraParameters::KEY_ZOOM_SUPPORTED, CameraParameters::FALSE); } params.set(CameraParameters::KEY_SMOOTH_ZOOM_SUPPORTED, CameraParameters::FALSE); Loading Loading @@ -1896,6 +1903,7 @@ status_t Parameters::set(const String8& paramString) { } // ZOOM if (zoomAvailable) { validatedParams.zoom = newParams.getInt(CameraParameters::KEY_ZOOM); if (validatedParams.zoom < 0 || validatedParams.zoom >= (int)NUM_ZOOM_STEPS) { Loading @@ -1903,6 +1911,7 @@ status_t Parameters::set(const String8& paramString) { __FUNCTION__, validatedParams.zoom); return BAD_VALUE; } } // VIDEO_SIZE newParams.getVideoSize(&validatedParams.videoWidth, Loading services/camera/libcameraservice/api1/client2/Parameters.h +1 −0 Original line number Diff line number Diff line Loading @@ -137,6 +137,7 @@ struct Parameters { Vector<Area> meteringAreas; int zoom; bool zoomAvailable; int videoWidth, videoHeight, videoFormat; android_dataspace videoDataSpace; Loading Loading
services/camera/libcameraservice/api1/client2/Parameters.cpp +33 −24 Original line number Diff line number Diff line Loading @@ -838,13 +838,15 @@ status_t Parameters::initialize(const CameraMetadata *info, int deviceVersion) { "(0,0,0,0,0)"); zoom = 0; params.set(CameraParameters::KEY_ZOOM, zoom); params.set(CameraParameters::KEY_MAX_ZOOM, NUM_ZOOM_STEPS - 1); zoomAvailable = false; camera_metadata_ro_entry_t maxDigitalZoom = staticInfo(ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM, /*minCount*/1, /*maxCount*/1); if (!maxDigitalZoom.count) return NO_INIT; if (fabs(maxDigitalZoom.data.f[0] - 1.f) > 0.00001f) { params.set(CameraParameters::KEY_ZOOM, zoom); params.set(CameraParameters::KEY_MAX_ZOOM, NUM_ZOOM_STEPS - 1); { String8 zoomRatios; float zoom = 1.f; Loading @@ -862,6 +864,11 @@ status_t Parameters::initialize(const CameraMetadata *info, int deviceVersion) { params.set(CameraParameters::KEY_ZOOM_SUPPORTED, CameraParameters::TRUE); zoomAvailable = true; } else { params.set(CameraParameters::KEY_ZOOM_SUPPORTED, CameraParameters::FALSE); } params.set(CameraParameters::KEY_SMOOTH_ZOOM_SUPPORTED, CameraParameters::FALSE); Loading Loading @@ -1896,6 +1903,7 @@ status_t Parameters::set(const String8& paramString) { } // ZOOM if (zoomAvailable) { validatedParams.zoom = newParams.getInt(CameraParameters::KEY_ZOOM); if (validatedParams.zoom < 0 || validatedParams.zoom >= (int)NUM_ZOOM_STEPS) { Loading @@ -1903,6 +1911,7 @@ status_t Parameters::set(const String8& paramString) { __FUNCTION__, validatedParams.zoom); return BAD_VALUE; } } // VIDEO_SIZE newParams.getVideoSize(&validatedParams.videoWidth, Loading
services/camera/libcameraservice/api1/client2/Parameters.h +1 −0 Original line number Diff line number Diff line Loading @@ -137,6 +137,7 @@ struct Parameters { Vector<Area> meteringAreas; int zoom; bool zoomAvailable; int videoWidth, videoHeight, videoFormat; android_dataspace videoDataSpace; Loading