/* * Copyright (c) 2019 Rockchip Corporation * * 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. * */ #ifndef _RK_AIQ_UAPI2_IMGPROC_H_ #define _RK_AIQ_UAPI2_IMGPROC_H_ #include "base/xcam_common.h" #include "rk_aiq_user_api_imgproc.h" #include "rk_aiq_user_api2_ae.h" #include "rk_aiq_user_api2_adegamma.h" #include "rk_aiq_user_api2_agamma.h" #include "rk_aiq_user_api2_alsc.h" #include "rk_aiq_user_api2_ablc.h" #include "rk_aiq_user_api2_adehaze.h" #include "rk_aiq_user_api2_atmo.h" #include "rk_aiq_user_api2_amerge.h" #include "rk_aiq_user_api2_adrc.h" #include "rk_aiq_user_api2_abayernr_v2.h" #include "rk_aiq_user_api2_acnr_v1.h" #include "rk_aiq_user_api2_aynr_v2.h" #include "rk_aiq_user_api2_asharp_v3.h" #include "rk_aiq_user_api2_anr.h" #include "rk_aiq_user_api2_af.h" #include "rk_aiq_user_api2_awb.h" #include "rk_aiq_user_api2_accm.h" #include "rk_aiq_user_api2_a3dlut.h" #include "rk_aiq_user_api2_adpcc.h" #include "rk_aiq_user_api2_acp.h" #include "rk_aiq_user_api2_adebayer.h" #include "rk_aiq_user_api2_a3dlut.h" #include "rk_aiq_user_api2_aldch.h" #include "rk_aiq_user_api2_afec.h" RKAIQ_BEGIN_DECLARE /* ********************************************************** * API of AEC module of V2 ********************************************************** */ /* ***************************** * * Desc: set ae mode * Argument: * mode contains: auto & manual * ***************************** */ XCamReturn rk_aiq_uapi2_setExpMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode); XCamReturn rk_aiq_uapi2_getExpMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode); /* ***************************** * * Desc: set exposure parameter * Argument: * auto exposure mode: * exposure gain will be adjust between [gain->min, gain->max] * manual exposure mode: * gain->min == gain->max * ***************************** */ XCamReturn rk_aiq_uapi2_setExpGainRange(const rk_aiq_sys_ctx_t* ctx, paRange_t *gain); XCamReturn rk_aiq_uapi2_getExpGainRange(const rk_aiq_sys_ctx_t* ctx, paRange_t *gain); /* ***************************** * * Desc: set exposure parameter * Argument: * auto exposure mode: * exposure time will be adjust between [time->min, time->max] * manual exposure mode: * exposure time will be set gain->min == gain->max; * ***************************** */ XCamReturn rk_aiq_uapi2_setExpTimeRange(const rk_aiq_sys_ctx_t* ctx, paRange_t *time); XCamReturn rk_aiq_uapi2_getExpTimeRange(const rk_aiq_sys_ctx_t* ctx, paRange_t *time); /* ***************************** * * Desc: blacklight compensation * Argument: * on: 1 on * 0 off * areaType: blacklight compensation area * ***************************** */ XCamReturn rk_aiq_uapi2_setBLCMode(const rk_aiq_sys_ctx_t* ctx, bool on, aeMeasAreaType_t areaType); /* ***************************** * * Desc: backlight compensation strength,only available in normal mode * Argument: * strength: [1,100] ***************************** */ XCamReturn rk_aiq_uapi2_setBLCStrength(const rk_aiq_sys_ctx_t* ctx, int strength); /* ***************************** * * Desc: highlight compensation * Argument: * on: 1 on * 0 off * ***************************** */ XCamReturn rk_aiq_uapi2_setHLCMode(const rk_aiq_sys_ctx_t* ctx, bool on); /* ***************************** * * Desc: highlight compensation strength,only available in normal mode * Argument: * strength: [1,100] ***************************** */ XCamReturn rk_aiq_uapi2_setHLCStrength(const rk_aiq_sys_ctx_t* ctx, int strength); /* ***************************** * * Desc: set anti-flicker mode * Argument: * mode * ***************************** */ XCamReturn rk_aiq_uapi2_setAntiFlickerEn(const rk_aiq_sys_ctx_t* ctx, bool on); XCamReturn rk_aiq_uapi2_getAntiFlickerEn(const rk_aiq_sys_ctx_t* ctx, bool* on); /* ***************************** * * Desc: set anti-flicker mode * Argument: * mode * ***************************** */ XCamReturn rk_aiq_uapi2_setAntiFlickerMode(const rk_aiq_sys_ctx_t* ctx, antiFlickerMode_t mode); XCamReturn rk_aiq_uapi2_getAntiFlickerMode(const rk_aiq_sys_ctx_t* ctx, antiFlickerMode_t *mode); /* ********************************************************** * White balance & Color ********************************************************** */ /* ***************************** * * Desc: set white balance mode * Argument: * mode: auto: auto white balance * manual: manual white balance ***************************** */ XCamReturn rk_aiq_uapi2_setWBMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode); XCamReturn rk_aiq_uapi2_getWBMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode); /* ***************************** * * Desc: lock/unlock auto white balance * Argument: * * ***************************** */ XCamReturn rk_aiq_uapi2_lockAWB(const rk_aiq_sys_ctx_t* ctx); XCamReturn rk_aiq_uapi2_unlockAWB(const rk_aiq_sys_ctx_t* ctx); /* ***************************** * * Desc: set manual white balance scene mode * Argument: * ct_scene: * ***************************** */ XCamReturn rk_aiq_uapi2_setMWBScene(const rk_aiq_sys_ctx_t* ctx, rk_aiq_wb_scene_t scene); XCamReturn rk_aiq_uapi2_getMWBScene(const rk_aiq_sys_ctx_t* ctx, rk_aiq_wb_scene_t *scene); /* ***************************** * * Desc: set manual white balance r/b gain * Argument: * ct_scene: * ***************************** */ XCamReturn rk_aiq_uapi2_setMWBGain(const rk_aiq_sys_ctx_t* ctx, rk_aiq_wb_gain_t *gain); XCamReturn rk_aiq_uapi2_getWBGain(const rk_aiq_sys_ctx_t* ctx, rk_aiq_wb_gain_t *gain); /* ***************************** * * Desc: set manual white balance color temperature * Argument: * ct: color temperature value [2800, 7500]K * ***************************** */ XCamReturn rk_aiq_uapi2_setMWBCT(const rk_aiq_sys_ctx_t* ctx, unsigned int ct); XCamReturn rk_aiq_uapi2_getWBCT(const rk_aiq_sys_ctx_t* ctx, unsigned int *ct); /* ***************************** * * Desc: set wbgain offset for auto white balance * Argument: * attr: wbgain offset [-4, 4] * ***************************** */ XCamReturn rk_aiq_uapi2_setAwbGainOffsetAttrib(const rk_aiq_sys_ctx_t* ctx, CalibDbV2_Awb_gain_offset_cfg_t attr); XCamReturn rk_aiq_uapi2_getAwbGainOffsetAttrib(const rk_aiq_sys_ctx_t* ctx, CalibDbV2_Awb_gain_offset_cfg_t *attr); /* ***************************** * * Desc: set hue adjustment para for auto white balance * Argument: * attr : hue adjustment para * ***************************** */ XCamReturn rk_aiq_uapi2_setAwbGainAdjustAttrib(const rk_aiq_sys_ctx_t* ctx, rk_aiq_uapiV2_wb_awb_wbGainAdjust_t attr); XCamReturn rk_aiq_uapi2_getAwbGainAdjustAttrib(const rk_aiq_sys_ctx_t* ctx, rk_aiq_uapiV2_wb_awb_wbGainAdjust_t *attr); /* ***************************** * * Desc: set multiwindow para for auto white balance; only for 1109 1126 * Argument: * attr : set multiwindow para * ***************************** */ XCamReturn rk_aiq_uapi2_setAwbMultiWindowAttrib(const rk_aiq_sys_ctx_t* sys_ctx, CalibDbV2_Awb_Mul_Win_t attr); XCamReturn rk_aiq_uapi2_getAwbMultiWindowAttrib(const rk_aiq_sys_ctx_t* sys_ctx, CalibDbV2_Awb_Mul_Win_t *attr); /* ***************************** * * Desc: set all api para for auto white balance ; only for 3566 3568 * Argument: * attr : all paras for awb api * ***************************** */ XCamReturn rk_aiq_uapi2_setAwbV21AllAttrib(const rk_aiq_sys_ctx_t* ctx, rk_aiq_uapiV2_wbV21_attrib_t attr); XCamReturn rk_aiq_uapi2_getAwbV21AllAttrib(const rk_aiq_sys_ctx_t* ctx, rk_aiq_uapiV2_wbV21_attrib_t *attr); /* ***************************** * * Desc: set all api para for auto white balance ; only for 1109 1126 * Argument: * attr : all paras for awb api * ***************************** */ XCamReturn rk_aiq_uapi2_setAwbV20AllAttrib(const rk_aiq_sys_ctx_t* ctx, rk_aiq_uapiV2_wbV20_attrib_t attr); XCamReturn rk_aiq_uapi2_getAwbV20AllAttrib(const rk_aiq_sys_ctx_t* ctx, rk_aiq_uapiV2_wbV20_attrib_t *attr); /* ***************************** * * Desc: set power line frequence * Argument: * freq * ***************************** */ XCamReturn rk_aiq_uapi2_setExpPwrLineFreqMode(const rk_aiq_sys_ctx_t* ctx, expPwrLineFreq_t freq); XCamReturn rk_aiq_uapi2_getExpPwrLineFreqMode(const rk_aiq_sys_ctx_t* ctx, expPwrLineFreq_t *freq); /* ***************************** * * Desc: Adjust image gamma ***************************** */ XCamReturn rk_aiq_uapi2_setGammaCoef(const rk_aiq_sys_ctx_t* ctx, rk_aiq_gamma_attrib_V2_t gammaAttr); /* ***************************** * * Desc: set/get dark area boost strength * this function is active for normal mode * Argument: * level: [1, 10] * ***************************** */ XCamReturn rk_aiq_uapi2_setDarkAreaBoostStrth(const rk_aiq_sys_ctx_t* ctx, unsigned int level); XCamReturn rk_aiq_uapi2_getDarkAreaBoostStrth(const rk_aiq_sys_ctx_t* ctx, unsigned int *level); /* ***************************** * * Desc: set hdr mode * Argument: * mode: * auto: auto hdr mode * manual??manual hdr mode * ***************************** */ XCamReturn rk_aiq_uapi2_setHDRMergeMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode); XCamReturn rk_aiq_uapi2_getHDRMergeMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode); XCamReturn rk_aiq_uapi2_setHDRTmoMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode); XCamReturn rk_aiq_uapi2_getHDRTmoMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode); /* ***************************** * * Desc: set manual hdr strength * this function is active for HDR is manual mode * Argument: * level: [1, 100] * ***************************** */ XCamReturn rk_aiq_uapi2_setMHDRStrth(const rk_aiq_sys_ctx_t* ctx, bool on, unsigned int level); XCamReturn rk_aiq_uapi2_getMHDRStrth(const rk_aiq_sys_ctx_t* ctx, bool *on, unsigned int *level) ; /* ***************************** * * Desc: set/get dark area boost strength * this function is active for normal mode * Argument: * level: [1, 10] * ***************************** */ XCamReturn rk_aiq_uapi2_setDarkAreaBoostStrth(const rk_aiq_sys_ctx_t* ctx, unsigned int level); XCamReturn rk_aiq_uapi2_getDarkAreaBoostStrth(const rk_aiq_sys_ctx_t* ctx, unsigned int *level); /* ***************************** * * Desc: set hdr mode * Argument: * mode: * auto: auto hdr mode * manual??manual hdr mode * ***************************** */ XCamReturn rk_aiq_uapi2_setHDRMergeMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode); XCamReturn rk_aiq_uapi2_getHDRMergeMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode); XCamReturn rk_aiq_uapi2_setHDRTmoMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode); XCamReturn rk_aiq_uapi2_getHDRTmoMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode); /* ***************************** * * Desc: set manual hdr strength * this function is active for HDR is manual mode * Argument: * level: [1, 100] * ***************************** */ XCamReturn rk_aiq_uapi2_setMHDRStrth(const rk_aiq_sys_ctx_t* ctx, bool on, unsigned int level); XCamReturn rk_aiq_uapi2_getMHDRStrth(const rk_aiq_sys_ctx_t* ctx, bool *on, unsigned int *level); /* * Desc: enable/disable dehaze * ***************************** */ XCamReturn rk_aiq_uapi2_enableDhz(const rk_aiq_sys_ctx_t* ctx); XCamReturn rk_aiq_uapi2_disableDhz(const rk_aiq_sys_ctx_t* ctx); /* ***************************** * * Desc: set manual drc Compress * this function is active for DRC is HiLit mode * ***************************** */ XCamReturn rk_aiq_uapi2_setDrcCompress(const rk_aiq_sys_ctx_t* ctx, mDrcCompress_t* pIn); XCamReturn rk_aiq_uapi2_getDrcCompress(const rk_aiq_sys_ctx_t* ctx, mDrcCompress_t *pOut); /* ***************************** * * Desc: set manual drc Local TMO * this function is active for DRC is DRC Gain mode * Argument: * LocalWeit: [0, 1] * GlobalContrast: [0, 1] * LoLitContrast: [0, 1] * ***************************** */ XCamReturn rk_aiq_uapi2_setDrcLocalTMO(const rk_aiq_sys_ctx_t* ctx, float LocalWeit, float GlobalContrast, float LoLitContrast); XCamReturn rk_aiq_uapi2_getDrcLocalTMO(const rk_aiq_sys_ctx_t* ctx, float* LocalWeit, float* GlobalContrast, float* LoLitContrast); /* ***************************** * * Desc: set manual drc HiLit * this function is active for DRC is HiLit mode * Argument: * Strength: [0, 1] * ***************************** */ XCamReturn rk_aiq_uapi2_setDrcHiLit(const rk_aiq_sys_ctx_t* ctx, float Strength); XCamReturn rk_aiq_uapi2_getDrcHiLit(const rk_aiq_sys_ctx_t* ctx, float* Strength); /* ***************************** * * Desc: set manual drc Gain * this function is active for DRC is DRC Gain mode * Argument: * Gain: [1, 8] * Alpha: [0, 1] * Clip: [0, 64] * ***************************** */ XCamReturn rk_aiq_uapi2_setDrcGain(const rk_aiq_sys_ctx_t* ctx, float Gain, float Alpha, float Clip); XCamReturn rk_aiq_uapi2_getDrcGain(const rk_aiq_sys_ctx_t* ctx, float* Gain, float* Alpha, float* Clip); /* ***************************** * * Desc: set drc fuction on/off * only valid in non-HDR mode * ***************************** */ XCamReturn rk_aiq_uapi2_enableDrc(const rk_aiq_sys_ctx_t* ctx); XCamReturn rk_aiq_uapi2_disableDrc(const rk_aiq_sys_ctx_t* ctx); /* ********************************************************** * Dehazer ********************************************************** */ /* ***************************** * * Desc: set/get dehaze mode * Argument: * mode: * auto: auto dehaze * manual:manual dehaze * ***************************** */ XCamReturn rk_aiq_uapi2_setDhzMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode); XCamReturn rk_aiq_uapi2_getDhzMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode); /* ***************************** * * Desc: set/get manual dehaze strength * this function is active for dehaze is manual mode * Argument: * level: [0, 10] * ***************************** */ XCamReturn rk_aiq_uapi2_setMDhzStrth(const rk_aiq_sys_ctx_t* ctx, unsigned int level); XCamReturn rk_aiq_uapi2_getMDhzStrth(const rk_aiq_sys_ctx_t* ctx, unsigned int* level); /* ********************************************************** * Noise reduction ********************************************************** */ /* ***************************** * * Desc: set noise reduction mode * Argument: * mode: * auto: auto noise reduction * manual:manual noise reduction * ***************************** */ XCamReturn rk_aiq_uapi2_setNRMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode); XCamReturn rk_aiq_uapi2_getNRMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode); /* ***************************** * * Desc: set normal noise reduction strength * Argument: * level: [0, 100] * Normal mode ***************************** */ XCamReturn rk_aiq_uapi2_setANRStrth(const rk_aiq_sys_ctx_t* ctx, unsigned int level); XCamReturn rk_aiq_uapi2_getANRStrth(const rk_aiq_sys_ctx_t* ctx, unsigned int *level); /* ***************************** * * Desc: set manual spatial noise reduction strength * this function is active for NR is manual mode * Argument: * level: [0, 100] * ***************************** */ XCamReturn rk_aiq_uapi2_setMSpaNRStrth(const rk_aiq_sys_ctx_t* ctx, bool on, unsigned int level); XCamReturn rk_aiq_uapi2_getMSpaNRStrth(const rk_aiq_sys_ctx_t* ctx, bool *on, unsigned int *level); /* ***************************** * * Desc: set manual time noise reduction strength * this function is active for NR is manual mode * Argument: * level: [0, 100] * ***************************** */ XCamReturn rk_aiq_uapi2_setMTNRStrth(const rk_aiq_sys_ctx_t* ctx, bool on, unsigned int level); XCamReturn rk_aiq_uapi2_getMTNRStrth(const rk_aiq_sys_ctx_t* ctx, bool *on, unsigned int *level); /* ********************************************************** * Focus & Zoom ********************************************************** */ /* ***************************** * * Desc: set focus mode * Argument: * mode: auto: auto focus * manual: manual focus * semi-auto: semi-auto focus ***************************** */ XCamReturn rk_aiq_uapi2_setFocusMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode); XCamReturn rk_aiq_uapi2_getFocusMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode); /* ***************************** * * Desc: set fix mode code * Argument: * ***************************** */ XCamReturn rk_aiq_uapi2_setFixedModeCode(const rk_aiq_sys_ctx_t* ctx, unsigned short code); XCamReturn rk_aiq_uapi2_getFixedModeCode(const rk_aiq_sys_ctx_t* ctx, unsigned short *code); /* ***************************** * * Desc: set focus window * Argument: * ***************************** */ XCamReturn rk_aiq_uapi2_setFocusWin(const rk_aiq_sys_ctx_t* ctx, paRect_t *rect); XCamReturn rk_aiq_uapi2_getFocusWin(const rk_aiq_sys_ctx_t* ctx, paRect_t *rect); /* ***************************** * * Desc: set/get focus meas config * Argument: * ***************************** */ XCamReturn rk_aiq_uapi2_setFocusMeasCfg(const rk_aiq_sys_ctx_t* ctx, rk_aiq_af_algo_meas_t* meascfg); XCamReturn rk_aiq_uapi2_getFocusMeasCfg(const rk_aiq_sys_ctx_t* ctx, rk_aiq_af_algo_meas_t* meascfg); /* ***************************** * * Desc: lock/unlock auto focus * Argument: * * ***************************** */ XCamReturn rk_aiq_uapi2_lockFocus(const rk_aiq_sys_ctx_t* ctx); XCamReturn rk_aiq_uapi2_unlockFocus(const rk_aiq_sys_ctx_t* ctx); /* ***************************** * * Desc: oneshot focus * Argument: * * ***************************** */ XCamReturn rk_aiq_uapi2_oneshotFocus(const rk_aiq_sys_ctx_t* ctx); /* ***************************** * * Desc: manual triger focus * Argument: * * ***************************** */ XCamReturn rk_aiq_uapi2_manualTrigerFocus(const rk_aiq_sys_ctx_t* ctx); /* ***************************** * * Desc: tracking focus * Argument: * * ***************************** */ XCamReturn rk_aiq_uapi2_trackingFocus(const rk_aiq_sys_ctx_t* ctx); /* ***************************** * * Desc: vcm config * Argument: * * ***************************** */ XCamReturn rk_aiq_uapi2_setVcmCfg(const rk_aiq_sys_ctx_t* ctx, rk_aiq_lens_vcmcfg* cfg); XCamReturn rk_aiq_uapi2_getVcmCfg(const rk_aiq_sys_ctx_t* ctx, rk_aiq_lens_vcmcfg* cfg); /* ***************************** * * Desc: af serach path record * Argument: * * ***************************** */ XCamReturn rk_aiq_uapi2_getSearchPath(const rk_aiq_sys_ctx_t* ctx, rk_aiq_af_sec_path_t* path); /* ***************************** * * Desc: af serach path record * Argument: * * ***************************** */ XCamReturn rk_aiq_uapi2_getSearchResult(const rk_aiq_sys_ctx_t* ctx, rk_aiq_af_result_t* result); /* ***************************** * * Desc: set/get zoom position * Argument: * * ***************************** */ XCamReturn rk_aiq_uapi2_setOpZoomPosition(const rk_aiq_sys_ctx_t* ctx, int pos); XCamReturn rk_aiq_uapi2_getOpZoomPosition(const rk_aiq_sys_ctx_t* ctx, int *pos); /* ***************************** * * Desc: get zoom range * Argument: * * ***************************** */ XCamReturn rk_aiq_uapi2_getZoomRange(const rk_aiq_sys_ctx_t* ctx, rk_aiq_af_zoomrange* range); /* ********************************************************** * Color Correction ********************************************************** */ /* ***************************** * * Desc: set/get color correction mode * Argument: * mode: * auto: auto color correction * manual: manual color correction * ***************************** */ XCamReturn rk_aiq_uapi2_setCCMMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode); XCamReturn rk_aiq_uapi2_getCCMMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode); /* ***************************** * * Desc: set/get manual color correction matrix * this function is active for color correction is manual mode * Argument: * mccm: * 3x3 matrix * 1x3 offset * ***************************** */ XCamReturn rk_aiq_uapi2_setMCcCoef(const rk_aiq_sys_ctx_t* ctx, rk_aiq_ccm_matrix_t *mccm); XCamReturn rk_aiq_uapi2_getMCcCoef(const rk_aiq_sys_ctx_t* ctx, rk_aiq_ccm_matrix_t *mccm); /* ***************************** * * Desc: set/get auto color correction saturation * this function is active for color correction is auto mode * Argument: * finalsat : range in [0, 100] * ***************************** */ XCamReturn rk_aiq_uapi2_getACcmSat(const rk_aiq_sys_ctx_t* ctx, float *finalsat); /* ***************************** * * Desc: get auto color correction used illu name * this function is active for color correction is auto mode * Argument: * illumination * ***************************** */ XCamReturn rk_aiq_uapi2_getACcmIlluName(const rk_aiq_sys_ctx_t* ctx, char *illumination); /* ***************************** * * Desc: get auto color correction used ccm name * this function is active for color correction is auto mode * Argument: * ccm_name[2] * ***************************** */ XCamReturn rk_aiq_uapi2_getACcmMatrixName(const rk_aiq_sys_ctx_t* ctx, char **ccm_name); /* ********************************************************** * 3-Dimensional Look Up Table ********************************************************** */ /* ***************************** * * Desc: set/get 3dlut mode * Argument: * mode: * auto: auto 3dlut * manual: manual 3dlut * ***************************** */ XCamReturn rk_aiq_uapi2_setLut3dMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode); XCamReturn rk_aiq_uapi2_getLut3dMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode); /* ***************************** * * Desc: set/get manual 3d Look-up-table * this function is active for 3dlut is manual mode * Argument: * mlut: * lut_r[729] * lut_g[729] * lut_b[729] * ***************************** */ XCamReturn rk_aiq_uapi2_setM3dLut(const rk_aiq_sys_ctx_t* ctx, rk_aiq_lut3d_table_t *mlut); XCamReturn rk_aiq_uapi2_getM3dLut(const rk_aiq_sys_ctx_t* ctx, rk_aiq_lut3d_table_t *mlut); /* ***************************** * * Desc: set/get auto 3d Look-up-table strength * this function is active for 3d Look-up-table is auto mode * Argument: * alpha : range in [0, 1] * ***************************** */ XCamReturn rk_aiq_uapi2_getA3dLutStrth(const rk_aiq_sys_ctx_t* ctx, float *alpha); /* ***************************** * * Desc: get auto 3d Look-up-table used lut name * this function is active for 3d Look-up-table is auto mode * Argument: * name * ***************************** */ XCamReturn rk_aiq_uapi2_getA3dLutName(const rk_aiq_sys_ctx_t* ctx, char *name); /* ***************************** * * Desc: * Argument: ***************************** */ XCamReturn rk_aiq_uapi2_setLdchEn(const rk_aiq_sys_ctx_t* ctx, bool en); /* ***************************** * * Desc: the adjustment range of distortion intensity is 0~255 * Argument: ***************************** */ XCamReturn rk_aiq_uapi2_setLdchCorrectLevel(const rk_aiq_sys_ctx_t* ctx, int correctLevel); /* ***************************** * * Desc: fec dynamic switch, valid only if aiq hasn't executed the 'prepare' action * Argument: ***************************** */ XCamReturn rk_aiq_uapi2_setFecEn(const rk_aiq_sys_ctx_t* ctx, bool en); /* ***************************** * * Desc: set corrective direction of FEC, valid only if aiq hasn't executed the 'prepare' action * Argument: ***************************** */ XCamReturn rk_aiq_uapi2_setFecCorrectDirection(const rk_aiq_sys_ctx_t* ctx, const fec_correct_direction_t direction); /* ***************************** * * Desc: The FEC module is still working in bypass state * Argument: ***************************** */ XCamReturn rk_aiq_uapi2_setFecBypass(const rk_aiq_sys_ctx_t* ctx, bool en); /* ***************************** * * Desc: the adjustment range of distortion intensity is 0~255 * Argument: ***************************** */ XCamReturn rk_aiq_uapi2_setFecCorrectLevel(const rk_aiq_sys_ctx_t* ctx, int correctLevel); /* ***************************** * * Desc: * Argument: ***************************** */ XCamReturn rk_aiq_uapi2_setFecCorrectMode(const rk_aiq_sys_ctx_t* ctx, const fec_correct_mode_t mode); RKAIQ_END_DECLARE #endif