Files

250 lines
11 KiB
C++
Raw Permalink Normal View History

2026-08-13 11:28:40 +08:00
/*
* 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);
};