blob: 74aa5c9e73759fa4723234535fbd0077fa961fab
1 | /* |
2 | * CPQdb.h |
3 | * |
4 | * Created on: 2011-12-13 |
5 | * Author: casey |
6 | */ |
7 | |
8 | #ifndef CPQDB_H_ |
9 | #define CPQDB_H_ |
10 | |
11 | #define PQ_NO_ANDROID 0 |
12 | |
13 | |
14 | #if (PQ_NO_ANDROID == 1) |
15 | #include "sqlite3.h" |
16 | #else |
17 | #include "../../sqlite/dist/sqlite3.h" |
18 | #endif |
19 | #include "tvutils/CFile.h" |
20 | #include "../tvin/CTvin.h" |
21 | #include "CVpp.h" |
22 | #include "tvutils/CSqlite.h" |
23 | |
24 | typedef enum tvpq_data_type_e { |
25 | TVPQ_DATA_BRIGHTNESS, |
26 | TVPQ_DATA_CONTRAST, |
27 | TVPQ_DATA_SATURATION, |
28 | TVPQ_DATA_HUE, |
29 | TVPQ_DATA_SHARPNESS, |
30 | TVPQ_DATA_VOLUME, |
31 | |
32 | TVPQ_DATA_MAX, |
33 | } tvpq_data_type_t; |
34 | |
35 | typedef struct tvpq_data_s { |
36 | int TotalNode; |
37 | int NodeValue; |
38 | int IndexValue; |
39 | int RegValue; |
40 | double step; |
41 | } tvpq_data_t; |
42 | |
43 | typedef struct tvpq_sharpness_reg_s { |
44 | int TotalNode; |
45 | am_reg_t Value; |
46 | int NodeValue; |
47 | int IndexValue; |
48 | double step; |
49 | } tvpq_sharpness_reg_t; |
50 | |
51 | typedef struct tvpq_sharpness_regs_s { |
52 | int length; |
53 | tvpq_sharpness_reg_t reg_data[50]; |
54 | } tvpq_sharpness_regs_t; |
55 | |
56 | typedef struct tvpq_nonlinear_s { |
57 | int osd0; |
58 | int osd25; |
59 | int osd50; |
60 | int osd75; |
61 | int osd100; |
62 | } tvpq_nonlinear_t; |
63 | |
64 | |
65 | class CPqData: public CSqlite { |
66 | public: |
67 | CPqData(); |
68 | ~CPqData(); |
69 | int PQ_GetColorDemoParams(vpp_color_demomode_t demomode, void *params); |
70 | int PQ_GetBaseColorParams(vpp_color_basemode_t basemode, tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, am_regs_t *regs); |
71 | int PQ_GetCM2Params(vpp_color_management2_t basemode, tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, am_regs_t *regs); |
72 | int PQ_GetNR2Params(vpp_noise_reduction2_mode_t basemode, tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, am_regs_t *regs); |
73 | int PQ_GetXVYCCParams(vpp_xvycc_mode_t xvycc_mode, tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, am_regs_t *regs, am_regs_t *regs_1); |
74 | int PQ_GetMCDIParams(vpp_mcdi_mode_t mcdi_mode, tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, am_regs_t *regs); |
75 | int PQ_ColorTemperatureRGBogo2Params(void *params, tcon_rgb_ogo_t rgb_ogo); |
76 | int PQ_ColorTemperatureParams2RGBogo(tcon_rgb_ogo_t *rgb_ogo, void *params); |
77 | int PQ_GetColorTemperatureParams(vpp_color_temperature_mode_t Tempmode, tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, tvin_trans_fmt_t trans_fmt, |
78 | tcon_rgb_ogo_t *params); |
79 | int PQ_SetColorTemperatureParams(vpp_color_temperature_mode_t Tempmode, tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, tvin_trans_fmt_t trans_fmt, |
80 | tcon_rgb_ogo_t params); |
81 | int PQ_ResetAllColorTemperatureParams(void); |
82 | int PQ_GetBacklightParams(tvin_port_t source_port, int level, int *params); |
83 | int PQ_SetBacklightParams(tvin_port_t source_port, int level, int params); |
84 | int PQ_SetNoLineAllBrightnessParams(tv_source_input_type_t source_type, int osd0, int osd25, int osd50, int osd75, int osd100); |
85 | int PQ_GetNoLineAllBrightnessParams(tv_source_input_type_t source_type, int *osd0, int *osd25, int *osd50, int *osd75, int *osd100); |
86 | int PQ_GetBrightnessParams(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int level, int *params); |
87 | int PQ_SetBrightnessParams(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int level, int params); |
88 | int PQ_SetNoLineAllContrastParams(tv_source_input_type_t source_type, int osd0, int osd25, int osd50, int osd75, int osd100); |
89 | int PQ_GetNoLineAllContrastParams(tv_source_input_type_t source_type, int *osd0, int *osd25, int *osd50, int *osd75, int *osd100); |
90 | int PQ_GetContrastParams(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int level, int *params); |
91 | int PQ_SetContrastParams(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int level, int params); |
92 | int PQ_SetNoLineAllSaturationParams(tv_source_input_type_t source_type, int osd0, int osd25, int osd50, int osd75, int osd100); |
93 | int PQ_GetNoLineAllSaturationParams(tv_source_input_type_t source_type, int *osd0, int *osd25, int *osd50, int *osd75, int *osd100); |
94 | int PQ_GetSaturationParams(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int level, int *params); |
95 | int PQ_SetSaturationParams(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int level, int params); |
96 | int PQ_SetNoLineAllHueParams(tv_source_input_type_t source_type, int osd0, int osd25, int osd50, int osd75, int osd100); |
97 | int PQ_GetNoLineAllHueParams(tv_source_input_type_t source_type, int *osd0, int *osd25, int *osd50, int *osd75, int *osd100); |
98 | int PQ_GetHueParams(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int level, int *params); |
99 | int PQ_SetHueParams(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int level, int params); |
100 | int PQ_SetNoLineAllSharpnessParams(tv_source_input_type_t source_type, int osd0, int osd25, int osd50, int osd75, int osd100); |
101 | int PQ_GetNoLineAllSharpnessParams(tv_source_input_type_t source_type, int *osd0, int *osd25, int *osd50, int *osd75, int *osd100); |
102 | int PQ_GetSharpnessParams(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int level, am_regs_t *regs); |
103 | int PQ_SetSharpnessParams(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int level, am_regs_t regs); |
104 | int PQ_SetNoLineAllVolumeParams(tv_source_input_type_t source_type, int osd0, int osd25, int osd50, int osd75, int osd100); |
105 | int PQ_GetNoLineAllVolumeParams(tv_source_input_type_t source_type, int *osd0, int *osd25, int *osd50, int *osd75, int *osd100); |
106 | int PQ_GetVolumeParams(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int *length, int *params); |
107 | int PQ_SetVolumeParams(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int level, int params); |
108 | int PQ_ResetAllNoLineParams(void); |
109 | int PQ_GetNoiseReductionParams(vpp_noise_reduction_mode_t nr_mode, tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int *params); |
110 | int PQ_SetNoiseReductionParams(vpp_noise_reduction_mode_t nr_mode, tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int *params); |
111 | int PQ_GetDNLPParams(tvin_port_t source_port, tvin_sig_fmt_t fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, ve_dnlp_t *params, ve_dnlp_table_t *newParams, int *dnlpFlag); |
112 | int PQ_GetBlackExtParams(tv_source_input_type_t source_type, tvin_sig_fmt_t fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, ve_bext_t *params); |
113 | int PQ_GetOverscanParams(tv_source_input_type_t source_type, tvin_sig_fmt_t fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, vpp_display_mode_t dmode, tvin_cutwin_t *cutwin_t); |
114 | int PQ_SetOverscanParams(tv_source_input_type_t source_type, tvin_sig_fmt_t fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, tvin_cutwin_t cutwin_t); |
115 | int PQ_ResetAllOverscanParams(void); |
116 | int PQ_GetPQModeParams(tv_source_input_type_t source_type, vpp_picture_mode_t pq_mode, vpp_pq_para_t *params); |
117 | int PQ_SetPQModeParams(tv_source_input_type_t source_type, vpp_picture_mode_t pq_mode, vpp_pq_para_t *params); |
118 | int PQ_ResetAllPQModeParams(void); |
119 | int PQ_GetGammaTableR(int panel_id, tvin_port_t source_port, tvin_sig_fmt_t fmt, tcon_gamma_table_t *gamma_r); |
120 | int PQ_GetGammaTableG(int panel_id, tvin_port_t source_port, tvin_sig_fmt_t fmt, tcon_gamma_table_t *gamma_g); |
121 | int PQ_GetGammaTableB(int panel_id, tvin_port_t source_port, tvin_sig_fmt_t fmt, tcon_gamma_table_t *gamma_b); |
122 | int PQ_GetGammaSpecialTable(int gammaValue, const char *f_name, tcon_gamma_table_t *gamma_r); |
123 | int PQ_GetVGAAjustPara(tvin_sig_fmt_t vga_fmt, tvafe_vga_parm_t *adjparam); |
124 | int PQ_SetVGAAjustPara(tvin_sig_fmt_t vga_fmt, tvafe_vga_parm_t adjparam); |
125 | int PQ_GetPhaseArray(am_phase_t *am_phase); |
126 | int PQ_GetPLLParams(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, am_regs_t *regs); |
127 | int PQ_GetCVD2Params(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, am_regs_t *regs); |
128 | |
129 | int openDB(); |
130 | int closeDB(); |
131 | int getRegValues(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, am_regs_t *regs); |
132 | int getRegValuesByValue(const char *name, const char *f_name, const char *f2_name, const int val, const int val2, am_regs_t *regs); |
133 | int getRegValuesByValue_long(const char *name, const char *f_name, const char *f2_name, const int val, const int val2, am_regs_t *regs, am_regs_t *regs_1); |
134 | int LoadAllPQData(tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int flag); |
135 | void initialTable(int type); |
136 | void transferFixTable(); |
137 | |
138 | private: |
139 | int CaculateLevelParam(tvpq_data_t *pq_data, int nodes, int level); |
140 | am_regs_t CaculateLevelRegsParam(tvpq_sharpness_regs_t *pq_regs, int level); |
141 | int GetNonlinearMapping(tvpq_data_type_t data_type, tvin_port_t source_port, int level, int *params); |
142 | int GetNonlinearMappingByOSDFac(tvpq_data_type_t data_type, tv_source_input_type_t source_type, int *params); |
143 | int SetNonlinearMapping(tvpq_data_type_t data_type, tv_source_input_type_t source_type, int osd0, int osd25, int osd50, int osd75, int osd100); |
144 | int LoadPQData(tvpq_data_type_t data_type, tvin_port_t source_port, tvin_sig_fmt_t sig_fmt, is_3d_type_t is2dOr3d, tvin_trans_fmt_t trans_fmt, int flag); |
145 | int PQ_GetGammaTable(int panel_id, tvin_port_t source_port, tvin_sig_fmt_t fmt, const char *f_name, tcon_gamma_table_t *val); |
146 | int SetNonlinearMappingByName(const char *name, tvpq_data_type_t data_type, tv_source_input_type_t source_type, int osd0, int osd25, int osd50, int osd75, int osd100); |
147 | int PQ_SetPQModeParamsByName(const char *name, tv_source_input_type_t source_type, vpp_picture_mode_t pq_mode, vpp_pq_para_t *params); |
148 | |
149 | tvpq_data_t pq_bri_data[15]; |
150 | tvpq_data_t pq_con_data[15]; |
151 | tvpq_data_t pq_sat_data[15]; |
152 | tvpq_data_t pq_hue_data[15]; |
153 | tvpq_sharpness_regs_t pq_sharpness_reg_data[10]; |
154 | int bri_nodes; |
155 | int con_nodes; |
156 | int hue_nodes; |
157 | int sat_nodes; |
158 | int sha_nodes; |
159 | }; |
160 | #endif |
161 |