blob: 7c6dab8a0f7bb161ee3fce43d79a0e6a5dfaa561 [file] [log] [blame]
Wind Yuan75564b12015-01-15 06:51:15 -05001/*
2 * isp_controller.h - isp controller
3 *
4 * Copyright (c) 2014-2015 Intel Corporation
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 * Author: Wind Yuan <feng.yuan@intel.com>
19 */
20#ifndef XCAM_ISP_CONTROLLER_H
21#define XCAM_ISP_CONTROLLER_H
22
Wind Yuan8810a792015-01-22 15:20:23 +080023#include "xcam_utils.h"
Wind Yuan75564b12015-01-15 06:51:15 -050024#include "x3a_isp_config.h"
25
26namespace XCam {
27
28class V4l2Device;
29class X3aIspStatistics;
30class X3aIspConfig;
31
32class IspController {
33public:
34 explicit IspController (SmartPtr<V4l2Device> & device);
35 ~IspController ();
36
37 XCamReturn get_sensor_mode_data (struct atomisp_sensor_mode_data &sensor_mode_data);
38 XCamReturn get_isp_parameter (struct atomisp_parm &parameters);
39
40 XCamReturn get_3a_statistics (SmartPtr<X3aIspStatistics> &stats);
41 XCamReturn set_3a_config (X3aIspConfig *config);
42 XCamReturn set_3a_exposure (X3aIspExposureResult *res);
43 XCamReturn set_3a_exposure (const struct atomisp_exposure &exposure);
44 XCamReturn set_3a_focus (const XCam3aResultFocus &focus);
45
46private:
47
48 XCAM_DEAD_COPY (IspController);
49
50private:
51 SmartPtr<V4l2Device> _device;
52};
53
54};
55
56#endif //XCAM_ISP_CONTROLLER_H