xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/hwi/isp21/CamHwIsp21.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 
2 /*
3  *  Copyright (c) 2019 Rockchip Corporation
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 #ifndef _CAM_HW_ISP21_H_
20 #define _CAM_HW_ISP21_H_
21 
22 #include "isp20/CamHwIsp20.h"
23 #include "Isp21Params.h"
24 
25 namespace RkCam {
26 
27 class FakeCamHwIsp21;
28 
29 class CamHwIsp21
30     : virtual public CamHwIsp20
31     , virtual public Isp21Params {
32     friend class FakeCamHwIsp21;
33 public:
34     explicit CamHwIsp21();
35     virtual ~CamHwIsp21();
36     virtual XCamReturn init(const char* sns_ent_name);
37     virtual XCamReturn stop();
38     XCamReturn setIspParamsSync(uint32_t frameId);
39     XCamReturn setIsppParamsSync(uint32_t frameId);
40     virtual void updateEffParams(void* params, void* ori_params);
41     virtual bool processTb(void* params);
42 protected:
43     virtual XCamReturn dispatchResult(SmartPtr<cam3aResult> cam3a_result);
44     virtual XCamReturn dispatchResult(cam3aResultList& list);
45     virtual bool isOnlineByWorkingMode();
46 };
47 
48 }
49 
50 #endif
51