3716a3a51b64e39755f1a2c6d455ec012c94804e
[framework/osp/media.git] / src / FMedia_CameraUtil.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file                        FMedia_CameraUtil.h
20  * @brief                       This header file contains the declarations of the utility fuctions of camera.
21  *
22  */
23
24 #ifndef _FMEDIA_INTERNAL_CAMERA_UTIL_H_
25 #define _FMEDIA_INTERNAL_CAMERA_UTIL_H_
26
27 #include <camera.h>
28 #include <FGrpPixelFormat.h>
29 #include <FGrpDimension.h>
30 #include <FMediaTypes.h>
31 #include <FMediaCameraTypes.h>
32 #include <FGrp_BufferInfoImpl.h>
33 #include "FMedia_CameraTypes.h"
34
35 namespace Tizen { namespace Media
36 {
37 /**
38 * @class        _CameraUtil
39 * @brief        This class is utility for camera functionality.
40 *
41 */
42 class _CameraUtil
43         : public Tizen::Base::Object
44 {
45 public:
46
47         static void GetOspMediaPixelFormat(camera_pixel_format_e mmFormat, MediaPixelFormat& mediaFormat, double& sizeRatio);
48         static void GetOspMediaPixelFormat(Tizen::Graphics::PixelFormat grpFormat, MediaPixelFormat& mediaFormat, double& sizeRatio);
49         static result GetOspGrpPixelFormat(camera_pixel_format_e mmAttr, Tizen::Graphics::PixelFormat& value);
50         static result GetMmPixelFormat(Tizen::Graphics::PixelFormat value, camera_pixel_format_e& mmAttr);
51
52         static result GetOspCodecType(camera_pixel_format_e mmAttr, CodecType value);
53
54         static result GetMmFlip(CameraSelection selection, CameraFlipType value, camera_flip_e& mmAttr);
55         static result GetOspFlip(camera_flip_e mmAttr, CameraFlipType& value);
56
57         static result GetMmRotation(CameraRotation value, camera_rotation_e& mmAttr);
58         static result GetOspRotation(camera_rotation_e mmAttr, CameraRotation& value);
59
60         static result GetMmFps(int value, camera_attr_fps_e& mmAttr);
61         static result GetOspFps(camera_attr_fps_e mmAttr, int& value);
62
63         static result GetMmEffect(CameraEffect value, camera_attr_effect_mode_e& mmAttr);
64         static result GetOspEffect(camera_attr_effect_mode_e mmAttr, CameraEffect& vaue);
65
66         static result GetMmWhiteBalance(CameraWhiteBalance value, camera_attr_whitebalance_e& mmAttr);
67         static result GetOspWhiteBalance(camera_attr_whitebalance_e mmAttr, CameraWhiteBalance& value);
68
69         static result GetMmSceneMode(CameraSceneMode value, camera_attr_scene_mode_e& mmAttr);
70         static result GetOspSceneMode(camera_attr_scene_mode_e mmAttr, CameraSceneMode& value);
71
72         static result GetMmFocusMode(CameraFocusMode value, camera_attr_af_mode_e& mmAttr);
73         static result GetOspFocusMode(camera_attr_af_mode_e mmAttr, CameraFocusMode& value);
74         static result GetOspFocusMode(camera_attr_af_mode_e mmAttr, CameraFocusMode& value, bool& additionalMode, CameraFocusMode& additionalValue);
75
76         static result GetMmIso(CameraIsoLevel value, camera_attr_iso_e& mmAttr);
77         static result GetOspIso(camera_attr_iso_e mmAttr, CameraIsoLevel& value);
78
79         static result GetMmMeteringMode(CameraMeteringMode value, camera_attr_exposure_mode_e& mmAttr);
80         static result GetOspMeteringMode(camera_attr_exposure_mode_e mmAttr, CameraMeteringMode& value);
81
82         static result GetMmFlashMode(CameraFlashMode value, camera_attr_flash_mode_e& mmAttr);
83         static result GetOspFlashMode(camera_attr_flash_mode_e mmAttr, CameraFlashMode& value);
84
85         static result GetMmQuality(CameraQuality value, int& mmAttr);
86         static result GetOspQuality(int mmAttr, CameraQuality& value);
87
88         static result GetMmExifOrientation(CameraExifOrientation value, camera_attr_tag_orientation_e& mmAttr);
89         static result GetMmExifOrientation(CameraRotation value, camera_attr_tag_orientation_e& mmAttr);
90         static result GetOspExifOrientation(camera_attr_tag_orientation_e mmAttr, CameraExifOrientation& value);
91
92         static result GetDisplayRotation(CameraDirection physicalDirection, Tizen::Graphics::_BufferInfoImpl::Orientation orientation, CameraRotation& displayRotation);
93         static result GetDisplayRotation(CameraDirection physicalDirection, CameraRotation physicalRotation, Tizen::Graphics::_BufferInfoImpl::Orientation orientation, CameraRotation& displayRotation);
94
95         static _ResolutionType ConvertResolutionType(const Tizen::Graphics::Dimension &resolution);
96
97         static result ConvertColorScale(const Tizen::Base::ByteBuffer& srcBuf, Tizen::Base::ByteBuffer& dstBuf, const Tizen::Graphics::Dimension& dim);
98
99 private:
100         _CameraUtil(void);
101         ~_CameraUtil(void);
102
103         _CameraUtil(const _CameraUtil& rhs);
104         _CameraUtil& operator =(const _CameraUtil& rhs);
105 };
106
107 }}
108 #endif