/******************************************************************************\
|* Copyright (c) 2020 by VeriSilicon Holdings Co., Ltd. ("VeriSilicon")       *|
|* All Rights Reserved.                                                       *|
|*                                                                            *|
|* The material in this file is confidential and contains trade secrets of    *|
|* of VeriSilicon.  This is proprietary information owned or licensed by      *|
|* VeriSilicon.  No part of this work may be disclosed, reproduced, copied,   *|
|* transmitted, or used in any way for any purpose, without the express       *|
|* written permission of VeriSilicon.                                         *|
|*                                                                            *|
\******************************************************************************/

#pragma once

#define KEY_ACCELERATION "acceleration"
#define KEY_ADAPTIVE "adaptive"
#define KEY_ADDRESS "address"
#define KEY_AFPS "afps"
#define KEY_ALGORITHM "algorithm"
#define KEY_AVAILABLE "available"
#define KEY_AUTO "auto"
#define KEY_AUTO_GAIN_CONTROL "auto.gain.control"
#define KEY_AUTO_EXPOSURE_CONTROL "auto.exposure.control"
#define KEY_AUTO_WHITE_BALANCE "auto.white.balance"

#define KEY_BAYER_PATTERN "bayer.pattern"
#define KEY_BIN "bin"
#define KEY_BLACK_LEVEL_CONTROL "black.level.control"
#define KEY_BLUE "blue"
#define KEY_BOUNDARY_U "boundary.u"
#define KEY_BOUNDARY_V "boundary.v"
#define KEY_BOUNDARY_Y "boundary.y"
#define KEY_BUS_WIDTH "bus.width"

#define KEY_CALIB_FILE "calib.file"
#define KEY_CAMERA_MATRIX "camera.matrix"
#define KEY_CAPS "caps"
#define KEY_CC_MATRIX "cc.matrix"
#define KEY_CC_OFFSET "cc.offset"
#define KEY_CLM_TOLERANCE "clm.tolerance"
#define KEY_COLUMNS "columns"
#define KEY_CONFIG "config"
#define KEY_CONNECTION "connection"
#define KEY_COUNT "count"
#define KEY_CURVE "curve"

#define KEY_DAMP_ACCELERATION "damp.acceleration"
#define KEY_DAMP_BASE_GAIN "damp.base.gain"
#define KEY_DAMP_FALL_OFF "damp.fall.off"
#define KEY_DAMP_NUMBER_OF_INTERPOLATION_POINTS                                \
  "damp.number.of.interpolation.points"
#define KEY_DAMP_THETA "damp.theta"
#define KEY_DAMPING "damping"
#define KEY_DAMPING_OVER "damping.over"
#define KEY_DAMPING_UNDER "damping.under"
#define KEY_DATE "date"
#define KEY_DEFAULT_VALUE "default.value"
#define KEY_DEFECT_PIXEL_CORRECTION "defect.pixel.correction"
#define KEY_DELTA_FACTOR "delta.factor"
#define KEY_DENOISE "denoise"
#define KEY_DENOISE_PREGAMA_STRENGTH "denoise.pregama.strength"
#define KEY_DENOISE_STRENGTH "denoise.strength"
#define KEY_DESCRIPTION "description"
#define KEY_DISPLACEMENT "displacement"
#define KEY_DISTORTION_COEFF "distortion.coeff"
#define KEY_DIV "div"
#define KEY_DIVISION_FACTOR "division.factor"
#define KEY_DRIVER_FILE "driver.file"
#define KEY_D_Y "d.y"

#define KEY_EC "ec"
#define KEY_EDGE_GAIN "edge.gain"
#define KEY_ENABLE "enable"
#define KEY_EXPOSURE_RATIO "exposure.ratio"
#define KEY_EXTENSION_BIT "extension.bit"

#define KEY_FALL_OFF "fall.off"
#define KEY_FILE_LIST "file.list"
#define KEY_FILE_NAME "file.name"
#define KEY_FLAGS "flags"
#define KEY_FLICKER_PERIOD "flicker.period"

#define KEY_GAIN "gain"
#define KEY_GAIN_BASE "gain.base"
#define KEY_GAIN_MAX "gain.max"
#define KEY_GENERATION "generation"
#define KEY_GRADIENT "gradient"
#define KEY_GREEN "green"
#define KEY_GREEN_B "green.b"
#define KEY_GREEN_R "green.r"

#define KEY_HDR_RATIO "hdr.ratio"
#define KEY_HEIGHT "height"
#define KEY_HIST "hist"

#define KEY_ID "id"
#define KEY_IMAGE "image"
#define KEY_IMAGE_HEIGHT "image.height"
#define KEY_IMAGE_WIDTH "image.width"
#define KEY_INDEX "index"
#define KEY_INPUT "input"
#define KEY_INPUT_TYPE "input.type"
#define KEY_INTEGRATION_TIME "integration.time"

#define KEY_LAYOUT "layout"
#define KEY_LOCK_TYPE "lock.type"
#define KEY_LUMA "luma"

#define KEY_MAP "map"
#define KEY_MAX "max"
#define KEY_METADATA "metadata"
#define KEY_MIN "min"
#define KEY_MIPI_MODE "mipi.mode"
#define KEY_MINIMUM_BOUND "minimum.bound"
#define KEY_MODE "mode"
#define KEY_MODE_CONFIG "mode.config"
#define KEY_MODULE_ID "module.id"
#define KEY_MOTION_FACTOR "motion.factor"

#define KEY_NAME "name"
#define KEY_NUM_ITP_POINTS "num.itp.points"
#define KEY_NUMBER "number"

#define KEY_OBJECT_REGION "object.region"
#define KEY_OFFSET "offset"
#define KEY_ONESHOT "oneshot"

#define KEY_PARAMS "params"
#define KEY_PATH "path"
#define KEY_PERSPECTIVE_MATRIX "perspective.matrix"
#define KEY_PIX_FMT_IN "pix.fmt.in"
#define KEY_PIX_FMT_OUT "pix.fmt.out"
#define KEY_PREVIEW "preview"
#define KEY_PREDEGAMMA "predegamma"
#define KEY_PROFILES "profiles"

#define KEY_RANGE "range"
#define KEY_RED "red"
#define KEY_REGISTERS "registers"
#define KEY_RESOLUTION "resolution"
#define KEY_RESOLUTION_LIST "resolution.list"
#define KEY_ROWS "rows"

#define KEY_SENSOR "sensor"
#define KEY_SET_POINT "set.point"
#define KEY_SHARPEN "sharpen"
#define KEY_SIGMA "sigma"
#define KEY_SIGMA_GREEN "sigma.green"
#define KEY_SIGMA_RED_BLUE "sigma.red.blue"
#define KEY_SIZE "size"
#define KEY_SNAPSHOT_TYPE "snapshot.type"
#define KEY_SPLIT "split"
#define KEY_STATE "state"
#define KEY_STATUS "status"
#define KEY_STEP "step"
#define KEY_STRENGTH "strength"
#define KEY_STRENGTH_GLOBAL "strength.global"

#define KEY_TABLE "table"
#define KEY_TC1 "tc1"
#define KEY_TC2 "tc2"
#define KEY_TEST_PATTERN "test.pattern"
#define KEY_THETA "theta"
#define KEY_THRESHOLD "threshold"
#define KEY_THRESHOLD_CHANNEL "threshold.tc"
#define KEY_TIME "time"
#define KEY_TOLERANCE "tolerance"
#define KEY_TYPE "type"

#define KEY_USE_PARAMS "use.params"
#define KEY_UV_GAIN "uv.gain"

#define KEY_V1 "v1"
#define KEY_V2 "v2"
#define KEY_V3 "v3"
#define KEY_VALUE "value"
#define KEY_VERSIONS "versions"

#define KEY_WB_GAINS "wb.gains"
#define KEY_WIDTH "width"

#define KEY_X "x"

#define KEY_Y "y"
#define KEY_Y_GAIN_DOWN "y.gain.down"
#define KEY_Y_GAIN_UP "y.gain.up"
#define KEY_Y_M "y.m"

#define KEY_CHRV "chrV"
#define KEY_CHRH "chrH"
