/*
|
* 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_UAPI_IMGPROC_H_
|
#define _RK_AIQ_UAPI_IMGPROC_H_
|
|
#include "base/xcam_common.h"
|
#include "rk_aiq_user_api_common.h"
|
#include "rk_aiq_user_api_sysctl.h"
|
#include "rk_aiq_user_api_awb.h"
|
#include "rk_aiq_user_api_ae.h"
|
#include "rk_aiq_user_api_af.h"
|
#include "rk_aiq_user_api_anr.h"
|
#include "rk_aiq_user_api_ahdr.h"
|
#include "rk_aiq_user_api_adehaze.h"
|
#include "rk_aiq_user_api_alsc.h"
|
#include "rk_aiq_user_api_accm.h"
|
#include "rk_aiq_user_api_a3dlut.h"
|
#include "rk_aiq_user_api_asharp.h"
|
#include "rk_aiq_user_api_agamma.h"
|
#include "rk_aiq_user_api_afec.h"
|
#include "rk_aiq_user_api_aldch.h"
|
#include "rk_aiq_user_api_acp.h"
|
#include "rk_aiq_user_api_abayernr_v2.h"
|
#include "rk_aiq_user_api_acnr_v1.h"
|
#include "rk_aiq_user_api_aynr_v2.h"
|
#include "rk_aiq_user_api_asharp_v3.h"
|
|
|
|
|
/*
|
*****************************
|
* Common
|
*****************************
|
*/
|
|
typedef enum dayNightScene_e {
|
DAYNIGHT_SCENE_DAY = 0,
|
DAYNIGHT_SCENE_NIGHT = 1,
|
DAYNIGHT_SCENE_INVAL,
|
} dayNightScene_t;
|
|
typedef struct paRange_s {
|
float max;
|
float min;
|
} paRange_t;
|
|
typedef enum awbRange_e {
|
AWB_RANGE_0 = 0,
|
AWB_RANGE_1 = 1,
|
AWB_RANGE_INVAL,
|
} awbRange_t;
|
|
typedef enum aeMode_e {
|
AE_AUTO = 0,
|
AE_IRIS_PRIOR = 1,
|
AE_SHUTTER_PRIOR = 2,
|
} aeMode_t;
|
|
|
/*
|
*****************
|
* (-1000, -1000) (1000, -1000)
|
* -------------------
|
* | |
|
* | |
|
* | (0,0) |
|
* | |
|
* | |
|
* -------------------
|
* (1000, 1000)
|
*****************
|
*/
|
typedef struct paRect_s {
|
int x;
|
int y;
|
unsigned int w;
|
unsigned int h;
|
} paRect_t;
|
|
typedef enum aeMeasAreaType_e {
|
AE_MEAS_AREA_AUTO = 0,
|
AE_MEAS_AREA_UP,
|
AE_MEAS_AREA_BOTTOM,
|
AE_MEAS_AREA_LEFT,
|
AE_MEAS_AREA_RIGHT,
|
AE_MEAS_AREA_CENTER,
|
} aeMeasAreaType_t;
|
|
typedef enum expPwrLineFreq_e {
|
EXP_PWR_LINE_FREQ_DIS = 0,
|
EXP_PWR_LINE_FREQ_50HZ = 1,
|
EXP_PWR_LINE_FREQ_60HZ = 2,
|
} expPwrLineFreq_t;
|
|
typedef enum antiFlickerMode_e {
|
ANTIFLICKER_NORMAL_MODE = 0,
|
ANTIFLICKER_AUTO_MODE = 1,
|
} antiFlickerMode_t;
|
|
typedef struct frameRateInfo_s {
|
opMode_t mode;
|
unsigned int fps; /* valid when manual mode*/
|
} frameRateInfo_t;
|
|
RKAIQ_BEGIN_DECLARE
|
|
/*
|
**********************************************************
|
* API of AEC module of V1
|
**********************************************************
|
*/
|
|
/*
|
*****************************
|
*
|
* Desc: set exposure control mode
|
* Argument:
|
* mode: auto: auto exposure
|
* manual: manual exposure
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setExpMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode);
|
XCamReturn rk_aiq_uapi_getExpMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode);
|
|
/*
|
*****************************
|
*
|
* Desc: set manual exposure
|
* Argument:
|
* gain:
|
* time:
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setManualExp(const rk_aiq_sys_ctx_t* ctx, float gain, float time);
|
/*
|
*****************************
|
*
|
* 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_uapi_setExpGainRange(const rk_aiq_sys_ctx_t* ctx, paRange_t *gain);
|
XCamReturn rk_aiq_uapi_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_uapi_setExpTimeRange(const rk_aiq_sys_ctx_t* ctx, paRange_t *time);
|
XCamReturn rk_aiq_uapi_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_uapi_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_uapi_setBLCStrength(const rk_aiq_sys_ctx_t* ctx, int strength);
|
|
/*
|
*****************************
|
*
|
* Desc: highlight compensation
|
* Argument:
|
* on: 1 on
|
* 0 off
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_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_uapi_setHLCStrength(const rk_aiq_sys_ctx_t* ctx, int strength);
|
|
/*
|
*****************************
|
*
|
* Desc: set anti-flicker mode
|
* Argument:
|
* mode
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setAntiFlickerMode(const rk_aiq_sys_ctx_t* ctx, antiFlickerMode_t mode);
|
XCamReturn rk_aiq_uapi_getAntiFlickerMode(const rk_aiq_sys_ctx_t* ctx, antiFlickerMode_t *mode);
|
|
/*
|
*****************************
|
*
|
* Desc: set power line frequence
|
* Argument:
|
* freq
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setExpPwrLineFreqMode(const rk_aiq_sys_ctx_t* ctx, expPwrLineFreq_t freq);
|
XCamReturn rk_aiq_uapi_getExpPwrLineFreqMode(const rk_aiq_sys_ctx_t* ctx, expPwrLineFreq_t *freq);
|
|
/*
|
**********************************************************
|
* White balance & Color
|
**********************************************************
|
*/
|
|
/*
|
*****************************
|
*
|
* Desc: set white balance mode
|
* Argument:
|
* mode: auto: auto white balance
|
* manual: manual white balance
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setWBMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode);
|
XCamReturn rk_aiq_uapi_getWBMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode);
|
|
|
/*
|
*****************************
|
*
|
* Desc: lock/unlock auto white balance
|
* Argument:
|
*
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_lockAWB(const rk_aiq_sys_ctx_t* ctx);
|
XCamReturn rk_aiq_uapi_unlockAWB(const rk_aiq_sys_ctx_t* ctx);
|
|
/*
|
*****************************
|
*
|
* Desc: set manual white balance scene mode
|
* Argument:
|
* ct_scene:
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setMWBScene(const rk_aiq_sys_ctx_t* ctx, rk_aiq_wb_scene_t scene);
|
XCamReturn rk_aiq_uapi_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_uapi_setMWBGain(const rk_aiq_sys_ctx_t* ctx, rk_aiq_wb_gain_t *gain);
|
XCamReturn rk_aiq_uapi_getMWBGain(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_uapi_setMWBCT(const rk_aiq_sys_ctx_t* ctx, unsigned int ct);
|
XCamReturn rk_aiq_uapi_getMWBCT(const rk_aiq_sys_ctx_t* ctx, unsigned int *ct);
|
|
|
/*
|
*****************************
|
*
|
* Desc: set color supperssion level
|
* Argument:
|
* level: [0, 100]
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setCrSuppsn(const rk_aiq_sys_ctx_t* ctx, unsigned int level);
|
XCamReturn rk_aiq_uapi_getCrSuppsn(const rk_aiq_sys_ctx_t* ctx, 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_uapi_setFocusMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode);
|
XCamReturn rk_aiq_uapi_getFocusMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode);
|
|
/*
|
*****************************
|
*
|
* Desc: set focus window
|
* Argument:
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setFocusWin(const rk_aiq_sys_ctx_t* ctx, paRect_t *rect);
|
XCamReturn rk_aiq_uapi_getFocusWin(const rk_aiq_sys_ctx_t* ctx, paRect_t *rect);
|
|
/*
|
*****************************
|
*
|
* Desc: set focus meas config
|
* Argument:
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setFocusMeasCfg(const rk_aiq_sys_ctx_t* ctx, rk_aiq_af_algo_meas_t* meascfg);
|
XCamReturn rk_aiq_uapi_getFocusMeasCfg(const rk_aiq_sys_ctx_t* ctx, rk_aiq_af_algo_meas_t* meascfg);
|
|
/*
|
*****************************
|
*
|
* Desc: set fix mode code
|
* Argument:
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setFixedModeCode(const rk_aiq_sys_ctx_t* ctx, unsigned short code);
|
XCamReturn rk_aiq_uapi_getFixedModeCode(const rk_aiq_sys_ctx_t* ctx, unsigned short *code);
|
|
/*
|
*****************************
|
*
|
* Desc: lock/unlock auto focus
|
* Argument:
|
*
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_lockFocus(const rk_aiq_sys_ctx_t* ctx);
|
XCamReturn rk_aiq_uapi_unlockFocus(const rk_aiq_sys_ctx_t* ctx);
|
|
/*
|
*****************************
|
*
|
* Desc: oneshot focus
|
* Argument:
|
*
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_oneshotFocus(const rk_aiq_sys_ctx_t* ctx);
|
XCamReturn rk_aiq_uapi_trackingFocus(const rk_aiq_sys_ctx_t* ctx);
|
|
/*
|
*****************************
|
*
|
* Desc: ManualTriger focus
|
* Argument:
|
*
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_manualTrigerFocus(const rk_aiq_sys_ctx_t* ctx);
|
|
/*
|
*****************************
|
*
|
* Desc: vcm config
|
* Argument:
|
*
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setVcmCfg(const rk_aiq_sys_ctx_t* ctx, rk_aiq_lens_vcmcfg* cfg);
|
XCamReturn rk_aiq_uapi_getVcmCfg(const rk_aiq_sys_ctx_t* ctx, rk_aiq_lens_vcmcfg* cfg);
|
|
/*
|
*****************************
|
*
|
* Desc: af serach path record
|
* Argument:
|
*
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_getSearchPath(const rk_aiq_sys_ctx_t* ctx, rk_aiq_af_sec_path_t* path);
|
|
/*
|
*****************************
|
*
|
* Desc: af serach path record
|
* Argument:
|
*
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_getSearchResult(const rk_aiq_sys_ctx_t* ctx, rk_aiq_af_result_t* result);
|
|
/*
|
*****************************
|
*
|
* Desc: Focus Correstion
|
* Argument:
|
*
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_FocusCorrestion(const rk_aiq_sys_ctx_t* ctx);
|
|
/*
|
*****************************
|
*
|
* Desc: Zoom
|
* Argument:
|
*
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_getZoomRange(const rk_aiq_sys_ctx_t* ctx, rk_aiq_af_zoomrange* range);
|
XCamReturn rk_aiq_uapi_setOpZoomPosition(const rk_aiq_sys_ctx_t* ctx, int pos);
|
XCamReturn rk_aiq_uapi_getOpZoomPosition(const rk_aiq_sys_ctx_t* ctx, int *pos);
|
XCamReturn rk_aiq_uapi_setZoomZeroPos(const rk_aiq_sys_ctx_t* ctx, int zero_pos);
|
|
/*
|
*****************************
|
*
|
* Desc: Zoom Correstion
|
* Argument:
|
*
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_ZoomCorrestion(const rk_aiq_sys_ctx_t* ctx);
|
|
/*
|
**********************************************************
|
* HDR
|
**********************************************************
|
*/
|
/*
|
*****************************
|
*
|
* Desc: set hdr mode
|
* Argument:
|
* mode:
|
* auto: auto hdr mode
|
* manual:manual hdr mode
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setHDRMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode);
|
XCamReturn rk_aiq_uapi_getHDRMode(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: [0, 100]
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setMHDRStrth(const rk_aiq_sys_ctx_t* ctx, bool on, unsigned int level);
|
XCamReturn rk_aiq_uapi_getMHDRStrth(const rk_aiq_sys_ctx_t* ctx, bool *on, unsigned int *level);
|
|
/*
|
**********************************************************
|
* Noise reduction
|
**********************************************************
|
*/
|
/*
|
*****************************
|
*
|
* Desc: set/get noise reduction mode
|
* Argument:
|
* mode:
|
* auto: auto noise reduction
|
* manual:manual noise reduction
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setNRMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode);
|
XCamReturn rk_aiq_uapi_getNRMode(const rk_aiq_sys_ctx_t* ctx, opMode_t *mode);
|
|
/*
|
*****************************
|
*
|
* Desc: set/get normal noise reduction strength
|
* Argument:
|
* level: [0, 100]
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setANRStrth(const rk_aiq_sys_ctx_t* ctx, unsigned int level);
|
XCamReturn rk_aiq_uapi_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_uapi_setMSpaNRStrth(const rk_aiq_sys_ctx_t* ctx, bool on, unsigned int level);
|
XCamReturn rk_aiq_uapi_getMSpaNRStrth(const rk_aiq_sys_ctx_t* ctx, bool *on, unsigned int *level);
|
|
/*
|
*****************************
|
*
|
* Desc: set/get manual time noise reduction strength
|
* this function is active for NR is manual mode
|
* Argument:
|
* level: [0, 100]
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setMTNRStrth(const rk_aiq_sys_ctx_t* ctx, bool on, unsigned int level);
|
XCamReturn rk_aiq_uapi_getMTNRStrth(const rk_aiq_sys_ctx_t* ctx, bool *on, unsigned int *level);
|
|
/*
|
**********************************************************
|
* Dehaze
|
**********************************************************
|
*/
|
/*
|
*****************************
|
*
|
* Desc: set/get dehaze mode
|
* Argument:
|
* mode:
|
* auto: auto dehaze, when use auto, equal use rk_aiq_uapi_enableDhz
|
* manual: Manual dehaze, when needs to use manual, please use rk_aiq_uapi_setMDhzStrth
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setDhzMode(const rk_aiq_sys_ctx_t* ctx, opMode_t mode);
|
XCamReturn rk_aiq_uapi_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]
|
* Do not need to use rk_aiq_uapi_enableDhz and rk_aiq_uapi_setDhzMode before use this
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setMDhzStrth(const rk_aiq_sys_ctx_t* ctx, bool on, unsigned int level);
|
XCamReturn rk_aiq_uapi_getMDhzStrth(const rk_aiq_sys_ctx_t* ctx, bool* on, unsigned int* level);
|
|
/*
|
*****************************
|
*
|
* Desc: enable dehaze
|
* Argument:
|
* When dehaze enable, dehaze on and para use use IQ xml
|
* When dehaze disable, dehaze off and enhance para use use IQ xml
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_enableDhz(const rk_aiq_sys_ctx_t* ctx);
|
XCamReturn rk_aiq_uapi_disableDhz(const rk_aiq_sys_ctx_t* ctx);
|
|
/*
|
*****************************
|
*
|
* Desc: set/get dark area boost strength
|
* this function is active for normal mode
|
* Argument:
|
* level: [1, 10]
|
*
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setDarkAreaBoostStrth(const rk_aiq_sys_ctx_t* ctx, unsigned int level);
|
XCamReturn rk_aiq_uapi_getDarkAreaBoostStrth(const rk_aiq_sys_ctx_t* ctx, unsigned int *level);
|
|
/*
|
**********************************************************
|
* Image adjust
|
**********************************************************
|
*/
|
|
/*
|
*****************************
|
*
|
* Desc: Adjust image contrast level
|
* Argument:
|
* level: contrast level, [0, 255]
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setContrast(const rk_aiq_sys_ctx_t* ctx, unsigned int level);
|
XCamReturn rk_aiq_uapi_getContrast(const rk_aiq_sys_ctx_t* ctx, unsigned int *level);
|
|
/*
|
*****************************
|
*
|
* Desc: Adjust image brightness level
|
* Argument:
|
* level: brightness level, [0, 255]
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setBrightness(const rk_aiq_sys_ctx_t* ctx, unsigned int level);
|
XCamReturn rk_aiq_uapi_getBrightness(const rk_aiq_sys_ctx_t* ctx, unsigned int *level);
|
/*
|
*****************************
|
*
|
* Desc: Adjust image saturation level
|
* Argument:
|
* level: saturation level, [0, 255]
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setSaturation(const rk_aiq_sys_ctx_t* ctx, unsigned int level);
|
XCamReturn rk_aiq_uapi_getSaturation(const rk_aiq_sys_ctx_t* ctx, unsigned int* level);
|
/*
|
*****************************
|
*
|
* Desc: Adjust image hue level
|
* Argument:
|
* level: hue level, [0, 255]
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setHue(const rk_aiq_sys_ctx_t* ctx, unsigned int level);
|
XCamReturn rk_aiq_uapi_getHue(const rk_aiq_sys_ctx_t* ctx, unsigned int *level);
|
/*
|
*****************************
|
*
|
* Desc: Adjust image sharpness level
|
* Argument:
|
* level: sharpness level, [0, 100]
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setSharpness(const rk_aiq_sys_ctx_t* ctx, unsigned int level);
|
XCamReturn rk_aiq_uapi_getSharpness(const rk_aiq_sys_ctx_t* ctx, unsigned int *level);
|
|
/*
|
*****************************
|
*
|
* Desc: Adjust image gamma
|
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setGammaCoef(const rk_aiq_sys_ctx_t* ctx, rk_aiq_gamma_attrib_t gammaAttr);
|
|
/*
|
*****************************
|
*
|
* Desc: set gray mode
|
* Argument:
|
* mode : RK_AIQ_GRAY_MODE_CPSL
|
* RK_AIQ_GRAY_MODE_OFF
|
* RK_AIQ_GRAY_MODE_ON
|
* related: rk_aiq_uapi_sysctl_setCpsLtCfg
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setGrayMode(const rk_aiq_sys_ctx_t* ctx, rk_aiq_gray_mode_t mode);
|
rk_aiq_gray_mode_t rk_aiq_uapi_getGrayMode(const rk_aiq_sys_ctx_t* ctx);
|
|
/*
|
*****************************
|
*
|
* Desc: set frame rate
|
* Argument:
|
* frameRateInfo_t :
|
* auto mode: vary fps
|
* manual mode: fixed fps
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setFrameRate(const rk_aiq_sys_ctx_t* ctx, frameRateInfo_t info);
|
XCamReturn rk_aiq_uapi_getFrameRate(const rk_aiq_sys_ctx_t* ctx, frameRateInfo_t *info);
|
|
/*
|
*****************************
|
*
|
* Desc: set mirro & flip
|
* Argument:
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setMirroFlip(const rk_aiq_sys_ctx_t* ctx,
|
bool mirror,
|
bool flip,
|
int skip_frm_cnt);
|
|
/*
|
*****************************
|
*
|
* Desc: get mirro & flip
|
* Argument:
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_getMirrorFlip(const rk_aiq_sys_ctx_t* ctx, bool* mirror, bool* flip);
|
|
/*
|
*****************************
|
*
|
* Desc: fec dynamic switch, valid only if aiq hasn't executed the 'prepare' action
|
* Argument:
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_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_uapi_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_uapi_setFecBypass(const rk_aiq_sys_ctx_t* ctx, bool en);
|
|
/*
|
*****************************
|
*
|
* Desc: the adjustment range of distortion intensity is 0~255
|
* Argument:
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setFecCorrectLevel(const rk_aiq_sys_ctx_t* ctx, int correctLevel);
|
|
/*
|
*****************************
|
*
|
* Desc:
|
* Argument:
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setFecCorrectMode(const rk_aiq_sys_ctx_t* ctx,
|
const fec_correct_mode_t mode);
|
|
/*
|
*****************************
|
*
|
* Desc:
|
* Argument:
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setLdchEn(const rk_aiq_sys_ctx_t* ctx, bool en);
|
/*
|
*****************************
|
*
|
* Desc: the adjustment range of distortion intensity is 0~255
|
* Argument:
|
*****************************
|
*/
|
XCamReturn rk_aiq_uapi_setLdchCorrectLevel(const rk_aiq_sys_ctx_t* ctx, int correctLevel);
|
|
RKAIQ_END_DECLARE
|
|
#endif
|