From 6616278131edd80a12545085e06ee6b0e0a0a788 Mon Sep 17 00:00:00 2001 From: Prateek Chaubey Date: Sun, 7 Jan 2018 20:55:14 +0530 Subject: msm8996-common: zuk: Import OSS Camera HAL Tag: LA.HB.1.3.2-32600-8x96.0 Signed-off-by: Davide Garberi --- camera/QCamera2/HAL/QCameraParametersIntf.cpp | 1421 +++++++++++++++++++++++++ 1 file changed, 1421 insertions(+) create mode 100644 camera/QCamera2/HAL/QCameraParametersIntf.cpp (limited to 'camera/QCamera2/HAL/QCameraParametersIntf.cpp') diff --git a/camera/QCamera2/HAL/QCameraParametersIntf.cpp b/camera/QCamera2/HAL/QCameraParametersIntf.cpp new file mode 100644 index 0000000..977077b --- /dev/null +++ b/camera/QCamera2/HAL/QCameraParametersIntf.cpp @@ -0,0 +1,1421 @@ +/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#define LOG_TAG "QCameraParametersIntf" + +// System dependencies +#include + +// Camera dependencies +#include "QCameraParameters.h" +#include "QCameraParametersIntf.h" +#include "QCameraTrace.h" + +extern "C" { +#include "mm_camera_dbg.h" +} + +namespace qcamera { + +#define CHECK_PARAM_INTF(impl) LOG_ALWAYS_FATAL_IF(((impl) == NULL), "impl is NULL!") + +QCameraParametersIntf::QCameraParametersIntf() : + mImpl(NULL) +{ +} + +QCameraParametersIntf::~QCameraParametersIntf() +{ + { + Mutex::Autolock lock(mLock); + if (mImpl) { + delete mImpl; + mImpl = NULL; + } + } +} + + +int32_t QCameraParametersIntf::allocate() +{ + Mutex::Autolock lock(mLock); + mImpl = new QCameraParameters(); + if (!mImpl) { + LOGE("Out of memory"); + return NO_MEMORY; + } + + return mImpl->allocate(); +} + +int32_t QCameraParametersIntf::init(cam_capability_t *capabilities, + mm_camera_vtbl_t *mmOps, + QCameraAdjustFPS *adjustFPS) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->init(capabilities, mmOps, adjustFPS); +} + +void QCameraParametersIntf::deinit() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->deinit(); +} + +int32_t QCameraParametersIntf::updateParameters(const String8& params, bool &needRestart) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->updateParameters(params, needRestart); +} + +int32_t QCameraParametersIntf::commitParameters() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->commitParameters(); +} + +char* QCameraParametersIntf::QCameraParametersIntf::getParameters() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getParameters(); +} + +void QCameraParametersIntf::getPreviewFpsRange(int *min_fps, int *max_fps) const +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->getPreviewFpsRange(min_fps, max_fps); +} + +#ifdef TARGET_TS_MAKEUP +bool QCameraParametersIntf::getTsMakeupInfo(int &whiteLevel, int &cleanLevel) const +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getTsMakeupInfo(whiteLevel, cleanLevel); +} +#endif + +int QCameraParametersIntf::getPreviewHalPixelFormat() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getPreviewHalPixelFormat(); +} + +int32_t QCameraParametersIntf::getStreamRotation(cam_stream_type_t streamType, + cam_pp_feature_config_t &featureConfig, + cam_dimension_t &dim) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getStreamRotation(streamType, featureConfig, dim); + +} + +int32_t QCameraParametersIntf::getStreamFormat(cam_stream_type_t streamType, + cam_format_t &format) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getStreamFormat(streamType, format); +} + +int32_t QCameraParametersIntf::getStreamDimension(cam_stream_type_t streamType, + cam_dimension_t &dim) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getStreamDimension(streamType, dim); +} + +void QCameraParametersIntf::getThumbnailSize(int *width, int *height) const +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->getThumbnailSize(width, height); +} + +uint8_t QCameraParametersIntf::getZSLBurstInterval() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getZSLBurstInterval(); +} + +uint8_t QCameraParametersIntf::getZSLQueueDepth() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getZSLQueueDepth(); +} + +uint8_t QCameraParametersIntf::getZSLBackLookCount() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getZSLBackLookCount(); +} + +uint8_t QCameraParametersIntf::getMaxUnmatchedFramesInQueue() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getMaxUnmatchedFramesInQueue(); +} + +bool QCameraParametersIntf::isZSLMode() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isZSLMode(); +} + +bool QCameraParametersIntf::isRdiMode() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isRdiMode(); +} + +bool QCameraParametersIntf::isSecureMode() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isSecureMode(); +} + +bool QCameraParametersIntf::isNoDisplayMode() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isNoDisplayMode(); +} + +bool QCameraParametersIntf::isWNREnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isWNREnabled(); +} + +bool QCameraParametersIntf::isTNRSnapshotEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isTNRSnapshotEnabled(); +} + +int32_t QCameraParametersIntf::getCDSMode() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getCDSMode(); +} + +bool QCameraParametersIntf::isLTMForSeeMoreEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isLTMForSeeMoreEnabled(); +} + +bool QCameraParametersIntf::isHfrMode() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isHfrMode(); +} + +void QCameraParametersIntf::getHfrFps(cam_fps_range_t &pFpsRange) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->getHfrFps(pFpsRange); +} + +uint8_t QCameraParametersIntf::getNumOfSnapshots() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getNumOfSnapshots(); +} + +uint8_t QCameraParametersIntf::getNumOfRetroSnapshots() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getNumOfRetroSnapshots(); +} + +uint8_t QCameraParametersIntf::getNumOfExtraHDRInBufsIfNeeded() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getNumOfExtraHDRInBufsIfNeeded(); +} + +uint8_t QCameraParametersIntf::getNumOfExtraHDROutBufsIfNeeded() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getNumOfExtraHDROutBufsIfNeeded(); +} + +bool QCameraParametersIntf::getRecordingHintValue() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getRecordingHintValue(); +} + +uint32_t QCameraParametersIntf::getJpegQuality() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getJpegQuality(); +} + +uint32_t QCameraParametersIntf::getRotation() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getRotation(); +} + +uint32_t QCameraParametersIntf::getDeviceRotation() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getDeviceRotation(); +} + +uint32_t QCameraParametersIntf::getJpegExifRotation() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getJpegExifRotation(); +} + +bool QCameraParametersIntf::useJpegExifRotation() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->useJpegExifRotation(); +} + +int32_t QCameraParametersIntf::getEffectValue() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getEffectValue(); +} + +bool QCameraParametersIntf::isInstantAECEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isInstantAECEnabled(); +} + +bool QCameraParametersIntf::isInstantCaptureEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isInstantCaptureEnabled(); +} + +uint8_t QCameraParametersIntf::getAecFrameBoundValue() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getAecFrameBoundValue(); +} + +uint8_t QCameraParametersIntf::getAecSkipDisplayFrameBound() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getAecSkipDisplayFrameBound(); +} + +int32_t QCameraParametersIntf::getExifDateTime( + String8 &dateTime, String8 &subsecTime) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getExifDateTime(dateTime, subsecTime); +} + +int32_t QCameraParametersIntf::getExifFocalLength(rat_t *focalLength) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getExifFocalLength(focalLength); +} + +uint16_t QCameraParametersIntf::getExifIsoSpeed() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getExifIsoSpeed(); +} + +int32_t QCameraParametersIntf::getExifGpsProcessingMethod(char *gpsProcessingMethod, uint32_t &count) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getExifGpsProcessingMethod(gpsProcessingMethod, count); +} + +int32_t QCameraParametersIntf::getExifLatitude(rat_t *latitude, char *latRef) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getExifLatitude(latitude, latRef); +} + +int32_t QCameraParametersIntf::getExifLongitude(rat_t *longitude, char *lonRef) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getExifLongitude(longitude, lonRef); +} + +int32_t QCameraParametersIntf::getExifAltitude(rat_t *altitude, char *altRef) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getExifAltitude(altitude, altRef); +} + +int32_t QCameraParametersIntf::getExifGpsDateTimeStamp(char *gpsDateStamp, uint32_t bufLen, rat_t *gpsTimeStamp) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getExifGpsDateTimeStamp(gpsDateStamp, bufLen, gpsTimeStamp); +} + +bool QCameraParametersIntf::isVideoBuffersCached() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isVideoBuffersCached(); +} + +int32_t QCameraParametersIntf::updateFocusDistances(cam_focus_distances_info_t *focusDistances) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->updateFocusDistances(focusDistances); +} + +bool QCameraParametersIntf::isAEBracketEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isAEBracketEnabled(); +} + +int32_t QCameraParametersIntf::setAEBracketing() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setAEBracketing(); +} + +bool QCameraParametersIntf::isFpsDebugEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isFpsDebugEnabled(); +} + +bool QCameraParametersIntf::isHistogramEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isHistogramEnabled(); +} + +bool QCameraParametersIntf::isSceneSelectionEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isSceneSelectionEnabled(); +} + +int32_t QCameraParametersIntf::setSelectedScene(cam_scene_mode_type scene) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setSelectedScene(scene); +} + +cam_scene_mode_type QCameraParametersIntf::getSelectedScene() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getSelectedScene(); +} + +bool QCameraParametersIntf::isFaceDetectionEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isFaceDetectionEnabled(); +} + +int32_t QCameraParametersIntf::setFaceDetectionOption(bool enabled) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setFaceDetectionOption(enabled); +} + +int32_t QCameraParametersIntf::setHistogram(bool enabled) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setHistogram(enabled); +} + +int32_t QCameraParametersIntf::setFaceDetection(bool enabled, bool initCommit) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setFaceDetection(enabled, initCommit); +} + +int32_t QCameraParametersIntf::setFrameSkip(enum msm_vfe_frame_skip_pattern pattern) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setFrameSkip(pattern); +} + +qcamera_thermal_mode QCameraParametersIntf::getThermalMode() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getThermalMode(); +} + +int32_t QCameraParametersIntf::updateRecordingHintValue(int32_t value) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->updateRecordingHintValue(value); +} + +int32_t QCameraParametersIntf::setHDRAEBracket(cam_exp_bracketing_t hdrBracket) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setHDRAEBracket(hdrBracket); +} + +bool QCameraParametersIntf::isHDREnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isHDREnabled(); +} + +bool QCameraParametersIntf::isAutoHDREnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isAutoHDREnabled(); +} + +int32_t QCameraParametersIntf::stopAEBracket() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->stopAEBracket(); +} + +int32_t QCameraParametersIntf::updateRAW(cam_dimension_t max_dim) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->updateRAW(max_dim); +} + +bool QCameraParametersIntf::isDISEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isDISEnabled(); +} + +cam_is_type_t QCameraParametersIntf::getISType() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getISType(); +} + +cam_is_type_t QCameraParametersIntf::getPreviewISType() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getPreviewISType(); +} + +uint8_t QCameraParametersIntf::getMobicatMask() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getMobicatMask(); +} + +cam_focus_mode_type QCameraParametersIntf::getFocusMode() const +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getFocusMode(); +} + +int32_t QCameraParametersIntf::setNumOfSnapshot() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setNumOfSnapshot(); +} + +int32_t QCameraParametersIntf::adjustPreviewFpsRange(cam_fps_range_t *fpsRange) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->adjustPreviewFpsRange(fpsRange); +} + +bool QCameraParametersIntf::isJpegPictureFormat() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isJpegPictureFormat(); +} + +bool QCameraParametersIntf::isNV16PictureFormat() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isNV16PictureFormat(); +} + +bool QCameraParametersIntf::isNV21PictureFormat() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isNV21PictureFormat(); +} + +cam_denoise_process_type_t QCameraParametersIntf::getDenoiseProcessPlate( + cam_intf_parm_type_t type) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getDenoiseProcessPlate(type); +} + +int32_t QCameraParametersIntf::getMaxPicSize(cam_dimension_t &dim) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getMaxPicSize(dim); +} + +int QCameraParametersIntf::getFlipMode(cam_stream_type_t streamType) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getFlipMode(streamType); +} + +bool QCameraParametersIntf::isSnapshotFDNeeded() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isSnapshotFDNeeded(); +} + +bool QCameraParametersIntf::isHDR1xFrameEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isHDR1xFrameEnabled(); +} + +bool QCameraParametersIntf::isYUVFrameInfoNeeded() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isYUVFrameInfoNeeded(); +} + +const char* QCameraParametersIntf::getFrameFmtString(cam_format_t fmt) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getFrameFmtString(fmt); +} + +bool QCameraParametersIntf::isHDR1xExtraBufferNeeded() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isHDR1xExtraBufferNeeded(); +} + +bool QCameraParametersIntf::isHDROutputCropEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isHDROutputCropEnabled(); +} + +bool QCameraParametersIntf::isPreviewFlipChanged() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isPreviewFlipChanged(); +} + +bool QCameraParametersIntf::isVideoFlipChanged() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isVideoFlipChanged(); +} + +bool QCameraParametersIntf::isSnapshotFlipChanged() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isSnapshotFlipChanged(); +} + +void QCameraParametersIntf::setHDRSceneEnable(bool bflag) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->setHDRSceneEnable(bflag); +} + +int32_t QCameraParametersIntf::updateAWBParams(cam_awb_params_t &awb_params) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->updateAWBParams(awb_params); +} + +const char * QCameraParametersIntf::getASDStateString(cam_auto_scene_t scene) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getASDStateString(scene); +} + +bool QCameraParametersIntf::isHDRThumbnailProcessNeeded() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isHDRThumbnailProcessNeeded(); +} + +void QCameraParametersIntf::setMinPpMask(cam_feature_mask_t min_pp_mask) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->setMinPpMask(min_pp_mask); +} + +bool QCameraParametersIntf::setStreamConfigure(bool isCapture, + bool previewAsPostview, bool resetConfig) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setStreamConfigure(isCapture, + previewAsPostview, resetConfig); +} + +int32_t QCameraParametersIntf::addOnlineRotation(uint32_t rotation, + uint32_t streamId, int32_t device_rotation) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->addOnlineRotation(rotation, streamId, device_rotation); +} + +uint8_t QCameraParametersIntf::getNumOfExtraBuffersForImageProc() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getNumOfExtraBuffersForImageProc(); +} + +uint8_t QCameraParametersIntf::getNumOfExtraBuffersForVideo() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getNumOfExtraBuffersForVideo(); +} + +uint8_t QCameraParametersIntf::getNumOfExtraBuffersForPreview() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getNumOfExtraBuffersForPreview(); +} + +uint32_t QCameraParametersIntf::getExifBufIndex(uint32_t captureIndex) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getExifBufIndex(captureIndex); +} + +bool QCameraParametersIntf::needThumbnailReprocess(cam_feature_mask_t *pFeatureMask) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->needThumbnailReprocess(pFeatureMask); +} + +bool QCameraParametersIntf::isUbiFocusEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isUbiFocusEnabled(); +} + +bool QCameraParametersIntf::isChromaFlashEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isChromaFlashEnabled(); +} + +bool QCameraParametersIntf::isHighQualityNoiseReductionMode() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isHighQualityNoiseReductionMode(); +} + +bool QCameraParametersIntf::isTruePortraitEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isTruePortraitEnabled(); +} + +size_t QCameraParametersIntf::getTPMaxMetaSize() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getTPMaxMetaSize(); +} + +bool QCameraParametersIntf::isSeeMoreEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isSeeMoreEnabled(); +} + +bool QCameraParametersIntf::isStillMoreEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isStillMoreEnabled(); +} + +bool QCameraParametersIntf::isOptiZoomEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isOptiZoomEnabled(); +} + +int32_t QCameraParametersIntf::commitAFBracket(cam_af_bracketing_t afBracket) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->commitAFBracket(afBracket); +} + + +int32_t QCameraParametersIntf::set3ALock(bool lock3A) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->set3ALock(lock3A); +} + +int32_t QCameraParametersIntf::setAndCommitZoom(int zoom_level) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setAndCommitZoom(zoom_level); +} +uint8_t QCameraParametersIntf::getBurstCountForAdvancedCapture() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getBurstCountForAdvancedCapture(); +} +uint32_t QCameraParametersIntf::getNumberInBufsForSingleShot() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getNumberInBufsForSingleShot(); +} +uint32_t QCameraParametersIntf::getNumberOutBufsForSingleShot() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getNumberOutBufsForSingleShot(); +} +int32_t QCameraParametersIntf::setLongshotEnable(bool enable) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setLongshotEnable(enable); +} +String8 QCameraParametersIntf::dump() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->dump(); +} +bool QCameraParametersIntf::isUbiRefocus() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isUbiRefocus(); +} +uint32_t QCameraParametersIntf::getRefocusMaxMetaSize() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getRefocusMaxMetaSize(); +} +uint8_t QCameraParametersIntf::getRefocusOutputCount() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getRefocusOutputCount(); +} + +bool QCameraParametersIntf::generateThumbFromMain() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->generateThumbFromMain(); +} + +void QCameraParametersIntf::updateCurrentFocusPosition(cam_focus_pos_info_t &cur_pos_info) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->updateCurrentFocusPosition(cur_pos_info); +} + +void QCameraParametersIntf::updateAEInfo(cam_3a_params_t &ae_params) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->updateAEInfo(ae_params); +} + +bool QCameraParametersIntf::isAdvCamFeaturesEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isAdvCamFeaturesEnabled(); +} + +int32_t QCameraParametersIntf::setAecLock(const char *aecStr) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setAecLock(aecStr); +} + +int32_t QCameraParametersIntf::updateDebugLevel() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->updateDebugLevel(); +} + +bool QCameraParametersIntf::is4k2kVideoResolution() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->is4k2kVideoResolution(); +} + +bool QCameraParametersIntf::isUBWCEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isUBWCEnabled(); +} +int QCameraParametersIntf::getBrightness() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getBrightness(); +} + +int32_t QCameraParametersIntf::updateOisValue(bool oisValue) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->updateOisValue(oisValue); +} + +int32_t QCameraParametersIntf::setIntEvent(cam_int_evt_params_t params) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setIntEvent(params); +} + +bool QCameraParametersIntf::getofflineRAW() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getofflineRAW(); +} + +bool QCameraParametersIntf::getQuadraCfa() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getQuadraCfa(); +} + +int32_t QCameraParametersIntf::updatePpFeatureMask(cam_stream_type_t stream_type) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->updatePpFeatureMask(stream_type); +} + +int32_t QCameraParametersIntf::getStreamPpMask(cam_stream_type_t stream_type, + cam_feature_mask_t &pp_mask) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getStreamPpMask(stream_type, pp_mask); +} + +int32_t QCameraParametersIntf::getSharpness() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getSharpness(); +} + +int32_t QCameraParametersIntf::getEffect() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getEffect(); +} + +int32_t QCameraParametersIntf::updateFlashMode(cam_flash_mode_t flash_mode) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->updateFlashMode(flash_mode); +} + +int32_t QCameraParametersIntf::configureAEBracketing(cam_capture_frame_config_t &frame_config) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->configureAEBracketing(frame_config); +} + +int32_t QCameraParametersIntf::configureHDRBracketing(cam_capture_frame_config_t &frame_config) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->configureHDRBracketing(frame_config); +} + +int32_t QCameraParametersIntf::configFrameCapture(bool commitSettings) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->configFrameCapture(commitSettings); +} + +int32_t QCameraParametersIntf::resetFrameCapture(bool commitSettings) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->resetFrameCapture(commitSettings); +} + +cam_still_more_t QCameraParametersIntf::getStillMoreSettings() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getStillMoreSettings(); +} + +void QCameraParametersIntf::setStillMoreSettings(cam_still_more_t stillmore_config) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->setStillMoreSettings(stillmore_config); +} + +cam_still_more_t QCameraParametersIntf::getStillMoreCapability() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getStillMoreCapability(); +} + +cam_dyn_img_data_t QCameraParametersIntf::getDynamicImgData() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getDynamicImgData(); +} + +void QCameraParametersIntf::setDynamicImgData(cam_dyn_img_data_t d) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->setDynamicImgData(d); +} + +int32_t QCameraParametersIntf::getParmZoomLevel() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getParmZoomLevel(); +} + + +int8_t QCameraParametersIntf::getReprocCount() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getReprocCount(); +} + + +int8_t QCameraParametersIntf::getCurPPCount() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getCurPPCount(); +} + + +void QCameraParametersIntf::setReprocCount() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->setReprocCount(); +} + + +bool QCameraParametersIntf::isPostProcScaling() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isPostProcScaling(); +} + + +bool QCameraParametersIntf::isLLNoiseEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isLLNoiseEnabled(); +} + + +void QCameraParametersIntf::setCurPPCount(int8_t count) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->setCurPPCount(count); +} + +int32_t QCameraParametersIntf::setQuadraCfaMode(uint32_t value, bool initCommit) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setQuadraCfaMode(value, initCommit); +} + +int32_t QCameraParametersIntf::setToneMapMode(uint32_t value, bool initCommit) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setToneMapMode(value, initCommit); +} + +void QCameraParametersIntf::setTintless(bool enable) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->setTintless(enable); +} + +uint8_t QCameraParametersIntf::getLongshotStages() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getLongshotStages(); +} + +int8_t QCameraParametersIntf::getBufBatchCount() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getBufBatchCount(); +} + +int8_t QCameraParametersIntf::getVideoBatchSize() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getVideoBatchSize(); +} + +int32_t QCameraParametersIntf::setManualCaptureMode( + QCameraManualCaptureModes value) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setManualCaptureMode(value); +} + +QCameraManualCaptureModes QCameraParametersIntf::getManualCaptureMode() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getManualCaptureMode(); +} + +int64_t QCameraParametersIntf::getExposureTime() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getExposureTime(); +} + +cam_capture_frame_config_t QCameraParametersIntf::getCaptureFrameConfig() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getCaptureFrameConfig(); +} + +void QCameraParametersIntf::setJpegRotation(int rotation) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->setJpegRotation(rotation); +} + +uint32_t QCameraParametersIntf::getJpegRotation() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getJpegRotation(); +} + +void QCameraParametersIntf::setLowLightLevel(cam_low_light_mode_t value) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + mImpl->setLowLightLevel(value); +} + +cam_low_light_mode_t QCameraParametersIntf::getLowLightLevel() +{ + CHECK_PARAM_INTF(mImpl); + return mImpl->getLowLightLevel(); +} + +bool QCameraParametersIntf::getLowLightCapture() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getLowLightCapture(); +} + +bool QCameraParametersIntf::getDcrf() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getDcrf(); +} + +int32_t QCameraParametersIntf::setRelatedCamSyncInfo( + cam_sync_related_sensors_event_info_t* info) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setRelatedCamSyncInfo(info); +} + +const cam_sync_related_sensors_event_info_t* + QCameraParametersIntf::getRelatedCamSyncInfo(void) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getRelatedCamSyncInfo(); +} + +int32_t QCameraParametersIntf::setFrameSyncEnabled( + bool enable) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setFrameSyncEnabled(enable); +} + +bool QCameraParametersIntf::isFrameSyncEnabled(void) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isFrameSyncEnabled(); +} + +int32_t QCameraParametersIntf::getRelatedCamCalibration( + cam_related_system_calibration_data_t* calib) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getRelatedCamCalibration(calib); +} + +int32_t QCameraParametersIntf::bundleRelatedCameras(bool sync, uint32_t sessionid) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->bundleRelatedCameras(sync, sessionid); +} + +uint8_t QCameraParametersIntf::fdModeInVideo() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->fdModeInVideo(); +} + +bool QCameraParametersIntf::isOEMFeatEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isOEMFeatEnabled(); +} + +int32_t QCameraParametersIntf::setZslMode(bool value) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setZslMode(value); +} + +int32_t QCameraParametersIntf::updateZSLModeValue(bool value) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->updateZSLModeValue(value); +} + +bool QCameraParametersIntf::isReprocScaleEnabled() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isReprocScaleEnabled(); +} + +bool QCameraParametersIntf::isUnderReprocScaling() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->isUnderReprocScaling(); +} + +int32_t QCameraParametersIntf::getPicSizeFromAPK(int &width, int &height) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getPicSizeFromAPK(width, height); +} + +int32_t QCameraParametersIntf::checkFeatureConcurrency() +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->checkFeatureConcurrency(); +} + +int32_t QCameraParametersIntf::setInstantAEC(uint8_t enable, bool initCommit) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->setInstantAEC(enable, initCommit); +} + +int32_t QCameraParametersIntf::getAnalysisInfo( + bool fdVideoEnabled, + bool hal3, + cam_feature_mask_t featureMask, + cam_analysis_info_t *pAnalysisInfo) +{ + Mutex::Autolock lock(mLock); + CHECK_PARAM_INTF(mImpl); + return mImpl->getAnalysisInfo(fdVideoEnabled, hal3, featureMask, pAnalysisInfo); +} + +}; // namespace qcamera -- cgit v1.2.3