Files
BPI-CM9-Linux/aml-comp/vendor/amlogic/aml_pqserver/libpq/include/CPQControl.h
T
2026-08-24 10:03:24 +08:00

1000 lines
48 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 _C_CPQCONTROL_H
#define _C_CPQCONTROL_H
#include "SSMAction.h"
#include "CDevicePollCheckThread.h"
#include "CPQDataBase.h"
#include "WhitebalanceDataBase.h"
#include "CPQdb.h"
#include "PQType.h"
#include "CPQLog.h"
#include "CDynamicBackLight.h"
#include "CConfigFile.h"
#include "COverScandb.h"
#include "UEventObserver.h"
#include "CVdin.h"
#include "CAmdolbyVision.h"
#include "CPQControlCb.h"
#include "GammaOperation.h"
#include "CHlgToneMapping.h"
#define LDIM_PATH "/dev/aml_ldim"
#define LDIM_CONTROL_PATH "/sys/class/aml_ldim/func_en"
#define LCD_PATH "/dev/lcd0"
#define VPP_DEV_PATH "/dev/amvecm"
#define VIDEO_DEV_PATH "/dev/amvideo"
#define DI_DEV_PATH "/dev/di0"
#define AFE_DEV_PATH "/dev/tvafe0"
#define SYS_VIDEO_FRAME_HEIGHT "/sys/class/video/frame_height"
#define CROP_PATH "/sys/class/video/crop"
#define SCREEN_MODE_PATH "/sys/class/video/screen_mode"
#define SYSFS_VIDEO_AXIS_PATH "/sys/class/video/axis"
#define SYSFS_DEVICE_RESOLUTION "/sys/class/video/device_resolution"
#define NOLINER_FACTORY "/sys/class/video/nonlinear_factor"
#define VIDEO_RGB_SCREEN "/sys/class/video/rgb_screen"
#define TEST_SCREEN "/sys/class/video/test_screen"
#define PQ_MODULE_AISR_DEMO_EN "/sys/class/video/aisr_demo_en"
#define PQ_MODULE_AISR_DEMO_AXIS "/sys/class/video/aisr_demo_axis"
#define PQ_MODULE_AISR_DEMO_WIN "/sys/class/video/aisr_demo_win"
#define SYS_VIDEO_HDR_FMT "/sys/class/video_poll/primary_src_fmt"
#define SYSFS_VIDEO_EVENT_PATH "/sys/class/video_poll/status_changed"
#define PQ_SET_RW_INTERFACE "/sys/class/amvecm/pq_reg_rw"
#define AMVECM_PC_MODE_PATH "/sys/class/amvecm/pc_mode"
#define SYS_DISPLAY_MODE_PATH "/sys/class/display/mode"
#define SYS_VIDEO_FRAME_RATE "/sys/class/display/frame_rate"
#define HDMI_SET_ALLM_PARAM "/sys/class/hdmirx/hdmirx0/allm_func_ctrl"
#define HDMI_VRR_ENABLED "/sys/class/hdmirx/hdmirx0/vrr_func_ctrl"
#define BACKLIGHT_PATH "/sys/class/backlight/aml-bl/brightness"
#define SYSFS_VFM_MAP_PATH "/sys/class/vfm/map"
#define SSC_PATH "/sys/class/lcd/ss"
#define HDMI_OUTPUT_CHECK_PATH "/sys/class/amhdmitx" //if this dir exist,is hdmi output
#define VDETECT_AIPQ_ENABLE "/sys/class/vdetect/aipq_enable"
#define AML_AUTO_NR_PARAMS "/sys/class/deinterlace/di0/autonr_param"
#define VPP_AFD_MODULE_ASPECT_MODE "/sys/class/afd_module/aspect_mode"
#define PQ_MODULE_MEMC_DEMO_WIN "/sys/class/frc/param"
#define DEMOSQUITO_MODULE_CONTROL_PATH "/sys/module/aml_media/parameters/dnr_dm_en" //demosquito control
#define DEBLOCK_MODULE_CONTROL_PATH "/sys/module/aml_media/parameters/dnr_en" //deblock control
#define NR2_MODULE_CONTROL_PATH "/sys/module/aml_media/parameters/nr2_en" //noisereduction control
#define MCDI_MODULE_CONTROL_PATH "/sys/module/aml_media/parameters/mcen_mode" //mcdi control
#define VIDEO_AISR_ENABLE "/sys/module/aml_media/parameters/uvm_open_nn"
#define VIDEO_AISR_ENABLE_NEW "/sys/class/video/aisr_en"
#define AMDOLBY_VISION_HDR10_POLICY "/sys/module/aml_media/parameters/dolby_vision_hdr10_policy"
#define AISR_PARAMETERS_UVM_OPEN_NN "/sys/module/aml_media/parameters/uvm_open_nn"
#define VPP_MODULE_COLORGAMUT_PATH "/sys/module/am_vecm/parameters/primary_policy"
#define DECODER_COMMON_PARAMETERS_DEBUG_VDETECT "/sys/module/decoder_common/parameters/debug_vdetect"
// screem mode index value
#define SCREEN_MODE_NORMAL 0
#define SCREEN_MODE_FULL_STRETCH 1
#define SCREEN_MODE_4_3 2
#define SCREEN_MODE_16_9 3
#define SCREEN_MODE_NONLINEAR 4
#define SCREEN_MODE_NORMAL_NOSCALEUP 5
#define SCREEN_MODE_4_3_IGNORE 6
#define SCREEN_MODE_4_3_LETTER_BOX 7
#define SCREEN_MODE_4_3_PAN_SCAN 8
#define SCREEN_MODE_4_3_COMBINED 9
#define SCREEN_MODE_16_9_IGNORE 10
#define SCREEN_MODE_16_9_LETTER_BOX 11
#define SCREEN_MODE_16_9_PAN_SCAN 12
#define SCREEN_MODE_16_9_COMBINED 13
#define SCREEN_MODE_WIDEOPTION_CUSTOM 14
#define SCREEN_MODE_WIDEOPTION_AFD 15
//NR Param
#define NR_3D_YGAIN_ADDR (0X371C)
#define NR_3D_CGAIN_ADDR (0X2DCE)
#define NR_2D_GAIN_ADDR (0X2DAE)
#define VPP_BLACKEXT_CTRL (0x1D80)
//Sharpness CTI
#define VPP_CTI_YC_DELAY (0X7)
#define VPP_DECODE_CTI (0XB5)
#define VPP_CTI_SR0_GAIN (0X322F)
#define VPP_CTI_SR1_GAIN (0X32AF)
#define YC_DELAY_REG_MASK (0XF)
#define DECODE_CTI_REG_MASK (0XFFFF)
#define SR0_GAIN0_REG_MASK (0XFF000000)
#define SR0_GAIN1_REG_MASK (0X00FF0000)
#define SR0_GAIN2_REG_MASK (0X0000FF00)
#define SR0_GAIN3_REG_MASK (0X000000FF)
#define SR1_GAIN0_REG_MASK (0XFF000000)
#define SR1_GAIN1_REG_MASK (0X00FF0000)
#define SR1_GAIN2_REG_MASK (0X0000FF00)
#define SR1_GAIN3_REG_MASK (0X000000FF)
//Video Decode Luma
#define DECODE_BRI_ADDR (0X9)
#define DECODE_CON_ADDR (0X8)
#define DECODE_SAT_ADDR (0XA)
//Sharpness Advanced
#define SHARPNESS_SD_GAIN (0x3213)
#define SHARPNESS_SD_HP_DIAG_CORE (0x320f)
#define SHARPNESS_SD_BP_DIAG_CORE (0x3210)
#define SHARPNESS_SD_PKGAIN_VSLUMA (0x327e)
#define SHARPNESS_HD_GAIN (0x3293)
#define SHARPNESS_HD_HP_DIAG_CORE (0x328f)
#define SHARPNESS_HD_BP_DIAG_CORE (0x3290)
#define SHARPNESS_HD_PKGAIN_VSLUMA (0x32fe)
#define BRIGHTNESS_MIN (-512)
#define BRIGHTNESS_MAX (512)
#define CONTRAST_MIN (-1024)
#define CONTRAST_MAX (1023)
#define SATURATION_MIN (-128)
#define SATURATION_MAX (127)
#define HUE_MIN (-25)
#define HUE_MAX (25)
#define OSD_BRIGHTNESS_MIN (-576)
#define OSD_BRIGHTNESS_MID (-64)
#define OSD_BRIGHTNESS_MAX (448)
#define OSD_CONTRAST_MIN (-1024)
#define OSD_CONTRAST_MID (0)
#define OSD_CONTRAST_MAX (1023)
#define OSD_SATURATION_MIN (-128)
#define OSD_SATURATION_MID (0)
#define OSD_SATURATION_MAX (128)
#define OSD_HUE_MIN (-25)
#define OSD_HUE_MID (0)
#define OSD_HUE_MAX (25)
//memc
#define CPQ_MEMC_SYSFS "/dev/frc"
#define MEMDEV_CONTRL _IOW('F', 0x06, unsigned int)
//dpss_frc ioctrl
#define DPSS_FRC_DEVICE_NAME "/dev/dpss0"
typedef enum db_name_e {
DB_NAME_PQ = 0,
DB_NAME_OVERSCAN,
DB_NAME_MAX,
} db_name_t;
typedef enum rgb_ogo_type_e{
TYPE_INVALID = -1,
R_GAIN = 0,
G_GAIN,
B_GAIN,
R_POST_OFFSET,
G_POST_OFFSET,
B_POST_OFFSET,
RGB_TYPE_MAX,
} rgb_ogo_type_t;
typedef enum pq_type_e {
ALL,
COLOR,
SHARPNESS_SD,
SHARPNESS_HD,
_3D_NR_GAIN,
_2D_NR_GAIN,
DCI,
GAMMA,
FMD,
CTI_SR0,
CTI_SR1,
DEJAGGY_SR0,
DEJAGGY_SR1,
DRT_SR0,
DRT_SR1,
BLACK_STRETCH,
} pq_type_t;
typedef enum gamut_ctrl_e{
drv_ctrl = 0,
parameter_only = 1,
gamut_mtrx_only = 2,
in_out_mtrx = 3,
in_out_gamut_mtrx = 4,
parameter_and_mtrx = 5,
eotf = 6,
ootf = 7,
oetf = 8,
gamut_ctrl_max = 9,
} gamut_ctrl_t;
class CPQControl: public UEventObserver::IUEventObserverCallBack,
public CDevicePollCheckThread::IDevicePollCheckObserver,
public CDynamicBackLight::IDynamicBackLightObserver,
public SSMAction::ISSMActionObserver,
public CPQDataBase::ICPQDataBaseObserver {
public:
CPQControl();
~CPQControl();
static CPQControl *GetInstance();
void CPQControlInit(void);
void CPQControlUnInit(void);
virtual void onUevent(uevent_data_t *ueventData);
virtual void onVframeSizeChange();
virtual void onTXStatusChange();
virtual void resetAllUserSettingParam();
virtual void Set_Backlight(int value);
virtual void GetDynamicBacklighConfig(int *thtf, int *lut_mode, int *heigh_param, int *low_param);
virtual void GetDynamicBacklighParam(dynamic_backlight_Param_t *DynamicBacklightParam);
virtual bool LoadPictureModeDbSetting(void);
int LoadPQSettings();
int LoadPQTableSettings(void);
int Cpq_LoadRegs(am_regs_t *regs);
int Cpq_LoadDisplayModeRegs(struct ve_pq_load_s regs);
int DI_LoadRegs(struct am_pq_parm_s di_regs );
int Cpq_SetDIModuleParam(source_input_param_t source_input_param);
//PQ mode
int SetPQMode(int pq_mode, int is_save);
int GetPQMode(void);
int SavePQMode(int pq_mode);
int GetLastPQMode(void);
int SaveLastPQMode(int pq_mode);
int FactorySetPictureMode(int source, int HdrType, int pq_mode);
int FactoryGetPictureMode(int source, int HdrType);
int Cpq_SetVppPCMode(game_pc_mode_t pcStatus);
int Cpq_SetVdinPCMode(game_pc_mode_t pcStatus);
int Cpq_SetPCMode(game_pc_mode_t pcStatus);
int Cpq_SetVdinGameMode(game_pc_mode_t gameStatus);
int Cpq_SetGameMode(game_pc_mode_t gameStatus);
void SetPcGameMode(vpp_picture_mode_t pq_mode);
int Set_PictureMode(vpp_picture_mode_t pq_mode);
int SetPQPictureMode(vpp_picture_mode_t pq_mode);
int SetFacColorParams(source_input_param_t source_input_param, vpp_picture_mode_t pqMode);
//color Temperature
int SetColorTemperature(int temp_mode, int is_save);
int GetColorTemperature(void);
int SaveColorTemperature(int value);
int Cpq_SetColorTemperature(int level);
int Cpq_SetWhitebalance(int level, int gamma);
int SetColorTempParams(int ColorTemp, tcon_rgb_ogo_t *param);
tvpq_rgb_ogo_t GetColorTempParams(int ColorTemp);
//Brightness
int SetBrightness(int value, int is_save);
int GetBrightness(void);
int SaveBrightness(int value);
int Cpq_SetBrightnessBasicParam(source_input_param_t source_input_param);
int Cpq_SetBrightness(int value, source_input_param_t source_input_param);
int Cpq_SetVideoBrightness(int value);
//Contrast
int SetContrast(int value, int is_save);
int GetContrast(void);
int SaveContrast(int value);
int Cpq_SetContrastBasicParam(source_input_param_t source_input_param);
int Cpq_SetContrast(int value, source_input_param_t source_input_param);
int Cpq_SetVideoContrast(int value);
//Saturation
int SetSaturation(int value, int is_save);
int GetSaturation(void);
int SaveSaturation(int value);
int Cpq_SetSaturationBasicParam(source_input_param_t source_input_param);
int Cpq_SetSaturation(int value, source_input_param_t source_input_param);
//Hue
int SetHue(int value, int is_save);
int GetHue(void);
int SaveHue(int value);
int Cpq_SetHueBasicParam(source_input_param_t source_input_param);
int Cpq_SetHue(int value, source_input_param_t source_input_param);
int Cpq_SetVideoSaturationHue(int satVal, int hueVal);
void video_set_saturation_hue(signed char saturation, signed char hue, signed long *mab);
void video_get_saturation_hue(signed char *sat, signed char *hue, signed long *mab);
//Sharpness
int SetSharpness(int value, int is_save);
int GetSharpness(void);
int SaveSharpness(int value);
int Cpq_SetSharpness(int value, source_input_param_t source_input_param);
int Cpq_SetSharpnessVariable(int value, source_input_param_t source_input_param);
int Cpq_SetSharpness0Variable(int value, source_input_param_t source_input_param);
int Cpq_SetSharpness1Variable(int value, source_input_param_t source_input_param);
int SetSuperResolution(int value, int is_save);
int GetSuperResolution(void);
int SaveSuperResolution(int value);
int Cpq_SetSuperResolution(int value);
int Cpq_SetSharpnessFixedParam(int mode, source_input_param_t source_input_param);
int Cpq_SetSharpnessVariableParam(source_input_param_t source_input_param);
int Cpq_SetSharpness0FixedParam(int mode, source_input_param_t source_input_param);
int Cpq_SetSharpness0VariableParam(source_input_param_t source_input_param);
int Cpq_SetSharpness1FixedParam(int mode, source_input_param_t source_input_param);
int Cpq_SetSharpness1VariableParam(source_input_param_t source_input_param);
void InitAutoNr(void);
//NoiseReductionMode
int SetNoiseReductionMode(int nr_mode, int is_save);
int GetNoiseReductionMode(void);
int SaveNoiseReductionMode(int nr_mode);
int Cpq_SetNoiseReductionMode(vpp_noise_reduction_mode_t nr_mode, source_input_param_t source_input_param);
//GammaValue
int SetGammaValue(vpp_gamma_curve_t gamma_curve, int is_save);
int GetGammaValue();
int SaveGammaValue(int gamma);
//Memc
bool HasMemcFunc(void);
int Memc_enable(int enable);
int SetMemcMode(int memc_mode, int is_save);
int GetMemcMode(void);
int SaveMemcMode(vpp_memc_mode_t memc_mode);
int Cpq_SetMemcMode(int memc_mode, source_input_param_t source_input_param);
int SetMemcDeBlurLevel(int level, int is_save);
int GetMemcDeBlurLevel(void);
int SaveMemcDeBlurLevel(int level);
int Cpq_SetMemcDeBlurLevel(int level, source_input_param_t source_input_param);
int SetMemcDeJudderLevel(int level, int is_save);
int GetMemcDeJudderLevel(void);
int SaveMemcDeJudderLevel(int level);
int Cpq_SetMemcDeJudderLevel(int level, source_input_param_t source_input_param);
//Displaymode
int SetDisplayMode(vpp_display_mode_t display_mode, int is_save);
int GetDisplayMode(void);
int SaveDisplayMode(vpp_display_mode_t mode);
int Cpq_SetDisplayModeScreenMode(tv_source_input_t source_input, vpp_display_mode_t display_mode);
int SaveDisplayModeBySrc(int source_input, int display_mode);
int Cpq_SetDisplayModeAllTiming(tv_source_input_t source_input, vpp_display_mode_t display_mode);
int Cpq_SetDisplayModeOneTiming(tv_source_input_t source_input, vpp_display_mode_t display_mode);
int Cpq_SetVideoScreenMode(int value);
int Cpq_GetScreenModeValue(vpp_display_mode_t display_mode);
int Cpq_SetVideoCrop(int Voffset0, int Hoffset0, int Voffset1, int Hoffset1);
int Cpq_SetNonLinearFactor(int value);
int SetCurrentAspectRatioInfo(enum tvin_aspect_ratio_e aspectRatioInfo);
//LCD HDR INFO
int SetLCDhdrinfo(void);
int Cpq_SetHdrInfo(const struct lcd_optical_info_s *plcd_hdrinfo);
//Backlight
int SetBacklight(int value, int is_save);
int GetBacklight(void);
int SaveBacklight(int value);
int Cpq_SetBackLight(int value);
void Cpq_GetBacklight(int *value);
int SetDynamicBacklight(Dynamic_backlight_status_t mode, int is_save);
int GetDynamicBacklight(void);
int SaveDynamicBacklight(int mode);
int DynamicBackLightInit(void);
int GetVideoPlayStatus(void);
//smooth plus
int SetSmoothPlusMode(int smoothplus_mode, int is_save);
int GetSmoothPlusMode(void);
int SaveSmoothPlusMode(int smoothplus_mode);
int Cpq_SetSmoothPlusMode(vpp_smooth_plus_mode_t smoothplus_mode, source_input_param_t source_input_param);
//local contrast
int SetLocalContrastMode(local_contrast_mode_t mode, int is_save);
int GetLocalContrastMode(void);
int SaveLocalContrastMode(local_contrast_mode_t mode);
int Cpq_SetLocalContrastMode(local_contrast_mode_t mode);
//MpegNr
int SetMpegNr(vpp_pq_level_t mode, int is_save);
int GetMpegNr(void);
int SaveMpegNr(vpp_pq_level_t mode);
int Cpq_SetMpegNr(vpp_pq_level_t mode, source_input_param_t source_input_param);
//DI deblock
int SetDeblockMode(vpp_deblock_mode_t mode, int is_save);
int GetDeblockMode(void);
int SaveDeblockMode(vpp_deblock_mode_t mode);
int Cpq_SetDeblockMode(vpp_deblock_mode_t deblock_mode, source_input_param_t source_input_param);
//DI demosquito
int SetDemoSquitoMode(vpp_demosquito_mode_t mode, int is_save);
int GetDemoSquitoMode(void);
int SaveDemoSquitoMode(vpp_demosquito_mode_t mode);
int Cpq_SetDemoSquitoMode(vpp_demosquito_mode_t DeMosquito_mode, source_input_param_t source_input_param);
//DI MCDI
int SetMcDiMode(vpp_mcdi_mode_e mode, int is_save);
int GetMcDiMode(void);
int SaveMcDiMode(vpp_mcdi_mode_e mode);
int Cpq_SetMcDiMode(vpp_mcdi_mode_e McDi_mode, source_input_param_t source_input_param);
//color base
int SetColorBaseMode(vpp_color_basemode_t basemode, int isSave);
vpp_color_basemode_t GetColorBaseMode(void);
int SaveColorBaseModeToSSM(int value, vpp_picture_mode_t pq_mode, tv_source_input_t srcInput);
int SaveColorBaseModeAllSrc(int value, vpp_picture_mode_t pq_mode);
int SaveColorBaseMode(vpp_color_basemode_t basemode);
int Cpq_SetColorBaseMode(vpp_color_basemode_t basemode, source_input_param_t source_input_param);
//color customize
int SetColorCustomize(vpp_cms_color_t color, vpp_cms_type_t type, int value, int isSave);
vpp_single_color_param_cm_t GetColorCustomize(vpp_cms_color_t color);
int SetColorCustomizeBy3DLut(vpp_cms_6color_t color, vpp_cms_type_t type, int value, int isSave);
vpp_single_color_param_3dlut_t GetColorCustomizeBy3DLut(vpp_cms_6color_t color);
int ResetColorCustomize(vpp_cms_method_t mode);
int SetColorCustomizeEnable(int enable);
int GetColorCustomizeEnable(void);
int SetWbGammaEnable(int enable);
int GetWbGammaEnable(void);
int SetWbGammaMode(int mode);
int GetWbGammaMode(void);
//BlackExtension
int SetBlackExtensionParam(source_input_param_t source_input_param);
int Cpq_SetCABC(const struct db_cabc_param_s *pCABC);
int SetCabc(void);
int Cpq_SetAAD(const struct db_aad_param_s *pAAD);
int SetAad(void);
//dynamic contrast
int SetDnlpMode(Dynamic_contrast_mode_t mode, int is_save);
int GetDnlpMode();
int SaveDnlpMode(Dynamic_contrast_mode_t mode);
int Cpq_SetDnlpMode(Dynamic_contrast_mode_t level, source_input_param_t source_input_param);
int Cpq_SetDNLPStatus(enum dnlp_state_e status);
//FilmMaker mode
int SetFilmMakerMode(pq_film_maker_mode_t mode, int is_save);
int GetFilmMakerMode(void);
//Demo
int SetPQModuleDemoState(pq_module_demo_t modules, pq_module_demo_state_t state);
int GetPQModuleDemoState(int modules);
int SetPQModuleDemoAisrWin(pq_module_demo_aisr_win_t aisr_win);
int GetPQModuleDemoAisrWin(void);
int SetPQModuleDemoAisrAxis(pq_module_demo_aisr_axis_t axis);
pq_module_demo_aisr_axis_t GetPQModuleDemoAisrAxis(void);
bool HasAisrDemoLeftRightShow(void);
//Vdin sig info
vdin_sig_info_t GetVdinSigInfo(void);
//Factory
int FactoryResetPQMode(void);
int FactoryResetColorTemp(void);
int FactorySetPQMode_Brightness(source_input_param_t source_input_param, int pq_mode, int brightness );
int FactoryGetPQMode_Brightness(source_input_param_t source_input_param, int pq_mode );
int FactorySetPQMode_Contrast(source_input_param_t source_input_param, int pq_mode, int contrast );
int FactoryGetPQMode_Contrast(source_input_param_t source_input_param, int pq_mode );
int FactorySetPQMode_Saturation(source_input_param_t source_input_param, int pq_mode, int saturation );
int FactoryGetPQMode_Saturation(source_input_param_t source_input_param, int pq_mode );
int FactorySetPQMode_Hue(source_input_param_t source_input_param, int pq_mode, int hue );
int FactoryGetPQMode_Hue(source_input_param_t source_input_param, int pq_mode );
int FactorySetPQMode_Sharpness(source_input_param_t source_input_param, int pq_mode, int sharpness );
int FactoryGetPQMode_Sharpness(source_input_param_t source_input_param, int pq_mode );
int FactorySetWhiteBalanceRedGain(int source_input, int colortemp_mode, int rgain);
int FactorySaveWhiteBalanceRedGain(int source_input, int colortemp_mode, int rgain);
int FactoryGetWhiteBalanceRedGain(int source_input, int colortemp_mode);
int FactorySetWhiteBalanceGreenGain(int source_input, int colortemp_mode, int ggain);
int FactorySaveWhiteBalanceGreenGain(int source_input, int colortemp_mode, int ggain);
int FactoryGetWhiteBalanceGreenGain(int source_input, int colortemp_mode);
int FactorySetWhiteBalanceBlueGain(int source_input, int colortemp_mode, int bgain);
int FactorySaveWhiteBalanceBlueGain(int source_input, int colortemp_mode, int bgain);
int FactoryGetWhiteBalanceBlueGain(int source_input, int colortemp_mode);
int FactorySetWhiteBalanceRedPostOffset(int source_input, int colortemp_mode, int roffset);
int FactorySaveWhiteBalanceRedPostOffset(int source_input, int colortemp_mode, int roffset);
int FactoryGetWhiteBalanceRedPostOffset(int source_input, int colortemp_mode);
int FactorySetWhiteBalanceGreenPostOffset(int source_input, int colortemp_mode, int goffset);
int FactorySaveWhiteBalanceGreenPostOffset(int source_input, int colortemp_mode, int goffset);
int FactoryGetWhiteBalanceGreenPostOffset(int source_input, int colortemp_mode);
int FactorySetWhiteBalanceBluePostOffset(int source_input, int colortemp_mode, int boffset);
int FactorySaveWhiteBalanceBluePostOffset(int source_input, int colortemp_mode, int boffset);
int FactoryGetWhiteBalanceBluePostOffset(int source_input, int colortemp_mode);
int FactorySetRGBGainOffset(int colortemp_mode, tcon_rgb_ogo_t params);
int FactoryGetRGBGainOffset(int colortemp_mode, tcon_rgb_ogo_t *params);
int FactoryResetNonlinear(void);
int FactorySetParamsDefault(void);
int FactorySetNolineParams(source_input_param_t source_input_param, int type, noline_params_t noline_params);
noline_params_t FactoryGetNolineParams(source_input_param_t source_input_param, int type);
int FactorySetHdrMode(int mode);
int FactoryGetHdrMode(void);
int FactorySetOverscanParams(source_input_param_t source_input_param, vpp_display_mode_t dmode, tvin_cutwin_t cutwin_t);
tvin_cutwin_t FactoryGetOverscanParams(source_input_param_t source_input_param, vpp_display_mode_t dmode);
int FactorySetGamma(int gamma_r_value, int gamma_g_value, int gamma_b_value);
int FcatorySSMRestore(void);
int Cpq_SetRGBOGO(const struct tcon_rgb_ogo_s *rgbogo);
int Cpq_GetRGBOGO(const struct tcon_rgb_ogo_s *rgbogo);
int Cpq_LoadGamma(vpp_gamma_curve_t gamma_curve, vpp_color_temperature_mode_t level);
int Cpq_SetGammaTbl_R(unsigned short red[GAMMA_NUMBER]);
int Cpq_SetGammaTbl_G(unsigned short green[GAMMA_NUMBER]);
int Cpq_SetGammaTbl_B(unsigned short blue[GAMMA_NUMBER]);
int Cpq_SetGammaOnOff(int onoff);
int FactorySetDNLPCurveParams(source_input_param_t source_input_param, int level, int final_gain);
int FactoryGetDNLPCurveParams(source_input_param_t source_input_param, int level);
int FactorySetNoiseReductionParams(source_input_param_t source_input_param, vpp_noise_reduction_mode_t nr_mode, int addr, int val);
int FactoryGetNoiseReductionParams(source_input_param_t source_input_param, vpp_noise_reduction_mode_t nr_mode, int addr);
int SetEyeProtectionMode(tv_source_input_t source_input, int level, int is_save);
int GetEyeProtectionMode(tv_source_input_t source_input);
int SaveEyeProtectionMode(int level);
int Cpq_GetEyeProtectionOffset(int type, int level);
int Cpq_SSMReadNTypes(int id, int data_len, int offset);
int Cpq_SSMWriteNTypes(int id, int data_len, int data_buf, int offset);
int Cpq_GetSSMActualAddr(int id);
int Cpq_GetSSMActualSize(int id);
int SSMRecovery(void);
int Cpq_GetSSMStatus();
enum hdr_type_e Cpq_GetSourceHDRType(tv_source_input_t source_input);
int SetFlagByCfg(void);
int HasPqCaseFunc(pq_case_func_e type);
int SetPLLValues(source_input_param_t source_input_param);
int SetCVD2Values(void);
int SetCurrentSourceInputInfo(source_input_param_t source_input_param);
int SetCurrentSource(tv_source_input_t source_input);
source_input_param_t GetCurrentSourceInputInfo();
int GetHistParam(struct ve_hist_s *hist);
bool isFileExist(const char *file_name);
int FactoryGetRGBPattern();
int FactorySetRGBPattern(int r, int g, int b);
int FactorySetGrayPattern(int value);
int FactoryGetGrayPattern();
int FactorySetDDRSSC (int step);
int FactoryGetDDRSSC(void);
int FactorySetLVDSSSCLevel(int level);
int FactoryGetLVDSSSCLevel(void);
int FactorySetLVDSSSCFrep(int step);
int FactoryGetLVDSSSCFrep(void);
int FactorySetLVDSSSCMode(int mode);
int FactoryGetLVDSSSCMode(void);
int GetLVDSSSCParams(struct aml_lcd_ss_ctl_s *param);
int SaveLVDSSSCParams(struct aml_lcd_ss_ctl_s *param);
int SetDecodeLumaParamsCheckVal(int param_type, int val);
int FactorySetDecodeLumaParams(source_input_param_t source_input_param, int param_type, int val);
int FactoryGetDecodeLumaParams(source_input_param_t source_input_param, int param_type);
//HDR
int SetHDRMode(int mode);
int GetHDRMode(void);
int GetSourceHDRType();
tvpq_databaseinfo_t GetDbVersionInfo(db_name_t name, db_version_type_t type);
int SetCurrentHdrInfo (int hdrInfo);
int SetDtvKitSourceEnable(bool isEnable);
//AI
int SetAipqEnable(bool isEnable);
int GetAipqEnable(void);
void enableAipq(bool isEnable);
int AiParamLoad(void);
//AI SR
bool HasAiSrFunc(void);
int SetAiSrMode(aisr_mode_e mode, int is_save);
int GetAiSrMode(void);
int SaveAiSrMode(int mode);
int GetAiSrModeRange(void);
int Cpq_SetAiSrEnable(bool enable);
int Cpq_SetAiSrMode(aisr_mode_e mode, source_input_param_t source_input_param);
int Cpq_SetNNAiSrMode(aisr_mode_e mode, source_input_param_t source_input_param);
int Cpq_SetInLineAiSrMode(aisr_mode_e mode, source_input_param_t source_input_param);
//color space
int SetColorGamutMode(int value, int is_save);
int GetColorGamutMode(void);
//HDR tone mapping
int HlgToneMappingInit(void);
int SetHDRTMData(int *reGain);
//HDR TMO
int SetHdrToneMappingMode(hdr_tmo_t mode, int is_save);
int GetHdrToneMappingMode();
int SaveHDRTMOMode(hdr_tmo_t mode);
int Cpq_SetHDRTMOMode(int mode);
//black stretch
int SetBlackStretch(int level, int is_save);
int GetBlackStretch(void);
int SaveBlackStretch(int level);
int Cpq_BlackStretch(int level, source_input_param_t source_input_param);
//white stretch
int SetWhiteStretch(int level, int is_save);
int GetWhiteStretch(void);
int SaveWhiteStretch(int level);
int Cpq_SetWhiteStretch(int level, source_input_param_t source_input_param);
//bule stretch
int SetBlueStretch(int level, int is_save);
int GetBlueStretch(void);
int SaveBlueStretch(int level);
int Cpq_BlueStretch(int level, source_input_param_t source_input_param);
//chroma
int SetChromaCoring(int level, int is_save);
int GetChromaCoring(void);
int SaveChromaCoring(int level);
int Cpq_ChromaCoring(int level, source_input_param_t source_input_param);
int SetLocalDimming(int level, int is_save);
int GetLocalDimming(void);
int SaveLocalDimming(int level);
int Cpq_SetLocalDimming(vpp_pq_level_t level);
int SetAmdolbyDarkDetail(int mode, int is_save);
int GetAmdolbyDarkDetail(void);
int SaveAmdolbyDarkDetail(int value);
int Cpq_SetAmdolbyDarkDetail(int mode);
int Cpq_SetAmdolbyPQMode(int mode);
int ResetPictureUiSetting(void);
int SetSharpnessParamsCheckVal(int param_type, int val);
int MatchSharpnessRegAddr(int param_type, int isHd);
int FactorySetSharpnessParams(source_input_param_t source_input_param, sharpness_timing_t sr_timing, int param_type, int val);
int FactoryGetSharpnessParams(source_input_param_t source_input_param, sharpness_timing_t sr_timing, int param_type);
int FactorySetPQEn(int pq_type, int isEnable);
int FactoryGetPQEn(int pq_type);
int DBGammaBlend(tcon_gamma_table_t *wb_gamma, unsigned int *index_gamma);
bool SetColorTemperatureDataBySrcTimming(tcon_rgb_ogo_t *params, pq_source_input_t src, pq_sig_fmt_t timming, int level);
bool GetColorTemperatureDataBySrcTimming(tcon_rgb_ogo_t *params, pq_source_input_t src, pq_sig_fmt_t timming, int level);
int SetWhitebalanceGamma(int channel, int point, int offset);
int GetWhitebalanceGamma(int channel, int point);
int FactorySetWhitebalanceGamma(int colortemp, int channel, int point, int offset);
int FactoryGetWhitebalanceGamma(int colortemp, int channel, int point);
int FactorySetGammaTable(unsigned int *pData, int type, int level, int len);
int FactoryGetGammaTable(unsigned int *pData, int type, int level, int len);
int FactoryClearGammaTable(void);
int SetPQByPassLevel(int level);
int SetGammaPattern(int enable, int R, int G, int B);
int FactoryResetPictureModeData(void);
int FactoryResetAllPictureModeData(void);
int FactoryGetPictureModeData(int pqmode, pq_mode_parameters *params);
int FactoryGetDefaultPictureModeData(int pqmode, pq_mode_parameters *params);
int FactoryGetDefaultAllPQData(all_pq_parameters *params);
int FactoryCopyPictureModeDataFromPQMode(int pqmode);
int FactoryCopyPictureModeDataToAllSource(void);
private:
int VPPOpenModule(void);
int VPPCloseModule(void );
int VPPDeviceIOCtl(int request, ...);
int VpqOpenModule(void);
int VpqCloseModule(void );
int VpqDeviceIOCtl(int request, ...);
int VideoOpenModule(void);
int VideoCloseModule(void );
int VideoDeviceIOCtl(int request, ...);
int DIOpenModule(void);
int DICloseModule(void);
int DIDeviceIOCtl(int request, ...);
int MEMCOpenModule(void);
int MEMCCloseModule(void);
int MEMCDeviceIOCtl(int request, ...);
int DPSS_MEMCOpenModule(void);
int DPSS_MEMCCloseModule(void);
int DPSS_MEMCDeviceIOCtl(int request, ...);
int LCDOpenModule(void);
int LCDCloseModule(void);
int LCDDeviceIOCtl(int request, ...);
int VDINOpenModule(void);
int VDINCloseModule(void);
int VDINDeviceIOCtl(int request, ...);
int AFEDeviceIOCtl ( int request, ... );
int Cpq_GetAllmAndVrrInfo(void);
void stopVdin(void);
void onSigStatusChange(void);
void onAllmOrVrrStatusChange(void);
int SetCurrenSourceInfo(struct tvin_parm_s *sig_info);
enum tvin_sig_fmt_e getVideoResolutionToFmt();
bool GetDecoderHdrSdrChangedFlag(void);
int GetWindowStatus(void);
int Cpq_SetXVYCCMode(vpp_xvycc_mode_t xvycc_mode, source_input_param_t source_input_param);
int pqWriteSys(const char *path, const char *val);
int pqReadSys(const char *path, char *buf, int count);
void pqTransformStringToInt(const char *buf, int *val);
unsigned int GetSharpnessRegVal(int addr);
int Cpq_GetInputVideoFrameHeight(tv_source_input_t source_input);
output_type_t MapDbTvoutWithIOResolution(int inputFrameHeight, int outputFrameHeight);
output_type_t CheckOutPutMode(tv_source_input_t source_input);
pq_source_input_t CheckPQSource(tv_source_input_t source);
pq_sig_fmt_t CheckPQTimming(enum hdr_type_e hdr_type);
bool isPqDatabaseMachChip();
bool CheckPQModeTableInDb(void);
int Cpq_SetVadjEnableStatus(int isvadj1Enable, int isvadj2Enable);
bool IsAllmVrrUiFuncCtrl(int *allm_func_ctrl, int *vrr_func_ctrl);
bool IsAllmVrrGameMode(void);
bool IsAllmDviMonitorMode(void);
int Cpq_SetPqModeToGame(pq_mode_by_signal_t mode);
int Cpq_SetPqModeToMonitor(pq_mode_by_signal_t mode);
int Cpq_SetPqModeToFilmMaker(int ui_fmm, int drv_fmm);
bool CheckPQLoadTableSourceInput(source_input_param_t SourceInput);
bool CheckSSMData(void);
//wb & gamma
int GetBaseGammaData(int level, GAMMA_TABLE *pData);
int GetWBGammaData(int level, GAMMA_TABLE *pData);
int GetGammaPowerData(int level, GAMMA_TABLE *pData);
double GetGammaPower(vpp_gamma_curve_t mode);
int CubeInterpolationProcess(interpolation_info_t *output, unsigned short *gamma, int num_points);
//color customize
int SaveColorCustomize(vpp_cms_color_t color, vpp_cms_type_t type, int value);
int Cpq_SetColorCustomize(vpp_cms_color_t color, vpp_cms_type_t type, int value);
int Cpq_SetColorCustomizeEnable(int enable);
int SaveColorCustomizeBy3DLut(vpp_cms_6color_t color, vpp_cms_type_t type, int value);
int Cpq_SetColorCustomizeBy3DLut(vpp_cms_6color_t color, vpp_cms_type_t type, int value);
int Cpq_GetColorCustomizeDefValue(TABLE_CMS *pCmsCm);
int Cpq_GetColorCustomize3DlutDefValue(TABLE_CMS_3DLUT *pCms3DLut);
//FilmMaker mode
int SaveFilmMakerMode(pq_film_maker_mode_t mode);
//color space
int SaveColorGamutMode(int value);
int Cpq_SetColorGamutMode(vpp_colorgamut_mode_t value);
int Cpq_SetColorGamutModeNew(vpp_colorgamut_mode_t value);
int Cpq_SetColorGamutWrapper(vpp_colorgamut_mode_t value);
int Cpq_SetColorGamut(vpp_colorgamut_mode_t value);
int Cpq_SetColorGamutModeSrcDest(vpp_colorgamut_mode_t value);
//pqEn
bool HasSharpness(void);
int GetChipType(void);
int GetDriverValueMap(vpp_cms_type_t type, int value);
int MergeSameAddrVal(am_regs_t *regs, am_regs_t *tmp_reg);
int GetNonlinearOsdRemapVal(nonline_params_type_t type, int Value);
//ssm_data
bool SetPictureMode(vpp_picture_mode_t PictureMode);
bool GetPictureMode(vpp_picture_mode_t *PictureMode);
bool SetLastPictureMode(vpp_picture_mode_t PictureMode);
bool GetLastPictureMode(vpp_picture_mode_t *PictureMode);
bool SetPictureModeBySource(vpp_picture_mode_t PictureMode, int source, int timming);
bool GetPictureModeBySource(vpp_picture_mode_t *PictureMode, int source, int timming);
bool SetColorTemperatureData(tcon_rgb_ogo_t *params, int level);
bool GetColorTemperatureData(tcon_rgb_ogo_t *params, int level);
bool SetWhitebalanceGammaData(WB_GAMMA_TABLE *params, int level);
bool GetWhitebalanceGammaData(WB_GAMMA_TABLE *params, int level);
bool SetColorCustomizeDataBy3Dlut(TABLE_CMS_3DLUT *params, vpp_picture_mode_t mode = VPP_PICTURE_MODE_MAX, pq_source_input_t source = PQ_SRC_MAX, pq_sig_fmt_t timming = PQ_FMT_MAX);
bool GetColorCustomizeDataBy3Dlut(TABLE_CMS_3DLUT *params, vpp_picture_mode_t mode = VPP_PICTURE_MODE_MAX, pq_source_input_t source = PQ_SRC_MAX, pq_sig_fmt_t timming = PQ_FMT_MAX);
bool ResetUserColorCustomizeDataBy3Dlut(vpp_picture_mode_t mode = VPP_PICTURE_MODE_MAX, pq_source_input_t source = PQ_SRC_MAX, pq_sig_fmt_t timming = PQ_FMT_MAX);
bool ResetColorCustomizeDataBy3DlutAll(void);
//CRI DATA
bool FactoryGetWhitebalanceRGBGainOffsetData(tcon_rgb_ogo_t *pData, int level);
bool FactorySetWhitebalanceRGBGainOffsetData(tcon_rgb_ogo_t *pData, int level);
bool CheckCriDataWhitebalanceRGBGainOffsetData(void);
bool FactorySetWhitebalanceGammaData(WB_GAMMA_TABLE_DATA *params, int level);
bool FactoryGetWhitebalanceGammaData(WB_GAMMA_TABLE_DATA *params, int level);
bool CheckCriDataWhitebalanceGammaData(void);
bool FactoryGetGammaDataTable(GAMMA_TABLE *pData, int level);
bool FactorySetGammaDataTable(GAMMA_TABLE *pData, int level);
//SQL3 TV_PICTURE
bool setPictureMode(PICTURE_MODE_DEFAULT *params, int source = _CURRENT, int timming = _CURRENT);
bool getPictureMode(PICTURE_MODE_DEFAULT *params, int source = _CURRENT, int timming = _CURRENT);
bool setLastPictureMode(PICTURE_MODE_DEFAULT *params, int source = _CURRENT, int timming = _CURRENT);
bool getLastPictureMode(PICTURE_MODE_DEFAULT *params, int source = _CURRENT, int timming = _CURRENT);
bool getDefaultPictureMode(PICTURE_MODE_DEFAULT *params, int source = _CURRENT, int timming = _CURRENT);
bool ResetUserPictureMode(int source = _CURRENT, int timming = _CURRENT);
bool ResetPictureModeBySrc(void);
bool ResetPictureModeAll(void);
bool SetPictureModeData(PICTURE_MODE_PARAM *params, int PictureMode = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool GetPictureModeData(PICTURE_MODE_PARAM *params, int PictureMode = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool GetDefaultPictureModeData(PICTURE_MODE_PARAM *params, int PictureMode = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool ResetUserPictureModeData(int mode = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool ResetPictureModeDataBySrc(void);
bool ResetPictureModeDataAll(void);
bool SetNonlinearData(NonlinearModeType *params, int source = _CURRENT, int timming = _CURRENT);
bool GetNonlinearData(NonlinearModeType *params, int source = _CURRENT, int timming = _CURRENT);
bool GetDefaultNonlinearData(NonlinearModeType *params, int source = _CURRENT, int timming = _CURRENT);
bool ResetUserNonlinearData(int source = _CURRENT, int timming = _CURRENT);
bool ResetNonlinearDataAll(void);
bool setColorTemperatureData(COLORTEMP_DATA *params, int level = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool getColorTemperatureData(COLORTEMP_DATA *params, int level = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool getDefaultColorTemperatureData(COLORTEMP_DATA *params, int level = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool ResetUserColorTemperatureData(int level = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool ResetColorTemperatureDataBySrc(void);
bool ResetColorTemperatureDataAll(void);
bool setRGBOffsetData(COLORTEMP_OFFSET_DATA *params, int level = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool getRGBOffsetData(COLORTEMP_OFFSET_DATA *params, int level = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool getDefaultRGBOffsetData(COLORTEMP_OFFSET_DATA *params, int level = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool ResetUserRGBOffsetData(int level = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool ResetRGBOffsetDataAll(void);
bool setWhiteBalanceGammaData(GAMMA_OFFSET_DATA *params, int level = _CURRENT, int mode = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool getWhiteBalanceGammaData(GAMMA_OFFSET_DATA *params, int level = _CURRENT, int mode = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool getDefaultWhiteBalanceGammaData(GAMMA_OFFSET_DATA *params, int level = _CURRENT, int mode = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool ResetUserWhiteBalanceGammaData(int level = _CURRENT, int mode = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool ResetWhiteBalanceGammaDataBySrc(void);
bool ResetWhiteBalanceGammaDataAll(void);
bool SetColorCustomizeData(TABLE_CMS *params, int mode = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool GetColorCustomizeData(TABLE_CMS *params, int mode = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool GetDefaultColorCustomizeData(TABLE_CMS *params, int mode = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool ResetUserColorCustomizeData(int mode = _CURRENT, int source = _CURRENT, int timming = _CURRENT);
bool ResetColorCustomizeDataBySrc(void);
bool ResetColorCustomizeDataAll(void);
bool SetPictureStructDataBySrc(PICTURE_SETTING_BY_SRC *params, int source = _CURRENT);
bool GetPictureStructDataBySrc(PICTURE_SETTING_BY_SRC *params, int source = _CURRENT);
bool GetDefaultPictureStructDataBySrc(PICTURE_SETTING_BY_SRC *params, int source = _CURRENT);
bool ResetUserPictureStructDataBySrc(int source = _CURRENT);
bool ResetPictureStructDataBySrc(void);
bool ResetPictureStructDataBySrcAll(void);
bool SetPictureStructDataGlobal(PICTURE_SETTING_GLOBAL *params);
bool GetPictureStructDataGlobal(PICTURE_SETTING_GLOBAL *params);
bool ResetPictureStructDataGlobal(void);
//SQL3 WHITE_BALANCE
bool factoryGetWhitebalanceRGBGainOffsetData(COLORTEMP_DATA *pData, int level = _CURRENT);
bool factorySetWhitebalanceRGBGainOffsetData(COLORTEMP_DATA *pData, int level = _CURRENT);
bool factoryGetMultipointGammaData(GAMMA_OFFSET_DATA *pData, int level = _CURRENT, int mode = _CURRENT);
bool factorySetMultipointGammaData(GAMMA_OFFSET_DATA *pData, int level = _CURRENT, int mode = _CURRENT);
bool factorySetGammaTableData(GAMMA_TABLE *pData, int level);
bool factoryGetGammaTableData(GAMMA_TABLE *pData, int level);
bool mInitialized = false;
//cfg
bool mbCpqCfg_separate_db_enable = false;
bool mbCpqCfg_pq_enable = false;
bool mbCpqCfg_amvecm_basic_enable = false;
bool mbCpqCfg_amvecm_basic_withOSD_enable = false;
bool mbCpqCfg_contrast_rgb_enable = false;
bool mbCpqCfg_contrast_rgb_withOSD_enable = false;
bool mbCpqCfg_blackextension_enable = false;
bool mbCpqCfg_whiteextension_enable = false;
bool mbCpqCfg_sharpness_enable = false;
bool mbCpqCfg_sharpness0_enable = false;
bool mbCpqCfg_sharpness1_enable = false;
bool mbCpqCfg_sharpnesspi_enable = false;
bool mbCpqCfg_di_enable = false;
bool mbCpqCfg_mcdi_enable = false;
bool mbCpqCfg_deblock_enable = false;
bool mbCpqCfg_nr_enable = false;
bool mbCpqCfg_demoSquito_enable = false;
bool mbCpqCfg_gamma_enable = false;
bool mbCpqCfg_cm2_enable = false;
bool mbCpqCfg_whitebalance_enable = false;
bool mbCpqCfg_dnlp_enable = false;
bool mbCpqCfg_xvycc_enable = false;
bool mbCpqCfg_display_overscan_enable = false;
bool mbCpqCfg_cvd2_enable = false;
bool mbCpqCfg_local_contrast_enable = false;
bool mbCpqCfg_hdmi_out_with_fbc_enable = false;
bool mbCpqCfg_pq_mode_check_source_enable = false;
bool mbCpqCfg_pq_mode_check_hdr_enable = false;
bool mbCpqCfg_pq_param_check_source_enable = false;
bool mbCpqCfg_pq_param_check_hdr_enable = false;
bool mbCpqCfg_ldim_enable = false;
bool mbCpqCfg_lcd_hdrinfo_enable = false;
bool mbAllmModeCfg_enable = false;
bool mbItcontentModeCfg_enable = false;
bool mbDviModeCfg_enable = false;
bool mbCpqCfg_ai_enable = false;
bool mbCpqCfg_aicolor_enable = false;
bool mbCpqCfg_aisr_enable = false;
bool mbCpqCfg_inlineaisr_enable = false;
bool mbCpqCfg_aad_enable = false;
bool mbCpqCfg_cabc_enable = false;
bool mbCpqCfg_smoothplus_enable = false;
bool mbCpqCfg_hdrtmo_enable = false;
bool mbCpqCfg_memc_enable = false;
bool mbCpqCfg_separate_black_blue_chorma_db_enable = false;
bool mbCpqCfg_bluestretch_enable = false;
bool mbCpqCfg_chromacoring_enable = false;
bool mbCpqCfg_backlight_enable = false;
bool mbCpqCfg_global_dimming_enable = false;
bool mbCpqCfg_local_dimming_enable = false;
bool mbCpqCfg_color_range_mode_enable = false;
bool mbCpqCfg_super_resolution_enable = false;
bool mbCpqCfg_color_space_enable = false;
bool mbCpqCfg_gamut_enable = false;
bool mbCpqCfg_film_mode_enable = false;
bool mbCpqCfg_new_picture_mode_enable = false;
bool mbCpqCfg_dpss_enable = false;
bool mbCpqCfg_eye_protection_enable = false;
bool mbDtvKitEnable = false;
bool mbDatabaseMatchChipStatus = false;
bool mbVideoIsPlaying = false;//video don't playing
bool mbResetPicture = false;
bool mbFilmmakerModeFlag = false;
bool mDisplayMode4k120 = false;
bool mDisplayMode4k100 = false;
bool mbLowLatency = false;
bool mSatisfyEvent = false;
bool aAllmSrcFmtFlag[PQ_SRC_MAX][PQ_FMT_MAX];
bool aFmmSrcFmtFlag[PQ_SRC_MAX][PQ_FMT_MAX];
bool aPCSrcFmtFlag[PQ_SRC_MAX][PQ_FMT_MAX];
int mAmvppFd = -1;
int mAmvideoFd = -1;
int mVpqFd = -1;
int mDiFd = -1;
int mMemcFd = -1;
int mDpssMemcFd = -1;
int mLcdFd = -1;
int mColorTuneEnable = 1;
int _unused = -1;
int mChipType = -1;
CPQdb *mPQdb = NULL;
COverScandb *mpOverScandb = NULL;
SSMAction *mSSMAction = NULL;
CConfigFile *mPQConfigFile = NULL;
WhitebalanceDataBase *mWBDataBase = NULL;
CPQDataBase *mDataBase = NULL;
CVdin *mpVdin = NULL;
CHlgToneMapping *mHlgToneMapping = NULL;
CDolbyVision *mDolbyVision = NULL;
static CPQControl *mInstance;
CDevicePollCheckThread mCDevicePollCheckThread;
UEventObserver mUEventObserver;
CDynamicBackLight mDynamicBackLight;
tcon_rgb_ogo_t rgbfrompq[3];
source_input_param_t mCurrentSourceInputInfo;
struct tvin_parm_s mCurrentSignalInfo;
tvin_inputparam_t mCurrentTvinInfo;
am_regs_t mRegsData;
am_regs_t mRegsDataNew;
game_pc_mode_t mGamemode = MODE_OFF;
tv_source_input_t mSourceInputForSaveParam = SOURCE_MPEG;
pq_source_input_t CurSource = PQ_SRC_MPEG;
pq_sig_fmt_t CurTimming = PQ_FMT_SDR;
enum hdr_type_e mCurrentHdrType = HDRTYPE_NONE;
enum tvin_aspect_ratio_e mCurrentAfdInfo = TVIN_ASPECT_NULL;
resolution_height_type_t mOutPutFrameHeightType = UHD_HEIGHT_2160;//for aisr demo patch
output_type_t mCurrentOutputType = OUTPUT_TYPE_LVDS;
//for callback to upper client
public:
class ICPQControlObserver {
public:
ICPQControlObserver() {};
virtual ~ICPQControlObserver() {};
virtual void GetCbDataFromLibpq(CPQControlCb &cb_data) = 0;
};
void setObserver (ICPQControlObserver *pOb) {
mpObserver = pOb;
};
private:
ICPQControlObserver *mpObserver = NULL; //to get upper pqserver object
int mPreAllmGameMode = 0;
int mPreFilmMakerMode[PQ_SRC_MAX];
int mPreRefreshRate = 0;
int mPrePqModeInfo[4] = {-1, -1, -1, -1};
int Cpq_SetHdrType(int data);
int Cpq_SetAllmStatus(void);
int Cpq_SetFilmMakerMode(void);
int Cpq_SetRefreshRate(void);
int Cpq_SetPqModeAutoChanged(int pq_mode, int hdr_type, int input_src, bool low_latency);
int Cpq_SetPqModeManualChanged(int data);
};
#endif