196 lines
6.0 KiB
C++
196 lines
6.0 KiB
C++
/*
|
|
* Copyright (c) 2014 Amlogic, Inc. All rights reserved.
|
|
*
|
|
* This source code is subject to the terms and conditions defined in the
|
|
* file 'LICENSE' which is part of this source code package.
|
|
*
|
|
* Description: header file
|
|
*/
|
|
|
|
#ifndef _SYNCDATABASE_H_
|
|
#define _SYNCDATABASE_H_
|
|
|
|
#define CGF_PQ_DATABASE_VERSION "pq.database.version"
|
|
|
|
//ID
|
|
#define SSM_PICTURE_ID (310) //VPP_DATA_POS_PICTURE_MODE_PARAM_START
|
|
#define SSM_COLORTEMP_ID (311) //VPP_DATA_POS_COLOR_TEMP_PARAM_START
|
|
#define SSM_CMS_ID (312) //VPP_DATA_POS_COLORCUSTOMIZE_CM_START
|
|
#define SSM_PQ_MODE_ID (314) //VPP_DATA_POS_PQ_MODE_START
|
|
#define SSM_WB_GAMMA_ID (315) //VPP_DATA_POS_WB_GAMMA_PARAM_START
|
|
|
|
//old ssmdata info
|
|
#define MAX_SSM_PQ_SRC_INDEX (18) //(PQ_SRC_MAX)
|
|
#define MAX_SSM_PQ_TIMMING_INDEX (6) //(PQ_FMT_MAX)
|
|
|
|
#define MAX_SSM_PICTUREMODE_INDEX (14) //(VPP_PICTURE_MODE_MAX)
|
|
#define MAX_SSM_COLORTEMP_INDEX (6) //(VPP_COLOR_TEMPERATURE_MODE_MAX)
|
|
|
|
#define MAX_SSM_WB_GAMMA_POINT (21)
|
|
|
|
#define MAX_SSM_PICTUREMODE_SIZE ((1 * 4) + 4) // PictureMode struct + Flag
|
|
#define MAX_SSM_PICTUREMODE_PARAM_SIZE ((30 * 4) + 4) // PictureMode Param struct + Flag
|
|
#define MAX_SSM_COLORTEMP_PARAM_SIZE ((10 * 4) + 4) // ColorTemp Param + Flag
|
|
#define MAX_SSM_WB_GAMMA_PARAM_SIZE ((((MAX_SSM_WB_GAMMA_POINT * 3) + 1) * 4) + 4) // WB Gamma Param + Flag
|
|
|
|
#define MAX_SSM_LVDS_SSC_PARAM_SIZE (20)
|
|
#define MAX_SSM_COLORCUSTOMIZE_CM_PARAM_SIZE (120)
|
|
#define MAX_SSM_COLORCUSTOMIZE_3DLUT_PARAM_SIZE (80)
|
|
|
|
//old cridata info
|
|
#define CRI_RGBOGO_OFFSET (0)
|
|
#define CRI_RGBOGO_LEN ((10 * 4) + 4) //(sizeof(tcon_rgb_ogo_t) + sizeof(int))
|
|
#define CRI_RGBOGO_INDEX_MAX (8)
|
|
|
|
#define CRI_WB_GAMMA_OFFSET (CRI_RGBOGO_OFFSET + (CRI_RGBOGO_LEN * CRI_RGBOGO_INDEX_MAX))
|
|
#define CRI_WB_GAMMA_LEN ((63 * 4) + 4) //(sizeof(WB_GAMMA_TABLE_DATA) + sizeof(int))
|
|
#define CRI_WB_GAMMA_INDEX_MAX (8)
|
|
|
|
#define CRI_GAMMA_OFFSET (CRI_WB_GAMMA_OFFSET + (CRI_WB_GAMMA_LEN * CRI_WB_GAMMA_INDEX_MAX * WB_GAMMA_MODE_MAX))
|
|
#define CRI_GAMMA_LEN ((257 * 2) + 4) //(sizeof(tcon_gamma_table_s) + sizeof(int))
|
|
#define CRI_GAMMA_INDEX_MAX (8)
|
|
|
|
//3.1
|
|
#define CRI_DATA_WB_GAMMA_OFFSET_3_1 (CRI_RGBOGO_OFFSET + (CRI_RGBOGO_LEN * CRI_RGBOGO_INDEX_MAX))
|
|
#define CRI_DATE_WB_GAMMA_LEN_3_1 ((63 * 4) + 2) //sizeof(WB_GAMMA_TABLE_DATA) + 2
|
|
|
|
#define CRI_DATA_GAMMA_OFFSET_3_1 (CRI_DATA_WB_GAMMA_OFFSET_3_1 + (CRI_DATE_WB_GAMMA_LEN_3_1 * CRI_DATE_WB_GAMMA_INDEX_MAX * WB_GAMMA_MODE_MAX))
|
|
#define CRI_DATE_GAMMA_LEN_3_1 (((257 * 3) * 2) + 2) //sizeof(GAMMA_TABLE) + 2
|
|
|
|
typedef struct _SSM_PictureModeInfo {
|
|
int PictureMode;
|
|
int Flag;
|
|
} SSM_PictureModeInfo;
|
|
|
|
typedef struct _SSM_PICTURE_STRUCT {
|
|
//PM5 XML has config
|
|
int Brightness;
|
|
int Contrast;
|
|
int Saturation;
|
|
int Hue;
|
|
int Sharpness;
|
|
int Backlight;
|
|
int Nr;
|
|
int DynamicContrast;
|
|
int ColorGamut;
|
|
int ColorTemperature;
|
|
int LocalContrast;
|
|
int BlackStretch;
|
|
int BlueStretch;
|
|
int MpegNr;
|
|
int ChromaCoring;
|
|
int SuperResolution;
|
|
int GammaMidLuminance;
|
|
int CmLevel;
|
|
int DynamicBacklight;
|
|
int EyeProtection;
|
|
int SmoothPlus;
|
|
int HdrTmo;
|
|
int DolbyMode;
|
|
int DolbyDarkDetail;
|
|
|
|
//PM5 XML not has config
|
|
int Deblock;
|
|
int Demosquito;
|
|
} SSM_PICTURE_STRUCT;
|
|
|
|
typedef struct _SSM_3_1_PICTURE_STRUCT {
|
|
//PM5 XML has config
|
|
int Brightness;
|
|
int Contrast;
|
|
int Saturation;
|
|
int Hue;
|
|
int Sharpness;
|
|
int Backlight;
|
|
int Nr;
|
|
int DynamicContrast;
|
|
int ColorGamut;
|
|
int ColorTemperature;
|
|
int LocalContrast;
|
|
int BlackStretch;
|
|
int BlueStretch;
|
|
int MpegNr;
|
|
int ChromaCoring;
|
|
int SuperResolution;
|
|
int GammaMidLuminance;
|
|
int CmLevel;
|
|
int DynamicBacklight;
|
|
int EyeProtection;
|
|
int SmoothPlus;
|
|
int HdrTmo;
|
|
int DolbyMode;
|
|
int DolbyDarkDetail;
|
|
} SSM_3_1_PICTURE_STRUCT;
|
|
|
|
typedef struct _SSM_COLORTEMP_STRUCT {
|
|
unsigned int en;
|
|
int r_pre_offset;
|
|
int g_pre_offset;
|
|
int b_pre_offset;
|
|
unsigned int r_gain;
|
|
unsigned int g_gain;
|
|
unsigned int b_gain;
|
|
int r_post_offset;
|
|
int g_post_offset;
|
|
int b_post_offset;
|
|
} SSM_COLORTEMP_STRUCT;
|
|
|
|
typedef struct _SSM_WB_GAMMA_TABLE_DATA {
|
|
int R_OFFSET[MAX_SSM_WB_GAMMA_POINT];
|
|
int G_OFFSET[MAX_SSM_WB_GAMMA_POINT];
|
|
int B_OFFSET[MAX_SSM_WB_GAMMA_POINT];
|
|
} SSM_WB_GAMMA_TABLE_DATA;
|
|
|
|
typedef struct _SSM_WB_GAMMA_TABLE {
|
|
int ENABLE;
|
|
SSM_WB_GAMMA_TABLE_DATA WB_GAMMA_DATA;
|
|
} SSM_WB_GAMMA_TABLE;
|
|
|
|
typedef struct _SSM_CMS_COLOR_PARAM {
|
|
int Saturation;
|
|
int Hue;
|
|
int Luma;
|
|
} SSM_CMS_COLOR_PARAM;
|
|
|
|
typedef struct _SSM_TABLE_CMS {
|
|
int CmsEnable;
|
|
SSM_CMS_COLOR_PARAM CmsColor[9];
|
|
} SSM_TABLE_CMS;
|
|
|
|
class SyncDataBase {
|
|
public:
|
|
SyncDataBase();
|
|
~SyncDataBase();
|
|
|
|
static SyncDataBase *GetInstance();
|
|
|
|
bool SyncDataBaseInit(void);
|
|
bool SyncCriDataInit(void);
|
|
|
|
private:
|
|
int SyncDataBasePictureMode(void);
|
|
int SyncDataBasePictureModeData(void);
|
|
int SyncDataBaseColorTempData(void);
|
|
int SyncDataBaseWbGammaData(void);
|
|
int SyncDataBaseCmsData(void);
|
|
int SyncDataBaseBySourcePicture(void);
|
|
int SyncDataBaseGlobalPicture(void);
|
|
int SyncDataBaseLcdLvdsSsc(void);
|
|
|
|
int SyncDataBasePictureModeData_3_1(void);
|
|
int SyncDataBaseCmsData_3_1(void);
|
|
|
|
int SyncCriDataColorTempData(void);
|
|
int SyncCriDataMultipointGammaData(void);
|
|
int SyncCriDataGammaData(void);
|
|
|
|
int SyncCriDataMultipointGammaData_3_1(void);
|
|
int SyncCriDataGammaData_3_1(void);
|
|
|
|
bool CheckIndexSupport(int source, int timming);
|
|
|
|
static SyncDataBase *mInstance;
|
|
|
|
};
|
|
#endif
|