/* ** ** Copyright 2008, The Android Open Source Project ** Copyright 2012, Samsung Electronics Co. LTD ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ /*! * \file ExynosCamera2.h * \brief header file for static information of camera2 * \author Sungjoong Kang(sj3.kang@samsung.com) * \date 2012/08/06 * * <b>Revision History: </b> * - 2012/08/06 : Sungjoong Kang(sj3.kang@samsung.com) \n * Initial Release * */ #include <hardware/camera2.h> #include <camera/Camera.h> #include <camera/CameraParameters.h> #include "exynos_format.h" #include "fimc-is-metadata.h" namespace android { struct ExynosCamera2Info { public: int32_t sensorW; int32_t sensorH; int32_t sensorRawW; int32_t sensorRawH; int numScalerResolution; const int32_t *scalerResolutions; int numJpegResolution; const int32_t *jpegResolutions; float minFocusDistance; float focalLength; float aperture; float fnumber; const uint8_t *availableAfModes; const uint8_t *sceneModeOverrides; const uint8_t *availableAeModes; int numAvailableAfModes; int numSceneModeOverrides; int numAvailableAeModes; /* FD information */ int32_t maxFaceCount; }; struct ExynosCamera2InfoS5K4E5 : public ExynosCamera2Info { public: ExynosCamera2InfoS5K4E5(); ~ExynosCamera2InfoS5K4E5(); }; struct ExynosCamera2InfoS5K6A3 : public ExynosCamera2Info { public: ExynosCamera2InfoS5K6A3(); ~ExynosCamera2InfoS5K6A3(); }; class ExynosCamera2 { public: ExynosCamera2(int cameraId); ~ExynosCamera2(); ExynosCamera2Info *m_curCameraInfo; int32_t getSensorW(); int32_t getSensorH(); int32_t getSensorRawW(); int32_t getSensorRawH(); bool isSupportedResolution(int width, int height); bool isSupportedJpegResolution(int width, int height); status_t constructStaticInfo(camera_metadata_t **info, int cameraId, bool sizeRequest); status_t constructDefaultRequest(int request_template, camera_metadata_t **request, bool sizeRequest); int m_cameraId; }; }