/* * Copyright (c) 2019 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: */ #pragma once #include "CPqClientCb.h" #include "common.h" class PqClient { private: // forbidden new PqClient, must call with GetInstance PqClient(); protected: ~PqClient(); public: static PqClient *GetInstance(); int SetPQMode(int mode, int isSave = 0); int GetPQMode(); int GetLastPQMode(); int SetColorTemperature(int level, int isSave); int GetColorTemperature(void); int SetColorTemperatureUserParam(tvpq_rgb_ogo_t *pData); tvpq_rgb_ogo_t GetColorTemperatureUserParam(void); int SetBrightness(int value, int isSave = 0); int GetBrightness(); int SetContrast(int value, int isSave = 0); int GetContrast(); int SetSaturation(int value, int isSave = 0); int GetSaturation(); int SetHue(int value, int isSave = 0); int GetHue(); int SetSharpness(int value, int isSave = 0); int GetSharpness(); int SetNoiseReductionMode(int level, int isSave = 0); int GetNoiseReductionMode(); int SetEyeProtectionMode(int sourceInput, int level, int isSave = 0); int GetEyeProtectionMode(); int SetGammaValue(int value, int isSave); int GetGammaValue(); int SetDisplayMode(int isUsed, int level, int isSave = 0); int GetDisplayMode(); int SaveDisplayMode(int sourceInput, int level); int SetBacklight(int value, int isSave = 0); int GetBacklight(); int SetDynamicBacklight(int level, int isSave = 0); int GetDynamicBacklight(); int SetLocalContrastMode(int level, int isSave = 0); int GetLocalContrastMode(); int SetColorBaseMode(int level, int isSave = 0); int GetColorBaseMode(); int setCurrentSourceInfo(int sourceInput, int sigFmt, int transFmt); source_input_param_t getCurrentSourceInfo(); int SetColorGamutMode(int level, int isSave); int GetColorGamutMode(); int GetSourceHDRType(); int SetDynamicContrastMode(int level, int isSave); int GetDynamicContrastMode(); int SSMRecovery(void); int SetMemcMode(int level, int isSave); int GetMemcMode(); int SetMemcDeBlurLevel(int value, int isSave); int GetMemcDeBlurLevel(); int SetMemcDeJudderLevel(int value, int isSave); int GetMemcDeJudderLevel(); int SetDecontourMode(int level, int isSave); int GetDecontourMode(); int SetDeBlockMode(int level, int isSave); int GetDeBlockMode(); int SetDeMosquitoMode(int level, int isSave); int GetDeMosquitoMode(); int SetBlackStretch(int level, int isSave); int GetBlackStretch(); int SetWhiteStretch(int level, int isSave); int GetWhiteStretch(); int SetBlueStretch(int level, int isSave); int GetBlueStretch(); int SetAipqEnable(int level); int GetAipqEnable(); int SetAiSrMode(int level, int is_save); int GetAiSrMode(void); int GetAiSrModeRange(void); int SetLdim(int level, int isSave); int GetLdim(); int SetMpegNr(int level, int isSave); int GetMpegNr(); int ResetPictureUiSetting(void); int SetColorCustomize(int color, int type, int value, int isSave); vpp_single_color_param_cm_t GetColorCustomize(int color); int SetColorCustomizeEnable(int value); int GetColorCustomizeEnable(void); int SetWhitebalanceGammaEnable(int value); int GetWhitebalanceGammaEnable(void); int SetWhitebalanceGammaMode(int lavel); int GetWhitebalanceGammaMode(void); int SetColorCustomizeBy3DLut(int color, int type, int value, int isSave); vpp_single_color_param_3dlut_t GetColorCustomizeBy3DLut(int color); int ResetColorCustomize(int level); /* to ssmdata*/ /*channel: R channel(0), G channel(1), B channel(2)*/ /*point: gray (%0 ~ 100% ) %5 per step. 0 ~ 21*/ /*offset: -1023 ~ 1023*/ int SetWhitebalanceGamma(int channel, int point, int offset); int GetWhitebalanceGamma(int channel, int point); int SetSuperResolution(int level, int isSave); int GetSuperResolution(void); int SetHdrToneMappingMode(int level, int isSave); int GetHdrToneMappingMode(void); tvpq_databaseinfo_t GetDbVersionInfo(int level, int type); int SetFilmMakerMode(int level, int isSave); int GetFilmMakerMode(void); int HasPqCaseFunc(pq_case_func_e level); int SetLoadPq(void); int SetPQModuleDemoState(int level, int state); int GetPQModuleDemoState(int level); int SetPQModuleDemoAisrWin(int level); int GetPQModuleDemoAisrWin(void); int SetPQModuleDemoAisrAxis(int xstart, int ystart, int xend, int yend); pq_module_demo_aisr_axis_t GetPQModuleDemoAisrAxis(void); vdin_sig_info_t GetVdinSigInfo(void); /* * Factory apis */ int FactoryResetPQMode(void); int FactoryResetColorTemp(void); int FactoryWhiteBalanceSetColorTemperature(int sourceInput, int sigFmt, int transFmt, int level, int isSave = 0); int FactoryWhiteBalanceGetColorTemperature(); int FactorySetPQMode_Brightness(int sourceInput, int sigFmt, int transFmt, int pqMode, int value); int FactoryGetPQMode_Brightness(int sourceInput, int sigFmt, int transFmt, int pqMode); int FactorySetPQMode_Contrast(int sourceInput, int sigFmt, int transFmt, int pqMode, int value); int FactoryGetPQMode_Contrast(int sourceInput, int sigFmt, int transFmt, int pqMode); int FactorySetPQMode_Saturation(int sourceInput, int sigFmt, int transFmt, int pqMode, int value); int FactoryGetPQMode_Saturation(int sourceInput, int sigFmt, int transFmt, int pqMode); int FactorySetPQMode_Hue(int sourceInput, int sigFmt, int transFmt, int pqMode, int value); int FactoryGetPQMode_Hue(int sourceInput, int sigFmt, int transFmt, int pqMode); int FactorySetPQMode_Sharpness(int sourceInput, int sigFmt, int transFmt, int pqMode, int value); int FactoryGetPQMode_Sharpness(int sourceInput, int sigFmt, int transFmt, int pqMode); int FactorySetOverscanParams(int sourceInput, int sigFmt, int transFmt, int level, tvin_cutwin_t param); tvin_cutwin_t FactoryGetOverscanParams(int sourceInput, int sigFmt, int transFmt, int level); int FactorySetWhiteBalanceRedGain(int sourceInput, int sigFmt, int transFmt, int level, int value); int FactoryGetWhiteBalanceRedGain(int sourceInput, int sigFmt, int transFmt, int level); int FactorySetWhiteBalanceGreenGain(int sourceInput, int sigFmt, int transFmt, int level, int value); int FactoryGetWhiteBalanceGreenGain(int sourceInput, int sigFmt, int transFmt, int level); int FactorySetWhiteBalanceBlueGain(int sourceInput, int sigFmt, int transFmt, int level, int value); int FactoryGetWhiteBalanceBlueGain(int sourceInput, int sigFmt, int transFmt, int level); int FactorySetWhiteBalanceRedPostOffset(int sourceInput, int sigFmt, int transFmt, int level, int value); int FactoryGetWhiteBalanceRedPostOffset(int sourceInput, int sigFmt, int transFmt, int level); int FactorySetWhiteBalanceGreenPostOffset(int sourceInput, int sigFmt, int transFmt, int level, int value); int FactoryGetWhiteBalanceGreenPostOffset(int sourceInput, int sigFmt, int transFmt, int level); int FactorySetWhiteBalanceBluePostOffset(int sourceInput, int sigFmt, int transFmt, int level, int value); int FactoryGetWhiteBalanceBluePostOffset(int sourceInput, int sigFmt, int transFmt, int level); int FactorySetRGBPattern(int r, int g, int b); int FactoryGetRGBPattern(); int FactorySetGrayPattern(int value); int FactoryGetGrayPattern(); int FactoryGetSharpnessParams(int sourceInput, int sigFmt, int transFmt, int sdhd, int type); int FactorySetSharpnessParams(int sourceInput, int sigFmt, int transFmt, int sdhd, int type, int val); int FactorySetDDRSSC(int level); int FactoryGetDDRSSC(void); int FactorySetLVDSSSCLevel(int level); int FactoryGetLVDSSSCLevel(void); int FactorySetLVDSSSCFrep(int level); int FactoryGetLVDSSSCFrep(void); int FactorySetLVDSSSCMode(int level); int FactoryGetLVDSSSCMode(void); int FactorySetNolineParams(source_input_param_t param, int type, noline_params_t nl_param); int FactorySetBrightnessNolineParams(source_input_param_t param, noline_params_t nl_param); int FactorySetContrastNolineParams(source_input_param_t param, noline_params_t nl_param); int FactorySetSaturationNolineParams(source_input_param_t param, noline_params_t nl_param); int FactorySetHueNolineParams(source_input_param_t param, noline_params_t nl_param); int FactorySetSharpnessNolineParams(source_input_param_t param, noline_params_t nl_param); int FactorySetVolumeNolineParams(source_input_param_t param, noline_params_t nl_param); noline_params_t FactoryGetNolineParams(source_input_param_t param, int type); noline_params_t FactoryGetBrightnessNolineParams(source_input_param_t param); noline_params_t FactoryGetContrastNolineParams(source_input_param_t param); noline_params_t FactoryGetSaturationNolineParams(source_input_param_t param); noline_params_t FactoryGetHueNolineParams(source_input_param_t param); noline_params_t FactoryGetSharpnessNolineParams(source_input_param_t param); noline_params_t FactoryGetVolumeNolineParams(source_input_param_t param); int FactorySetColorParams(int level, tvpq_rgb_ogo_t param); int FactoryGetColorParams(int level, tvpq_rgb_ogo_t *pData); int FactorySetDecodeLumaParams(int sourceInput, int sigFmt, int transFmt, int type, int value); int FactoryGetDecodeLumaParams(int sourceInput, int sigFmt, int transFmt, int type); int FactorySetPQEn(int type, int value); int FactoryGetPQEn(int type); /*to cri data*/ /*level: STANDARD(0), WARM(1), COLD(2), USER(3), WARMER(4), COLDER(5)*/ /*channel: R channel(0), G channel(1), B channel(2)*/ /*point: gray (%0 ~ 100% ) %5 per step. 0 ~ 21*/ /*offset: -1023 ~ 1023*/ int FactorySetWhitebalanceGamma(int level, int channel, int point, int offset); int FactoryGetWhitebalanceGamma(int level, int channel, int point); int FactorySetPictureMode(int source, int hdrType, int pqMode); int FactoryGetPictureMode(int source, int hdrType); // This method will copy the current values of // parameters from the given pq mode to the currently // active mode. int CopyValuesFromPqMode(int pqMode); // This method will reset the current picture mode // to the values set during PQ tuning process // Only affects the currently active source/format int ResetCurrentPictureMode(void); // This method will restore all the settings to the // values set during PQ tuning process // Affects all pq modes, all sources, all formats int ResetAllPictureSettings(void); pq_mode_parameters GetDefaultParameterValues(int pqMode); pq_mode_parameters GetCurrentParameterValues(int pqMode); all_pq_parameters GetALLDefaultPQParameterValues(void); // This method will apply the current values of // parameters from the currently active mode // to all the sources int ApplyUserSettingsToAllSources(void); int GetWBGammaPointNum(int level); int SetGammaTable(unsigned int *pData, int level, int type, int len); int GetGammaTable(unsigned int *pData, int level, int type, int len); int ClearGammaTable(void); int SetPQByPassLevel(int level); int SetGammaPattern(int enable, int R, int G, int B); // for callback method public: class PqClientIObserver { public: PqClientIObserver(){}; virtual ~PqClientIObserver(){}; virtual void GetPqCbData(CPqClientCb &cb_data) = 0; }; // used to register pqclient observer by upper client int RegisterObserverToPqClient(PqClientIObserver *observer); };