250 lines
11 KiB
C++
250 lines
11 KiB
C++
/*
|
|||
|
|
* 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);
|
||
|
|
};
|