/*
|
* 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__*/
|