// SPDX-License-Identifier: MediaTekProprietary
#ifndef _CAM_IDX_STRUCT_EXT_PUB_H_
#define _CAM_IDX_STRUCT_EXT_PUB_H_

#include <string>

namespace NSIspTuning{
#include "cam_idx_struct_legacy_pub.h" 
#include "cam_idx_struct_module_pub.h" 
#include "cam_idx_struct_dim_pub.h"

typedef enum
{
    EAction_Preview = 0,
    EAction_Video = 1,
    EAction_Capture = 2,
    EAction_NUM = 3
} EAction_T;

static const std::string Action_str[] =
{
    "Preview",
    "Video",
    "Capture",
};

typedef enum
{
    EApp_MTKCam = 0,
    EApp_Facebook = 1,
    EApp_Line = 2,
    EApp_QQ = 3,
    EApp_Wechat = 4,
    EApp_Skype = 5,
    EApp_Normal = 6,
    EApp_Professional = 7,
    EApp_FaceBeauty = 8,
    EApp_HDR = 9,
    EApp_Panorama = 10,
    EApp_Video = 11,
    EApp_3rd_party = 12,
    EApp_END2ENDHDR = 13,
    EApp_MOCK_MODE = 14,
    EApp_NUM = 15
} EApp_T;

static const std::string App_str[] =
{
    "MTKCam",
    "Facebook",
    "Line",
    "QQ",
    "Wechat",
    "Skype",
    "Normal",
    "Professional",
    "FaceBeauty",
    "HDR",
    "Panorama",
    "Video",
    "3rd_party",
    "END2ENDHDR",
    "MOCK_MODE",
};

typedef enum
{
    EAppSize_SIZE_4K = 0,
    EAppSize_SIZE_WQHD = 1,
    EAppSize_SIZE_FHD = 2,
    EAppSize_SIZE_HD = 3,
    EAppSize_SIZE_8K = 4,
    EAppSize_NUM = 5
} EAppSize_T;

static const std::string AppSize_str[] =
{
    "SIZE_4K",
    "SIZE_WQHD",
    "SIZE_FHD",
    "SIZE_HD",
    "SIZE_8K",
};

typedef enum
{
    ECameraModule_CameraModule_00 = 0,
    ECameraModule_NUM = 1
} ECameraModule_T;

static const std::string CameraModule_str[] =
{
    "CameraModule_00",
};

typedef enum
{
    ECustom_Custom_00 = 0,
    ECustom_NUM = 1
} ECustom_T;

static const std::string Custom_str[] =
{
    "Custom_00",
};

typedef enum
{
    ECustomFeature_OFF = 0,
    ECustomFeature_Capture_fullportait_hdr = 1,
    ECustomFeature_Capture_main_hdr = 2,
    ECustomFeature_Capture_main_raw_hdr = 3,
    ECustomFeature_Capture_z_hdr = 4,
    ECustomFeature_Capture_ainr_downsample = 5,
    ECustomFeature_Capture_ainr_lls = 6,
    ECustomFeature_Streaming_panarana = 7,
    ECustomFeature_Streaming_vdieo_record = 8,
    ECustomFeature_Streaming_vainr_1 = 9,
    ECustomFeature_Streaming_vainr_2 = 10,
    ECustomFeature_Streaming_moist_section = 11,
    ECustomFeature_Streaming_moon_cat = 12,
    ECustomFeature_Streaming_need_ion = 13,
    ECustomFeature_NUM = 14
} ECustomFeature_T;

static const std::string CustomFeature_str[] =
{
    "OFF",
    "Capture_fullportait_hdr",
    "Capture_main_hdr",
    "Capture_main_raw_hdr",
    "Capture_z_hdr",
    "Capture_ainr_downsample",
    "Capture_ainr_lls",
    "Streaming_panarana",
    "Streaming_vdieo_record",
    "Streaming_vainr_1",
    "Streaming_vainr_2",
    "Streaming_moist_section",
    "Streaming_moon_cat",
    "Streaming_need_ion",
};

typedef enum
{
    EFPS_FPS_30 = 0,
    EFPS_FPS_60 = 1,
    EFPS_FPS_90 = 2,
    EFPS_FPS_120 = 3,
    EFPS_FPS_240 = 4,
    EFPS_FPS_480 = 5,
    EFPS_FPS_720 = 6,
    EFPS_FPS_24 = 7,
    EFPS_NUM = 8
} EFPS_T;

static const std::string FPS_str[] =
{
    "FPS_30",
    "FPS_60",
    "FPS_90",
    "FPS_120",
    "FPS_240",
    "FPS_480",
    "FPS_720",
    "FPS_24",
};

typedef enum
{
    EFeature_Preview = 0,
    EFeature_Preview_eis = 1,
    EFeature_Preview_vhdr = 2,
    EFeature_Preview_e2ehdr = 3,
    EFeature_Preview_eis_vhdr = 4,
    EFeature_Preview_vhdr_e2ehdr = 5,
    EFeature_Preview_eis_vhdr_e2ehdr = 6,
    EFeature_Preview_vsdof_bayerbayer = 7,
    EFeature_Preview_vsdof_bayermono = 8,
    EFeature_Preview_vsdof_eis_bayerbayer = 9,
    EFeature_Preview_vsdof_eis_bayermono = 10,
    EFeature_Video = 11,
    EFeature_Video_eis = 12,
    EFeature_Video_vhdr = 13,
    EFeature_Video_e2ehdr = 14,
    EFeature_Video_eis_vhdr = 15,
    EFeature_Video_vhdr_e2ehdr = 16,
    EFeature_Video_eis_vhdr_e2ehdr = 17,
    EFeature_Video_vsdof_bayerbayer = 18,
    EFeature_Video_vsdof_bayermono = 19,
    EFeature_Video_vsdof_eis_bayerbayer = 20,
    EFeature_Video_vsdof_eis_bayermono = 21,
    EFeature_Capture_default = 22,
    EFeature_Capture_simple = 23,
    EFeature_Capture_cshot = 24,
    EFeature_Capture_cshot_lpnr = 25,
    EFeature_Capture_single_nr = 26,
    EFeature_Capture_remosaic = 27,
    EFeature_Capture_lpnr = 28,
    EFeature_Capture_mfnr = 29,
    EFeature_Capture_remosaic_mfnr = 30,
    EFeature_Capture_ainr = 31,
    EFeature_Capture_ainr_single_nr = 32,
    EFeature_Capture_aihdr = 33,
    EFeature_Capture_aihdr_single_nr = 34,
    EFeature_Capture_yuv_reprocessing_default = 35,
    EFeature_Capture_yuv_reprocessing_with_single_nr = 36,
    EFeature_Capture_yuv_encode_jpeg_default = 37,
    EFeature_Capture_yuv_encode_jpeg_with_single_nr = 38,
    EFeature_Capture_remosaic_single_nr = 39,
    EFeature_Capture_mfnr_single_nr = 40,
    EFeature_Capture_remosaic_mfnr_single_nr = 41,
    EFeature_Capture_ainr14b_lpnr = 42,
    EFeature_Capture_ainr16b_lpnr = 43,
    EFeature_Capture_aihdr16b_lpnr = 44,
    EFeature_NDD_default = 45,
    EFeature_Capture_aishutter1 = 46,
    EFeature_Capture_aishutter2 = 47,
    EFeature_Video_ainr_vhdr = 48,
    EFeature_Video_ainr = 49,
    EFeature_Video_ainr_vhdr_freerun = 50,
    EFeature_Video_ainr_freerun = 51,
    EFeature_AOV = 52,
    EFeature_NUM = 53
} EFeature_T;

static const std::string Feature_str[] =
{
    "Preview",
    "Preview_eis",
    "Preview_vhdr",
    "Preview_e2ehdr",
    "Preview_eis_vhdr",
    "Preview_vhdr_e2ehdr",
    "Preview_eis_vhdr_e2ehdr",
    "Preview_vsdof_bayerbayer",
    "Preview_vsdof_bayermono",
    "Preview_vsdof_eis_bayerbayer",
    "Preview_vsdof_eis_bayermono",
    "Video",
    "Video_eis",
    "Video_vhdr",
    "Video_e2ehdr",
    "Video_eis_vhdr",
    "Video_vhdr_e2ehdr",
    "Video_eis_vhdr_e2ehdr",
    "Video_vsdof_bayerbayer",
    "Video_vsdof_bayermono",
    "Video_vsdof_eis_bayerbayer",
    "Video_vsdof_eis_bayermono",
    "Capture_default",
    "Capture_simple",
    "Capture_cshot",
    "Capture_cshot_lpnr",
    "Capture_single_nr",
    "Capture_remosaic",
    "Capture_lpnr",
    "Capture_mfnr",
    "Capture_remosaic_mfnr",
    "Capture_ainr",
    "Capture_ainr_single_nr",
    "Capture_aihdr",
    "Capture_aihdr_single_nr",
    "Capture_yuv_reprocessing_default",
    "Capture_yuv_reprocessing_with_single_nr",
    "Capture_yuv_encode_jpeg_default",
    "Capture_yuv_encode_jpeg_with_single_nr",
    "Capture_remosaic_single_nr",
    "Capture_mfnr_single_nr",
    "Capture_remosaic_mfnr_single_nr",
    "Capture_ainr14b_lpnr",
    "Capture_ainr16b_lpnr",
    "Capture_aihdr16b_lpnr",
    "NDD_default",
    "Capture_aishutter1",
    "Capture_aishutter2",
    "Video_ainr_vhdr",
    "Video_ainr",
    "Video_ainr_vhdr_freerun",
    "Video_ainr_freerun",
    "AOV",
};

typedef enum
{
    EFlash_No = 0,
    EFlash_MainFlash = 1,
    EFlash_PreFlash = 2,
    EFlash_Torch = 3,
    EFlash_NUM = 4
} EFlash_T;

static const std::string Flash_str[] =
{
    "No",
    "MainFlash",
    "PreFlash",
    "Torch",
};

typedef enum
{
    EFlashDevice_FLASH_TYPE_REAR_CT_0_PART_0 = 0,
    EFlashDevice_FLASH_TYPE_REAR_CT_1_PART_0 = 1,
    EFlashDevice_FLASH_TYPE_FRONT_CT_0_PART_0 = 2,
    EFlashDevice_FLASH_TYPE_FRONT_CT_1_PART_0 = 3,
    EFlashDevice_FLASH_TYPE_REAR_CT_0_PART_1 = 4,
    EFlashDevice_FLASH_TYPE_REAR_CT_1_PART_1 = 5,
    EFlashDevice_FLASH_TYPE_FRONT_CT_0_PART_1 = 6,
    EFlashDevice_FLASH_TYPE_FRONT_CT_1_PART_1 = 7,
    EFlashDevice_NUM = 8
} EFlashDevice_T;

static const std::string FlashDevice_str[] =
{
    "FLASH_TYPE_REAR_CT_0_PART_0",
    "FLASH_TYPE_REAR_CT_1_PART_0",
    "FLASH_TYPE_FRONT_CT_0_PART_0",
    "FLASH_TYPE_FRONT_CT_1_PART_0",
    "FLASH_TYPE_REAR_CT_0_PART_1",
    "FLASH_TYPE_REAR_CT_1_PART_1",
    "FLASH_TYPE_FRONT_CT_0_PART_1",
    "FLASH_TYPE_FRONT_CT_1_PART_1",
};

typedef enum
{
    ELatency_LATENCY_DEFAULT = 0,
    ELatency_LATENCY_LOW = 1,
    ELatency_NUM = 2
} ELatency_T;

static const std::string Latency_str[] =
{
    "LATENCY_DEFAULT",
    "LATENCY_LOW",
};

typedef enum
{
    EProject_Project_00 = 0,
    EProject_NUM = 1
} EProject_T;

static const std::string Project_str[] =
{
    "Project_00",
};

typedef enum
{
    ESensor_Default = 0,
    ESensor_SIC110A_SENSOR_ID = 13,
    ESensor_SIV120B_SENSOR_ID = 18,
    ESensor_SID130B_SENSOR_ID = 27,
    ESensor_SHARP3D_SENSOR_ID = 61,
    ESensor_IMX073_SENSOR_ID = 70,
    ESensor_SP2518_YUV_SENSOR_ID = 83,
    ESensor_IMX058_SENSOR_ID = 88,
    ESensor_PAS302_SENSOR_ID = 100,
    ESensor_PAS105_SENSOR_ID = 101,
    ESensor_PAS5101_SENSOR_ID = 103,
    ESensor_HIVICF_SENSOR_ID = 129,
    ESensor_HI251_SENSOR_ID = 132,
    ESensor_IMX091_SENSOR_ID = 145,
    ESensor_HI253_SENSOR_ID = 146,
    ESensor_HI704_SENSOR_ID = 150,
    ESensor_SP0A19_YUV_SENSOR_ID = 166,
    ESensor_S5KA3DFX_SENSOR_ID = 171,
    ESensor_HI542MIPI_SENSOR_ID = 177,
    ESensor_HI707_SENSOR_ID = 184,
    ESensor_GC0329_SENSOR_ID = 192,
    ESensor_GC0330_SENSOR_ID = 193,
    ESensor_GC0313MIPI_YUV_SENSOR_ID = 208,
    ESensor_SIV121D_SENSOR_ID = 222,
    ESensor_IMX105_SENSOR_ID = 261,
    ESensor_IMX119_SENSOR_ID = 281,
    ESensor_IMX132MIPI_SENSOR_ID = 306,
    ESensor_IMX135_SENSOR_ID = 309,
    ESensor_IMX178_SENSOR_ID = 376,
    ESensor_IMX179_SENSOR_ID = 377,
    ESensor_HI191MIPI_SENSOR_ID = 401,
    ESensor_S5K83AFX_SENSOR_ID = 452,
    ESensor_IMX214_SENSOR_ID = 532,
    ESensor_IMX214_MONO_SENSOR_ID = 533,
    ESensor_IMX219_SENSOR_ID = 537,
    ESensor_IMX220_SENSOR_ID = 544,
    ESensor_IMX230_SENSOR_ID = 560,
    ESensor_IMX258_SENSOR_ID = 600,
    ESensor_IMX258_MONO_SENSOR_ID = 601,
    ESensor_IMX268_SENSOR_ID = 616,
    ESensor_IMX278_SENSOR_ID = 632,
    ESensor_IMX386_MONO_SENSOR_ID = 646,
    ESensor_IMX300_SENSOR_ID = 768,
    ESensor_IMX318_SENSOR_ID = 792,
    ESensor_IMX319_SENSOR_ID = 793,
    ESensor_IMX334_SENSOR_ID = 820,
    ESensor_IMX338_SENSOR_ID = 824,
    ESensor_HM3451_SENSOR_ID = 837,
    ESensor_IMX350_SENSOR_ID = 848,
    ESensor_IMX362_SENSOR_ID = 866,
    ESensor_IMX376_SENSOR_ID = 886,
    ESensor_IMX377_SENSOR_ID = 887,
    ESensor_IMX386_SENSOR_ID = 902,
    ESensor_IMX398_SENSOR_ID = 920,
    ESensor_IMX481_SENSOR_ID = 1153,
    ESensor_IMX486_SENSOR_ID = 1158,
    ESensor_IMX499_SENSOR_ID = 1177,
    ESensor_IMX519_SENSOR_ID = 1305,
    ESensor_HI544MIPI_SENSOR_ID = 1348,
    ESensor_HI545MIPI_SENSOR_ID = 1349,
    ESensor_HI551_SENSOR_ID = 1361,
    ESensor_HI553_SENSOR_ID = 1363,
    ESensor_HI556_SENSOR_ID = 1366,
    ESensor_IMX576_SENSOR_ID = 1398,
    ESensor_IMX577_SENSOR_ID = 1399,
    ESensor_IMX586_SENSOR_ID = 1414,
    ESensor_S5K5BAFX_SENSOR_ID = 1466,
    ESensor_S5K5CAGX_SENSOR_ID = 1482,
    ESensor_IMX616_SENSOR_ID = 1558,
    ESensor_IMX766_SENSOR_ID = 1894,
    ESensor_S5K3AAEA_SENSOR_ID = 1964,
    ESensor_HI841_SENSOR_ID = 2113,
    ESensor_HI846_SENSOR_ID = 2118,
    ESensor_S5K8AAYX_SENSOR_ID = 2218,
    ESensor_SIM101B_SENSOR_ID = 2464,
    ESensor_SIV100A_SENSOR_ID = 3088,
    ESensor_SIV100B_SENSOR_ID = 3089,
    ESensor_T8EV5_SENSOR_ID = 4113,
    ESensor_SIV120A_SENSOR_ID = 4624,
    ESensor_MT9V112_SENSOR_ID = 4649,
    ESensor_OV12A10_SENSOR_ID = 4673,
    ESensor_SID020A_SENSOR_ID = 4788,
    ESensor_MT9M011_SENSOR_ID = 5171,
    ESensor_MT9M111_SENSOR_ID = 5178,
    ESensor_MT9M112_SENSOR_ID = 5260,
    ESensor_MT9D111_SENSOR_ID = 5393,
    ESensor_MT9DX11_SENSOR_ID = 5401,
    ESensor_MT9D112_SENSOR_ID = 5504,
    ESensor_MT9T012_SENSOR_ID = 5632,
    ESensor_GC2035_SENSOR_ID = 8245,
    ESensor_S5K2L7_SENSOR_ID = 8391,
    ESensor_S5K2P7_SENSOR_ID = 8455,
    ESensor_S5K2P8_SENSOR_ID = 8456,
    ESensor_GC2145_SENSOR_ID = 8517,
    ESensor_S5K2T7SP_SENSOR_ID = 8519,
    ESensor_S5K2X8_SENSOR_ID = 8584,
    ESensor_GC2235_SENSOR_ID = 8757,
    ESensor_MT9V113_SENSOR_ID = 8832,
    ESensor_MT9V114_SENSOR_ID = 8835,
    ESensor_MT9V115_SENSOR_ID = 8836,
    ESensor_GC02M0_SENSOR_ID = 9029,
    ESensor_GC2355_SENSOR_ID = 9045,
    ESensor_GC2365_SENSOR_ID = 9061,
    ESensor_GC2366_SENSOR_ID = 9062,
    ESensor_GC2375H_SENSOR_ID = 9077,
    ESensor_GC2375SUB_SENSOR_ID = 9078,
    ESensor_MT9M113_SENSOR_ID = 9344,
    ESensor_SP2509_SENSOR_ID = 9481,
    ESensor_SP250A_SENSOR_ID = 9482,
    ESensor_MT9D115MIPI_SENSOR_ID = 9600,
    ESensor_MT9T013_SENSOR_ID = 9728,
    ESensor_OV2650_SENSOR_ID_1 = 9809,
    ESensor_OV2650_SENSOR_ID_2 = 9810,
    ESensor_OV2650_SENSOR_ID_3 = 9813,
    ESensor_OV2655_SENSOR_ID = 9814,
    ESensor_OV2680_SENSOR_ID = 9856,
    ESensor_OV2722MIPI_SENSOR_ID = 10018,
    ESensor_OV2724MIPI_SENSOR_ID = 10020,
    ESensor_MT9P012_SENSOR_ID = 10240,
    ESensor_MT9P012_SENSOR_ID_REV7 = 10241,
    ESensor_MT9P015_SENSOR_ID = 10243,
    ESensor_S5K2LQSX_SENSOR_ID = 11290,
    ESensor_T4KA7_SENSOR_ID = 11312,
    ESensor_S5K3H7Y_SENSOR_ID = 12423,
    ESensor_S5K3L6_SENSOR_ID = 12486,
    ESensor_S5K3L8_SENSOR_ID = 12488,
    ESensor_S5K3M2_SENSOR_ID = 12498,
    ESensor_S5K3M3_SENSOR_ID = 12499,
    ESensor_S5K3M5SX_SENSOR_ID = 12501,
    ESensor_S5K3P3SX_SENSOR_ID = 12547,
    ESensor_S5K3P8_SENSOR_ID = 12552,
    ESensor_OV3640_SENSOR_ID = 13900,
    ESensor_S5K3H2YX_SENSOR_ID = 14379,
    ESensor_S5K3E2FX_SENSOR_ID = 15919,
    ESensor_S5K53BEX_SENSOR_ID = 17832,
    ESensor_MT9T113MIPI_SENSOR_ID = 18048,
    ESensor_OV4688MIPI_SENSOR_ID = 18056,
    ESensor_A5142MIPI_SENSOR_ID = 18432,
    ESensor_S5K4H5YC_SENSOR_ID = 18523,
    ESensor_S5K4H7_SENSOR_ID = 18555,
    ESensor_AR0833_SENSOR_ID = 19203,
    ESensor_S5K4E1GA_SENSOR_ID = 19984,
    ESensor_S5K4E6_SENSOR_ID = 20064,
    ESensor_S5K4ECGX_SENSOR_ID = 20160,
    ESensor_GC5035_SENSOR_ID = 20533,
    ESensor_S5K4B2FX_SENSOR_ID = 20608,
    ESensor_S5K5E9_SENSOR_ID = 21915,
    ESensor_OV5642_SENSOR_ID = 22082,
    ESensor_OV5645MIPI_SENSOR_ID = 22085,
    ESensor_OV5647MIPI_SENSOR_ID = 22087,
    ESensor_OV5648MIPI_SENSOR_ID = 22088,
    ESensor_OV5650MIPI_SENSOR_ID = 22097,
    ESensor_OV2281MIPI_SENSOR_ID = 22128,
    ESensor_OV5671MIPI_SENSOR_ID = 22129,
    ESensor_OV5675MIPI_SENSOR_ID = 22133,
    ESensor_OV5693_SENSOR_ID = 22160,
    ESensor_S5K5E2YA_SENSOR_ID = 24096,
    ESensor_S5K5E8YX_SENSOR_ID = 24192,
    ESensor_S5K5E8YXREAR2_SENSOR_ID = 24193,
    ESensor_PAS6180_SENSOR_ID = 24953,
    ESensor_S5K3BAFB_SENSOR_ID = 28784,
    ESensor_OV7675_SENSOR_ID = 30323,
    ESensor_GC8034_SENSOR_ID = 32836,
    ESensor_GC8C34_SENSOR_ID = 32964,
    ESensor_S5K53BEB_SENSOR_ID = 34728,
    ESensor_OV8825_SENSOR_ID = 34853,
    ESensor_OV8830_SENSOR_ID = 34864,
    ESensor_OV8858_SENSOR_ID = 34904,
    ESensor_OV8856_SENSOR_ID = 34906,
    ESensor_OV8865_SENSOR_ID = 34917,
    ESensor_OV9726MIPI_SENSOR_ID = 38694,
    ESensor_OV9740MIPI_SENSOR_ID = 38720,
    ESensor_OV9760MIPI_SENSOR_ID = 38752,
    ESensor_GC0310_SENSOR_ID = 41744,
    ESensor_GC0312_SENSOR_ID = 45840,
    ESensor_OV12830_SENSOR_ID = 51248,
    ESensor_OV13850_SENSOR_ID = 55376,
    ESensor_OV13855_SENSOR_ID = 55381,
    ESensor_OV13855MAIN2_SENSOR_ID = 55382,
    ESensor_OV13870_SENSOR_ID = 79984,
    ESensor_OV16825MIPI_SENSOR_ID = 92192,
    ESensor_OV16880_SENSOR_ID = 92288,
    ESensor_OV16885_SENSOR_ID = 92293,
    ESensor_OV20880MIPI_SENSOR_ID = 133248,
    ESensor_OV23850_SENSOR_ID = 145488,
    ESensor_S5K3P8STECH_SENSOR_ID = 995592,
    ESensor_OV13B10_SENSOR_ID = 5639490,
    ESensor_NUM = 5639491
} ESensor_T;

static const std::string Sensor_str[] =
{
    "Default",
    "SIC110A_SENSOR_ID",
    "SIV120B_SENSOR_ID",
    "SID130B_SENSOR_ID",
    "SHARP3D_SENSOR_ID",
    "IMX073_SENSOR_ID",
    "SP2518_YUV_SENSOR_ID",
    "IMX058_SENSOR_ID",
    "PAS302_SENSOR_ID",
    "PAS105_SENSOR_ID",
    "PAS5101_SENSOR_ID",
    "HIVICF_SENSOR_ID",
    "HI251_SENSOR_ID",
    "IMX091_SENSOR_ID",
    "HI253_SENSOR_ID",
    "HI704_SENSOR_ID",
    "SP0A19_YUV_SENSOR_ID",
    "S5KA3DFX_SENSOR_ID",
    "HI542MIPI_SENSOR_ID",
    "HI707_SENSOR_ID",
    "GC0329_SENSOR_ID",
    "GC0330_SENSOR_ID",
    "GC0313MIPI_YUV_SENSOR_ID",
    "SIV121D_SENSOR_ID",
    "IMX105_SENSOR_ID",
    "IMX119_SENSOR_ID",
    "IMX132MIPI_SENSOR_ID",
    "IMX135_SENSOR_ID",
    "IMX178_SENSOR_ID",
    "IMX179_SENSOR_ID",
    "HI191MIPI_SENSOR_ID",
    "S5K83AFX_SENSOR_ID",
    "IMX214_SENSOR_ID",
    "IMX214_MONO_SENSOR_ID",
    "IMX219_SENSOR_ID",
    "IMX220_SENSOR_ID",
    "IMX230_SENSOR_ID",
    "IMX258_SENSOR_ID",
    "IMX258_MONO_SENSOR_ID",
    "IMX268_SENSOR_ID",
    "IMX278_SENSOR_ID",
    "IMX386_MONO_SENSOR_ID",
    "IMX300_SENSOR_ID",
    "IMX318_SENSOR_ID",
    "IMX319_SENSOR_ID",
    "IMX334_SENSOR_ID",
    "IMX338_SENSOR_ID",
    "HM3451_SENSOR_ID",
    "IMX350_SENSOR_ID",
    "IMX362_SENSOR_ID",
    "IMX376_SENSOR_ID",
    "IMX377_SENSOR_ID",
    "IMX386_SENSOR_ID",
    "IMX398_SENSOR_ID",
    "IMX481_SENSOR_ID",
    "IMX486_SENSOR_ID",
    "IMX499_SENSOR_ID",
    "IMX519_SENSOR_ID",
    "HI544MIPI_SENSOR_ID",
    "HI545MIPI_SENSOR_ID",
    "HI551_SENSOR_ID",
    "HI553_SENSOR_ID",
    "HI556_SENSOR_ID",
    "IMX576_SENSOR_ID",
    "IMX577_SENSOR_ID",
    "IMX586_SENSOR_ID",
    "S5K5BAFX_SENSOR_ID",
    "S5K5CAGX_SENSOR_ID",
    "IMX616_SENSOR_ID",
    "IMX766_SENSOR_ID",
    "S5K3AAEA_SENSOR_ID",
    "HI841_SENSOR_ID",
    "HI846_SENSOR_ID",
    "S5K8AAYX_SENSOR_ID",
    "SIM101B_SENSOR_ID",
    "SIV100A_SENSOR_ID",
    "SIV100B_SENSOR_ID",
    "T8EV5_SENSOR_ID",
    "SIV120A_SENSOR_ID",
    "MT9V112_SENSOR_ID",
    "OV12A10_SENSOR_ID",
    "SID020A_SENSOR_ID",
    "MT9M011_SENSOR_ID",
    "MT9M111_SENSOR_ID",
    "MT9M112_SENSOR_ID",
    "MT9D111_SENSOR_ID",
    "MT9DX11_SENSOR_ID",
    "MT9D112_SENSOR_ID",
    "MT9T012_SENSOR_ID",
    "GC2035_SENSOR_ID",
    "S5K2L7_SENSOR_ID",
    "S5K2P7_SENSOR_ID",
    "S5K2P8_SENSOR_ID",
    "GC2145_SENSOR_ID",
    "S5K2T7SP_SENSOR_ID",
    "S5K2X8_SENSOR_ID",
    "GC2235_SENSOR_ID",
    "MT9V113_SENSOR_ID",
    "MT9V114_SENSOR_ID",
    "MT9V115_SENSOR_ID",
    "GC02M0_SENSOR_ID",
    "GC2355_SENSOR_ID",
    "GC2365_SENSOR_ID",
    "GC2366_SENSOR_ID",
    "GC2375H_SENSOR_ID",
    "GC2375SUB_SENSOR_ID",
    "MT9M113_SENSOR_ID",
    "SP2509_SENSOR_ID",
    "SP250A_SENSOR_ID",
    "MT9D115MIPI_SENSOR_ID",
    "MT9T013_SENSOR_ID",
    "OV2650_SENSOR_ID_1",
    "OV2650_SENSOR_ID_2",
    "OV2650_SENSOR_ID_3",
    "OV2655_SENSOR_ID",
    "OV2680_SENSOR_ID",
    "OV2722MIPI_SENSOR_ID",
    "OV2724MIPI_SENSOR_ID",
    "MT9P012_SENSOR_ID",
    "MT9P012_SENSOR_ID_REV7",
    "MT9P015_SENSOR_ID",
    "S5K2LQSX_SENSOR_ID",
    "T4KA7_SENSOR_ID",
    "S5K3H7Y_SENSOR_ID",
    "S5K3L6_SENSOR_ID",
    "S5K3L8_SENSOR_ID",
    "S5K3M2_SENSOR_ID",
    "S5K3M3_SENSOR_ID",
    "S5K3M5SX_SENSOR_ID",
    "S5K3P3SX_SENSOR_ID",
    "S5K3P8_SENSOR_ID",
    "OV3640_SENSOR_ID",
    "S5K3H2YX_SENSOR_ID",
    "S5K3E2FX_SENSOR_ID",
    "S5K53BEX_SENSOR_ID",
    "MT9T113MIPI_SENSOR_ID",
    "OV4688MIPI_SENSOR_ID",
    "A5142MIPI_SENSOR_ID",
    "S5K4H5YC_SENSOR_ID",
    "S5K4H7_SENSOR_ID",
    "AR0833_SENSOR_ID",
    "S5K4E1GA_SENSOR_ID",
    "S5K4E6_SENSOR_ID",
    "S5K4ECGX_SENSOR_ID",
    "GC5035_SENSOR_ID",
    "S5K4B2FX_SENSOR_ID",
    "S5K5E9_SENSOR_ID",
    "OV5642_SENSOR_ID",
    "OV5645MIPI_SENSOR_ID",
    "OV5647MIPI_SENSOR_ID",
    "OV5648MIPI_SENSOR_ID",
    "OV5650MIPI_SENSOR_ID",
    "OV2281MIPI_SENSOR_ID",
    "OV5671MIPI_SENSOR_ID",
    "OV5675MIPI_SENSOR_ID",
    "OV5693_SENSOR_ID",
    "S5K5E2YA_SENSOR_ID",
    "S5K5E8YX_SENSOR_ID",
    "S5K5E8YXREAR2_SENSOR_ID",
    "PAS6180_SENSOR_ID",
    "S5K3BAFB_SENSOR_ID",
    "OV7675_SENSOR_ID",
    "GC8034_SENSOR_ID",
    "GC8C34_SENSOR_ID",
    "S5K53BEB_SENSOR_ID",
    "OV8825_SENSOR_ID",
    "OV8830_SENSOR_ID",
    "OV8858_SENSOR_ID",
    "OV8856_SENSOR_ID",
    "OV8865_SENSOR_ID",
    "OV9726MIPI_SENSOR_ID",
    "OV9740MIPI_SENSOR_ID",
    "OV9760MIPI_SENSOR_ID",
    "GC0310_SENSOR_ID",
    "GC0312_SENSOR_ID",
    "OV12830_SENSOR_ID",
    "OV13850_SENSOR_ID",
    "OV13855_SENSOR_ID",
    "OV13855MAIN2_SENSOR_ID",
    "OV13870_SENSOR_ID",
    "OV16825MIPI_SENSOR_ID",
    "OV16880_SENSOR_ID",
    "OV16885_SENSOR_ID",
    "OV20880MIPI_SENSOR_ID",
    "OV23850_SENSOR_ID",
    "S5K3P8STECH_SENSOR_ID",
    "OV13B10_SENSOR_ID",
};

typedef enum
{
    ESensorFeature_OFF = 0,
    ESensorFeature_mHDR = 1,
    ESensorFeature_ms_2exp_se_ne = 2,
    ESensorFeature_stg_2exp_ne_se = 3,
    ESensorFeature_stg_3exp_ne_me_se = 4,
    ESensorFeature_fc_2exp_quad = 5,
    ESensorFeature_fc_3exp_quad = 6,
    ESensorFeature_fmtfc_2exp_ne_se = 7,
    ESensorFeature_fmtfc_3exp_ne_me_se = 8,
    ESensorFeature_rcfg_1exp_ne = 9,
    ESensorFeature_ms_2exp_ne_se = 10,
    ESensorFeature_dcg_2exp_dcg12 = 11,
    ESensorFeature_dcg_2exp_dcg14 = 12,
    ESensorFeature_dcg_2exp_hcg_lcg = 13,
    ESensorFeature_dcg_3exp_dcg12_sge = 14,
    ESensorFeature_dcg_3exp_dcg14_sge = 15,
    ESensorFeature_dcg_3exp_sge_dcg12 = 16,
    ESensorFeature_dcg_3exp_sge_dcg14 = 17,
    ESensorFeature_dcg_3exp_hcg_lcg_sge = 18,
    ESensorFeature_dcg_3exp_sge_hcg_lcg = 19,
    ESensorFeature_qdol4_4exp_mqd12_mqd12 = 20,
    ESensorFeature_qdol4_4exp_mqd14_mqd14 = 21,
    ESensorFeature_qdol4_3exp_ne_mqd12 = 22,
    ESensorFeature_qdol4_3exp_ne_mqd14 = 23,
    ESensorFeature_qdol4_3exp_mqd12_se = 24,
    ESensorFeature_qdol4_3exp_mqd14_se = 25,
    ESensorFeature_fc_2exp_mqd12 = 26,
    ESensorFeature_fc_2exp_mqd14 = 27,
    ESensorFeature_NUM = 28
} ESensorFeature_T;

static const std::string SensorFeature_str[] =
{
    "OFF",
    "mHDR",
    "ms_2exp_se_ne",
    "stg_2exp_ne_se",
    "stg_3exp_ne_me_se",
    "fc_2exp_quad",
    "fc_3exp_quad",
    "fmtfc_2exp_ne_se",
    "fmtfc_3exp_ne_me_se",
    "rcfg_1exp_ne",
    "ms_2exp_ne_se",
    "dcg_2exp_dcg12",
    "dcg_2exp_dcg14",
    "dcg_2exp_hcg_lcg",
    "dcg_3exp_dcg12_sge",
    "dcg_3exp_dcg14_sge",
    "dcg_3exp_sge_dcg12",
    "dcg_3exp_sge_dcg14",
    "dcg_3exp_hcg_lcg_sge",
    "dcg_3exp_sge_hcg_lcg",
    "qdol4_4exp_mqd12_mqd12",
    "qdol4_4exp_mqd14_mqd14",
    "qdol4_3exp_ne_mqd12",
    "qdol4_3exp_ne_mqd14",
    "qdol4_3exp_mqd12_se",
    "qdol4_3exp_mqd14_se",
    "fc_2exp_mqd12",
    "fc_2exp_mqd14",
};

typedef enum
{
    ESensorMode_Preview = 0,
    ESensorMode_Capture = 1,
    ESensorMode_Video = 2,
    ESensorMode_SlimVideo1 = 3,
    ESensorMode_SlimVideo2 = 4,
    ESensorMode_Custom1 = 5,
    ESensorMode_Custom2 = 6,
    ESensorMode_Custom3 = 7,
    ESensorMode_Custom4 = 8,
    ESensorMode_Custom5 = 9,
    ESensorMode_Custom6 = 10,
    ESensorMode_Custom7 = 11,
    ESensorMode_Custom8 = 12,
    ESensorMode_NUM = 13
} ESensorMode_T;

static const std::string SensorMode_str[] =
{
    "Preview",
    "Capture",
    "Video",
    "SlimVideo1",
    "SlimVideo2",
    "Custom1",
    "Custom2",
    "Custom3",
    "Custom4",
    "Custom5",
    "Custom6",
    "Custom7",
    "Custom8",
};

typedef enum
{
    EStandard_Conventional = 0,
    EStandard_HDR10P = 1,
    EStandard_NUM = 2
} EStandard_T;

static const std::string Standard_str[] =
{
    "Conventional",
    "HDR10P",
};

typedef enum
{
    EYUVSize_SIZE_00 = 0,
    EYUVSize_SIZE_01 = 1,
    EYUVSize_SIZE_02 = 2,
    EYUVSize_SIZE_03 = 3,
    EYUVSize_SIZE_04 = 4,
    EYUVSize_NUM = 5
} EYUVSize_T;

static const std::string YUVSize_str[] =
{
    "SIZE_00",
    "SIZE_01",
    "SIZE_02",
    "SIZE_03",
    "SIZE_04",
};

typedef enum
{
    EZoom_IDX_00 = 0,
    EZoom_IDX_01 = 1,
    EZoom_IDX_02 = 2,
    EZoom_IDX_03 = 3,
    EZoom_NUM = 4
} EZoom_T;

static const std::string Zoom_str[] =
{
    "IDX_00",
    "IDX_01",
    "IDX_02",
    "IDX_03",
};

typedef enum
{
    ECT_IDX_00 = 0,
    ECT_IDX_01 = 1,
    ECT_IDX_02 = 2,
    ECT_IDX_03 = 3,
    ECT_IDX_04 = 4,
    ECT_IDX_05 = 5,
    ECT_IDX_06 = 6,
    ECT_IDX_07 = 7,
    ECT_IDX_08 = 8,
    ECT_IDX_09 = 9,
    ECT_NUM = 10
} ECT_T;

static const std::string CT_str[] =
{
    "IDX_00",
    "IDX_01",
    "IDX_02",
    "IDX_03",
    "IDX_04",
    "IDX_05",
    "IDX_06",
    "IDX_07",
    "IDX_08",
    "IDX_09",
};

typedef enum
{
    EDR_IDX_00 = 0,
    EDR_IDX_01 = 1,
    EDR_IDX_02 = 2,
    EDR_NUM = 3
} EDR_T;

static const std::string DR_str[] =
{
    "IDX_00",
    "IDX_01",
    "IDX_02",
};

typedef enum
{
    EFaceDetection_No = 0,
    EFaceDetection_Yes = 1,
    EFaceDetection_NUM = 2
} EFaceDetection_T;

static const std::string FaceDetection_str[] =
{
    "No",
    "Yes",
};

typedef enum
{
    EISO_IDX_00 = 0,
    EISO_IDX_01 = 1,
    EISO_IDX_02 = 2,
    EISO_IDX_03 = 3,
    EISO_IDX_04 = 4,
    EISO_IDX_05 = 5,
    EISO_IDX_06 = 6,
    EISO_IDX_07 = 7,
    EISO_IDX_08 = 8,
    EISO_IDX_09 = 9,
    EISO_IDX_10 = 10,
    EISO_IDX_11 = 11,
    EISO_IDX_12 = 12,
    EISO_IDX_13 = 13,
    EISO_IDX_14 = 14,
    EISO_IDX_15 = 15,
    EISO_IDX_16 = 16,
    EISO_IDX_17 = 17,
    EISO_IDX_18 = 18,
    EISO_IDX_19 = 19,
    EISO_NUM = 20
} EISO_T;

static const std::string ISO_str[] =
{
    "IDX_00",
    "IDX_01",
    "IDX_02",
    "IDX_03",
    "IDX_04",
    "IDX_05",
    "IDX_06",
    "IDX_07",
    "IDX_08",
    "IDX_09",
    "IDX_10",
    "IDX_11",
    "IDX_12",
    "IDX_13",
    "IDX_14",
    "IDX_15",
    "IDX_16",
    "IDX_17",
    "IDX_18",
    "IDX_19",
};

typedef enum
{
    ELV_IDX_00 = 0,
    ELV_IDX_01 = 1,
    ELV_IDX_02 = 2,
    ELV_IDX_03 = 3,
    ELV_IDX_04 = 4,
    ELV_IDX_05 = 5,
    ELV_NUM = 6
} ELV_T;

static const std::string LV_str[] =
{
    "IDX_00",
    "IDX_01",
    "IDX_02",
    "IDX_03",
    "IDX_04",
    "IDX_05",
};

typedef enum
{
    ERatio_IDX_00 = 0,
    ERatio_IDX_01 = 1,
    ERatio_IDX_02 = 2,
    ERatio_IDX_03 = 3,
    ERatio_IDX_04 = 4,
    ERatio_NUM = 5
} ERatio_T;

static const std::string Ratio_str[] =
{
    "IDX_00",
    "IDX_01",
    "IDX_02",
    "IDX_03",
    "IDX_04",
};

typedef enum
{
    EStage_Default = 0,
    EStage_AFBLD_F0 = 1,
    EStage_AFBLD_F1 = 2,
    EStage_AFBLD_F2 = 3,
    EStage_AFBLD_F3 = 4,
    EStage_AFBLD_F4 = 5,
    EStage_AFBLD_F5 = 6,
    EStage_AFBLD_F6 = 7,
    EStage_AI_DEPTH = 8,
    EStage_BFBLD_BASE = 9,
    EStage_BFBLD_REF = 10,
    EStage_BFME = 11,
    EStage_BSS = 12,
    EStage_DPE = 13,
    EStage_DS = 14,
    EStage_DS_VBI_V2 = 15,
    EStage_DS_VBI_V5 = 16,
    EStage_GF = 17,
    EStage_LTR_Y2Y_Conf = 18,
    EStage_LTR_Y2Y_F4 = 19,
    EStage_MCDS_F1 = 20,
    EStage_ME_1PASS = 21,
    EStage_ME_3PASS_MM = 22,
    EStage_ME_3PASS_MODE0 = 23,
    EStage_ME_3PASS_MODE1 = 24,
    EStage_ME_BATCH = 25,
    EStage_ME_FW_MVP = 26,
    EStage_MSBLD_F0 = 27,
    EStage_MSBLD_F1 = 28,
    EStage_MSBLD_F2 = 29,
    EStage_MSBLD_F3 = 30,
    EStage_MSBLD_F4 = 31,
    EStage_MSBLD_F5 = 32,
    EStage_MSBLD_F6 = 33,
    EStage_N3D = 34,
    EStage_P1 = 35,
    EStage_P1_M = 36,
    EStage_P1_S = 37,
    EStage_P1_SE = 38,
    EStage_P2_BOK_PV = 39,
    EStage_P2_BOK_VR = 40,
    EStage_P2_FM1_LR = 41,
    EStage_P2_FM1_RL = 42,
    EStage_P2_FM2_LR = 43,
    EStage_P2_FM2_RL = 44,
    EStage_P2_IDI = 45,
    EStage_P2_MS_F0_H = 46,
    EStage_P2_MS_F0_PQ_DIP = 47,
    EStage_P2_MS_F0_Y_PQ_DIP = 48,
    EStage_P2_MS_F1 = 49,
    EStage_P2_MS_F1_Y = 50,
    EStage_P2_MS_F2 = 51,
    EStage_P2_MS_F2_Y = 52,
    EStage_P2_MS_F3 = 53,
    EStage_P2_MS_F3_Y = 54,
    EStage_P2_MS_F4 = 55,
    EStage_P2_MS_F_SMALL = 56,
    EStage_P2_Single_debug = 57,
    EStage_P2_Single_inline = 58,
    EStage_P2_Single = 59,
    EStage_P2_Y2Y_PQ_DIP = 60,
    EStage_PQ_DIP_GUIDE = 61,
    EStage_SWME = 62,
    EStage_TR_FE1_M = 63,
    EStage_TR_FE1_S = 64,
    EStage_TR_FE2_M = 65,
    EStage_TR_FE2_S = 66,
    EStage_TR_ME_L0 = 67,
    EStage_TR_ME_L1 = 68,
    EStage_TR_P2_PQ_DIP = 69,
    EStage_TR_R2Y = 70,
    EStage_TR_Y2Y = 71,
    EStage_TR_Y2Y_F1 = 72,
    EStage_TR_Y2Y_F4 = 73,
    EStage_Traw_3rd = 74,
    EStage_WPE_Depth_ROT = 75,
    EStage_WPE_GF_PV = 76,
    EStage_WPE_GF_VR = 77,
    EStage_WPE_LTR_ME_L0 = 78,
    EStage_LTR_VBI = 79,
    EStage_WPE_LTR_Y2Y_F1 = 80,
    EStage_WPE_MAP_RZ_BLUR_PV = 81,
    EStage_WPE_MAP_RZ_BLUR_VR = 82,
    EStage_WPE_ME_L0 = 83,
    EStage_WPE_N3D_M = 84,
    EStage_WPE_N3D_S = 85,
    EStage_WPE_P2_PQDIP_MS_F0 = 86,
    EStage_WPE_TR_Y2Y_F1 = 87,
    EStage_WPE_WghtMap = 88,
    EStage_WPEx2_P2_PQDIP_MS_F0 = 89,
    EStage_P2_MS_F1_dbg = 90,
    EStage_P2_MS_F2_dbg = 91,
    EStage_P2_MS_F3_dbg = 92,
    EStage_P2_MS_F4_dbg = 93,
    EStage_P2_MS_F5_dbg = 94,
    EStage_WPE_P2_PQDIP_MS_F0_dbg = 95,
    EStage_WPEx2_P2_PQDIP_MS_F0_dbg = 96,
    EStage_Camsys_normal = 97,
    EStage_Camysy_se = 98,
    EStage_Depth_fe = 99,
    EStage_Depth_fm = 100,
    EStage_Bokeh = 101,
    EStage_Raw2raw = 102,
    EStage_Ainr_fe = 103,
    EStage_Ainr_fm = 104,
    EStage_Ainr_bpc = 105,
    EStage_Raw2yuv = 106,
    EStage_Yuv2yuv = 107,
    EStage_Msf_y0 = 108,
    EStage_Msf_0 = 109,
    EStage_Msf_1 = 110,
    EStage_Msf_2 = 111,
    EStage_Msf_3 = 112,
    EStage_Msf_4 = 113,
    EStage_Msf_5 = 114,
    EStage_Msf_6 = 115,
    EStage_Msnr_yuv2yuv = 116,
    EStage_Mdp = 117,
    EStage_Yuv2yuv_reprocess = 118,
    EStage_Pure_PQDIP = 119,
    EStage_Raw_Pre_Bpc = 120,
    EStage_BssYuv_Pre = 121,
    EStage_RefYuv_Pre = 122,
    EStage_BssYuv_Pre_Tnc = 123,
    EStage_Yuv_Fe = 124,
    EStage_Yuv_Fm = 125,
    EStage_RAW_BeforeDRC = 126,
    EStage_AIBC_RAW_PRE_BPC = 127,
    EStage_AIBC_BSSYUV_PRE = 128,
    EStage_AIBC_BSSYUV_PRE_TNC = 129,
    EStage_AIBC_REFYUV_PRE = 130,
    EStage_AIBC_FE = 131,
    EStage_AIBC_FM = 132,
    EStage_AIBC_DRC = 133,
    EStage_AIBC_R2Y_14b_NNOut = 134,
    EStage_AIBC_R2Y_16b_DRCOut = 135,
    EStage_AIBC_R2Y_16b_NNOut = 136,
    EStage_AIBlend = 137,
    EStage_DRC = 138,
    EStage_RAW_PRE_BPC = 139,
    EStage_BSSYUV_PRE = 140,
    EStage_BSSR2Y_PRE = 141,
    EStage_BSSYUV_PRE_TNC = 142,
    EStage_REFYUV_PRE = 143,
    EStage_REFR2Y_PRE = 144,
    EStage_WPE_XTR_ME_L0 = 145,
    EStage_XTR_ME_L0 = 146,
    EStage_LTR_ME_L1 = 147,
    EStage_WPE_LTR_ME_L0_L1 = 148,
    EStage_TR_DSMAP = 149,
    EStage_TR_Y2Y_Conf = 150,
    EStage_XTraw_3rd = 151,
    EStage_XTraw_3rd_Raw = 152,
    EStage_WPE_P2_DHZ_PQDIP_MS_F0 = 153,
    EStage_WPEx2_P2_DHZ_PQDIP_MS_F0 = 154,
    EStage_P2_MS_F1_3Layer = 155,
    EStage_P2_DHZ_SL = 156,
    EStage_DHZE_SL = 157,
    EStage_TR_R2Y_DIP_PQDIP = 158,
    EStage_TR_GAINMAP = 159,
    EStage_TR_TNCS = 160,
    EStage_PQ_DIP_GUIDE_IMG = 161,
    EStage_WPE_DPEI_M = 162,
    EStage_WPE_DPEI_S = 163,
    EStage_WPE_DVS_DEPTH_ROT = 164,
    EStage_WPE_DVS_CFM_ROT = 165,
    EStage_WPE_AI_DEPTH_ROT = 166,
    EStage_WPE_AI_DEPTH_CFM_ROT = 167,
    EStage_WPE_AI_DEPTH_PRE = 168,
    EStage_WPE_GUIDE_IMG_PRE = 169,
    EStage_WPE_BLUR_PV = 170,
    EStage_WPE_BLUR_VR = 171,
    EStage_PS_LIB = 172,
    EStage_WPE_PRE = 173,
    EStage_WPE_AINR_FRAME = 174,
    EStage_XTR_MS = 175,
    EStage_TR_R2Y_MS = 176,
    EStage_P1_3rd = 177,
    EStage_TR_G2Y_3rd = 178,
    EStage_BSSR2Y_2_PRE = 179,
    EStage_BSSYUV_2_PRE_TNC = 180,
    EStage_REFR2Y_2_PRE = 181,
    EStage_TR_R2R_3rd = 182,
    EStage_TR_Y2Y_P2_PQDIP_3rd = 183,
    EStage_WPE_RSRAW = 184,
    EStage_MSTM = 185,
    EStage_IMAGE_SELECTION_2 = 186,
    EStage_WPE_PQDIP = 187,
    EStage_VAINR_INIT = 188,
    EStage_VAINR_AUXI = 189,
    EStage_VAINR_CORE = 190,
    EStage_NUM = 191
} EStage_T;

static const std::string Stage_str[] =
{
    "Default",
    "AFBLD_F0",
    "AFBLD_F1",
    "AFBLD_F2",
    "AFBLD_F3",
    "AFBLD_F4",
    "AFBLD_F5",
    "AFBLD_F6",
    "AI_DEPTH",
    "BFBLD_BASE",
    "BFBLD_REF",
    "BFME",
    "BSS",
    "DPE",
    "DS",
    "DS_VBI_V2",
    "DS_VBI_V5",
    "GF",
    "LTR_Y2Y_Conf",
    "LTR_Y2Y_F4",
    "MCDS_F1",
    "ME_1PASS",
    "ME_3PASS_MM",
    "ME_3PASS_MODE0",
    "ME_3PASS_MODE1",
    "ME_BATCH",
    "ME_FW_MVP",
    "MSBLD_F0",
    "MSBLD_F1",
    "MSBLD_F2",
    "MSBLD_F3",
    "MSBLD_F4",
    "MSBLD_F5",
    "MSBLD_F6",
    "N3D",
    "P1",
    "P1_M",
    "P1_S",
    "P1_SE",
    "P2_BOK_PV",
    "P2_BOK_VR",
    "P2_FM1_LR",
    "P2_FM1_RL",
    "P2_FM2_LR",
    "P2_FM2_RL",
    "P2_IDI",
    "P2_MS_F0_H",
    "P2_MS_F0_PQ_DIP",
    "P2_MS_F0_Y_PQ_DIP",
    "P2_MS_F1",
    "P2_MS_F1_Y",
    "P2_MS_F2",
    "P2_MS_F2_Y",
    "P2_MS_F3",
    "P2_MS_F3_Y",
    "P2_MS_F4",
    "P2_MS_F_SMALL",
    "P2_Single_debug",
    "P2_Single_inline",
    "P2_Single",
    "P2_Y2Y_PQ_DIP",
    "PQ_DIP_GUIDE",
    "SWME",
    "TR_FE1_M",
    "TR_FE1_S",
    "TR_FE2_M",
    "TR_FE2_S",
    "TR_ME_L0",
    "TR_ME_L1",
    "TR_P2_PQ_DIP",
    "TR_R2Y",
    "TR_Y2Y",
    "TR_Y2Y_F1",
    "TR_Y2Y_F4",
    "Traw_3rd",
    "WPE_Depth_ROT",
    "WPE_GF_PV",
    "WPE_GF_VR",
    "WPE_LTR_ME_L0",
    "LTR_VBI",
    "WPE_LTR_Y2Y_F1",
    "WPE_MAP_RZ_BLUR_PV",
    "WPE_MAP_RZ_BLUR_VR",
    "WPE_ME_L0",
    "WPE_N3D_M",
    "WPE_N3D_S",
    "WPE_P2_PQDIP_MS_F0",
    "WPE_TR_Y2Y_F1",
    "WPE_WghtMap",
    "WPEx2_P2_PQDIP_MS_F0",
    "P2_MS_F1_dbg",
    "P2_MS_F2_dbg",
    "P2_MS_F3_dbg",
    "P2_MS_F4_dbg",
    "P2_MS_F5_dbg",
    "WPE_P2_PQDIP_MS_F0_dbg",
    "WPEx2_P2_PQDIP_MS_F0_dbg",
    "Camsys_normal",
    "Camysy_se",
    "Depth_fe",
    "Depth_fm",
    "Bokeh",
    "Raw2raw",
    "Ainr_fe",
    "Ainr_fm",
    "Ainr_bpc",
    "Raw2yuv",
    "Yuv2yuv",
    "Msf_y0",
    "Msf_0",
    "Msf_1",
    "Msf_2",
    "Msf_3",
    "Msf_4",
    "Msf_5",
    "Msf_6",
    "Msnr_yuv2yuv",
    "Mdp",
    "Yuv2yuv_reprocess",
    "Pure_PQDIP",
    "Raw_Pre_Bpc",
    "BssYuv_Pre",
    "RefYuv_Pre",
    "BssYuv_Pre_Tnc",
    "Yuv_Fe",
    "Yuv_Fm",
    "RAW_BeforeDRC",
    "AIBC_RAW_PRE_BPC",
    "AIBC_BSSYUV_PRE",
    "AIBC_BSSYUV_PRE_TNC",
    "AIBC_REFYUV_PRE",
    "AIBC_FE",
    "AIBC_FM",
    "AIBC_DRC",
    "AIBC_R2Y_14b_NNOut",
    "AIBC_R2Y_16b_DRCOut",
    "AIBC_R2Y_16b_NNOut",
    "AIBlend",
    "DRC",
    "RAW_PRE_BPC",
    "BSSYUV_PRE",
    "BSSR2Y_PRE",
    "BSSYUV_PRE_TNC",
    "REFYUV_PRE",
    "REFR2Y_PRE",
    "WPE_XTR_ME_L0",
    "XTR_ME_L0",
    "LTR_ME_L1",
    "WPE_LTR_ME_L0_L1",
    "TR_DSMAP",
    "TR_Y2Y_Conf",
    "XTraw_3rd",
    "XTraw_3rd_Raw",
    "WPE_P2_DHZ_PQDIP_MS_F0",
    "WPEx2_P2_DHZ_PQDIP_MS_F0",
    "P2_MS_F1_3Layer",
    "P2_DHZ_SL",
    "DHZE_SL",
    "TR_R2Y_DIP_PQDIP",
    "TR_GAINMAP",
    "TR_TNCS",
    "PQ_DIP_GUIDE_IMG",
    "WPE_DPEI_M",
    "WPE_DPEI_S",
    "WPE_DVS_DEPTH_ROT",
    "WPE_DVS_CFM_ROT",
    "WPE_AI_DEPTH_ROT",
    "WPE_AI_DEPTH_CFM_ROT",
    "WPE_AI_DEPTH_PRE",
    "WPE_GUIDE_IMG_PRE",
    "WPE_BLUR_PV",
    "WPE_BLUR_VR",
    "PS_LIB",
    "WPE_PRE",
    "WPE_AINR_FRAME",
    "XTR_MS",
    "TR_R2Y_MS",
    "P1_3rd",
    "TR_G2Y_3rd",
    "BSSR2Y_2_PRE",
    "BSSYUV_2_PRE_TNC",
    "REFR2Y_2_PRE",
    "TR_R2R_3rd",
    "TR_Y2Y_P2_PQDIP_3rd",
    "WPE_RSRAW",
    "MSTM",
    "IMAGE_SELECTION_2",
    "WPE_PQDIP",
    "VAINR_INIT",
    "VAINR_AUXI",
    "VAINR_CORE",
};

typedef enum
{
    EToneGain_IDX_00 = 0,
    EToneGain_IDX_01 = 1,
    EToneGain_IDX_02 = 2,
    EToneGain_IDX_03 = 3,
    EToneGain_IDX_04 = 4,
    EToneGain_NUM = 5
} EToneGain_T;

static const std::string ToneGain_str[] =
{
    "IDX_00",
    "IDX_01",
    "IDX_02",
    "IDX_03",
    "IDX_04",
};

typedef enum
{
    ETripod_No = 0,
    ETripod_Yes = 1,
    ETripod_NUM = 2
} ETripod_T;

static const std::string Tripod_str[] =
{
    "No",
    "Yes",
};

}
#endif // _CAM_IDX_STRUCT_EXT_PUB_H_
