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