xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/uAPI/rk_aiq_user_api_alsc.cpp (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * Copyright (c) 2019-2022 Rockchip Eletronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #include "rk_aiq_user_api_alsc.h"
17 
18 #include "algo_handlers/RkAiqAlscHandle.h"
19 
20 RKAIQ_BEGIN_DECLARE
21 
22 #ifdef RK_SIMULATOR_HW
23 #define CHECK_USER_API_ENABLE
24 #endif
25 
26 XCamReturn
rk_aiq_user_api_alsc_SetAttrib(const rk_aiq_sys_ctx_t * sys_ctx,rk_aiq_lsc_attrib_t attr)27 rk_aiq_user_api_alsc_SetAttrib(const rk_aiq_sys_ctx_t* sys_ctx, rk_aiq_lsc_attrib_t attr)
28 {
29     CHECK_USER_API_ENABLE2(sys_ctx);
30     CHECK_USER_API_ENABLE(RK_AIQ_ALGO_TYPE_ALSC);
31     RKAIQ_API_SMART_LOCK(sys_ctx);
32     /*  RkAiqAlscHandleInt* algo_handle =
33           algoHandle<RkAiqAlscHandleInt>(sys_ctx, RK_AIQ_ALGO_TYPE_ALSC);
34 
35       if (algo_handle) {
36           return algo_handle->setAttrib(attr);
37       }*/
38 
39     return XCAM_RETURN_NO_ERROR;
40 }
41 
42 XCamReturn
rk_aiq_user_api_alsc_GetAttrib(const rk_aiq_sys_ctx_t * sys_ctx,rk_aiq_lsc_attrib_t * attr)43 rk_aiq_user_api_alsc_GetAttrib(const rk_aiq_sys_ctx_t* sys_ctx, rk_aiq_lsc_attrib_t *attr)
44 {
45     RKAIQ_API_SMART_LOCK(sys_ctx);
46     RkAiqAlscHandleInt* algo_handle =
47         algoHandle<RkAiqAlscHandleInt>(sys_ctx, RK_AIQ_ALGO_TYPE_ALSC);
48 
49     if (algo_handle) {
50         return algo_handle->getAttrib(attr);
51     }
52 
53     return XCAM_RETURN_NO_ERROR;
54 }
55 
56 XCamReturn
rk_aiq_user_api_alsc_QueryLscInfo(const rk_aiq_sys_ctx_t * sys_ctx,rk_aiq_lsc_querry_info_t * lsc_querry_info)57 rk_aiq_user_api_alsc_QueryLscInfo(const rk_aiq_sys_ctx_t* sys_ctx, rk_aiq_lsc_querry_info_t *lsc_querry_info)
58 {
59     RKAIQ_API_SMART_LOCK(sys_ctx);
60     RkAiqAlscHandleInt* algo_handle =
61         algoHandle<RkAiqAlscHandleInt>(sys_ctx, RK_AIQ_ALGO_TYPE_ALSC);
62 
63     if (algo_handle) {
64         return algo_handle->queryLscInfo(lsc_querry_info);
65     }
66 
67     return XCAM_RETURN_NO_ERROR;
68 }
69 
70 RKAIQ_END_DECLARE
71