/* * Copyright (c) 2021 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 __ADRC_UAPI_HEAD_H__ #define __ADRC_UAPI_HEAD_H__ #include "RkAiqCalibDbTypesV2.h" enum { ADRC_NORMAL = 0, ADRC_HDR = 1, ADRC_NIGHT = 2 }; typedef enum drc_OpMode_s { DRC_OPMODE_API_OFF = 0, // run IQ ahdr DRC_OPMODE_MANU = 1, // run api manual ahdr DRC_OPMODE_AUTO = 2, // for dark area luma inprove, no matter the scene is // night, normal, or hdr DRC_OPMODE_DRC_GAIN = 3, DRC_OPMODE_HILIT = 4, DRC_OPMODE_LOCAL_TMO = 5, DRC_OPMODE_COMPRESS = 6, } drc_OpMode_t; typedef struct mDrcGain_t { float DrcGain; float Alpha; float Clip; } mDrcGain_t; typedef struct mDrcHiLit_s { float Strength; } mDrcHiLit_t; typedef struct mDrcLocal_s { float LocalWeit; float GlobalContrast; float LoLitContrast; } mDrcLocal_t; typedef struct mDrcCompress_s { CompressMode_t Mode; uint16_t Manual_curve[ADRC_Y_NUM]; } mDrcCompress_t; typedef struct mdrcAttr_s { mDrcGain_t DrcGain; mDrcHiLit_t HiLit; mDrcLocal_t Local; mDrcCompress_t Compress; } mdrcAttr_t; typedef struct DrcInfo_s { // M4_NUMBER_DESC("EnvLv", "f32", M4_RANGE(0,1), "0", M4_DIGIT(6)) float EnvLv; } DrcInfo_t; typedef struct drcAttr_s { bool Enable; drc_OpMode_t opMode; mdrcAttr_t stManual; // M4_STRUCT_DESC("Info", "normal_ui_style") DrcInfo_t Info; } drcAttr_t; #endif /*__ADRC_UAPI_HEAD_H__*/