blob: dac799e658be178dca9d1fd0cac8e48f17853317
1 | |
2 | // amlogic 2013 |
3 | // |
4 | // @ Project : tv |
5 | // @ File Name : CDtv.h |
6 | // @ Date : 2013-11 |
7 | // @ Author : |
8 | |
9 | #if !defined(_CDTV_H) |
10 | #define _CDTV_H |
11 | #include <stdint.h> |
12 | #include <sys/time.h> |
13 | #include <am_epg.h> |
14 | #include <am_mem.h> |
15 | #include <utils/threads.h> |
16 | #include "CTvProgram.h" |
17 | #include "CTvEpg.h" |
18 | #include "CTvScanner.h" |
19 | #include "CTvLog.h" |
20 | #include "CTvTime.h" |
21 | #include "CTvEvent.h" |
22 | #include "CTvEv.h" |
23 | #include "CTvBooking.h" |
24 | #include "CFrontEnd.h" |
25 | #include "../vpp/CVpp.h" |
26 | #include "../vpp/CPQdb.h" |
27 | #include "../tvin/CTvin.h" |
28 | #include "../tvutils/CMsgQueue.h" |
29 | #include "../tvutils/CSerialCommunication.h" |
30 | #include "../tvutils/serial_operate.h" |
31 | #include "CTvRecord.h" |
32 | #include "CTvSubtitle.h" |
33 | #include "CUpgradeFBC.h" |
34 | #include "CAv.h" |
35 | #include "CTvDmx.h" |
36 | #include "../audio/CTvAudio.h" |
37 | #include "AutoBackLight.h" |
38 | #include "CAutoPQparam.h" |
39 | #include "tvin/CSourceConnectDetect.h" |
40 | using namespace android; |
41 | |
42 | static const char *TV_CONFIG_FILE_PATH = "/param/tvconfig.conf"; |
43 | static const char *TV_DB_PATH = "/param/dtv.db"; |
44 | static const char *TV_CONFIG_FILE_SYSTEM_PATH = "/system/etc/tvconfig.conf"; |
45 | static const char *TV_CONFIG_FILE_PARAM_PATH = "/param/tvconfig.conf"; |
46 | static const char *TV_CHANNEL_LIST_SYSTEM_PATH = "/system/etc/tv_default.xml"; |
47 | static const char *TV_CHANNEL_LIST_PARAM_PATH = "/param/tv_default.xml"; |
48 | static const char *TV_SSM_DATA_SYSTEM_PATH = "/system/etc/ssm_data"; |
49 | static const char *TV_SSM_DATA_PARAM_PATH = "/param/ssm_data"; |
50 | |
51 | #define DEVICE_CLASS_TSYNC_AV_THRESHOLD_MIN "/sys/class/tsync/av_threshold_min" |
52 | #define AV_THRESHOLD_MIN_MS "540000" //6S = 6*90000 |
53 | |
54 | |
55 | |
56 | |
57 | typedef enum tv_fmt_ratio_e { |
58 | RATIO_43, |
59 | RATIO_169, |
60 | RATIO_MAX, |
61 | } tv_fmt_ratio_t; |
62 | |
63 | typedef enum tv_color_fmt_e { |
64 | COLOR_RGB444, |
65 | COLOR_YUV422, |
66 | COLOR_YUV444, |
67 | COLOR_MAX, |
68 | } tv_color_fmt_t; |
69 | |
70 | |
71 | |
72 | typedef enum tv_window_mode_e { |
73 | NORMAL_WONDOW, |
74 | PREVIEW_WONDOW, |
75 | } tv_window_mode_t; |
76 | |
77 | typedef enum tv_dtv_scan_running_status_e { |
78 | DTV_SCAN_RUNNING_NORMAL, |
79 | DTV_SCAN_RUNNING_ANALYZE_CHANNEL, |
80 | } tv_dtv_scan_running_status_t; |
81 | |
82 | typedef struct tv_config_s { |
83 | bool kernelpet_disable; |
84 | unsigned int kernelpet_timeout; |
85 | bool userpet; |
86 | unsigned int userpet_timeout; |
87 | unsigned int userpet_reset; |
88 | bool memory512m; |
89 | } tv_config_t; |
90 | |
91 | typedef enum TvRunStatus_s { |
92 | TV_INIT_ED = -1, |
93 | TV_OPEN_ED = 0, |
94 | TV_START_ED , |
95 | TV_RESUME_ED, |
96 | TV_PAUSE_ED, |
97 | TV_STOP_ED, |
98 | TV_CLOSE_ED, |
99 | } TvRunStatus_t; |
100 | |
101 | class CTv : public CTvin::CTvinSigDetect::ISigDetectObserver, public CSourceConnectDetect::ISourceConnectObserver, public CTvin::CHDMIRxCEC::IHDMIRxCECObserver, public CUpgradeFBC::IUpgradeFBCObserver, public CSerialCommunication::ISerialCommunicationObserver, public CTvSubtitle::IObserver, public CTv2d4GHeadSetDetect::IHeadSetObserver { |
102 | public: |
103 | static const int TV_ACTION_NULL = 0x0000; |
104 | static const int TV_ACTION_STARTING = 0x0001; |
105 | static const int TV_ACTION_STOPING = 0x0002; |
106 | static const int TV_ACTION_SCANNING = 0x0004; |
107 | static const int TV_ACTION_PLAYING = 0x0008; |
108 | static const int TV_ACTION_RECORDING = 0x0010; |
109 | static const int TV_ACTION_SOURCE_SWITCHING = 0x0020; |
110 | public: |
111 | class TvIObserver { |
112 | public: |
113 | TvIObserver() {}; |
114 | virtual ~TvIObserver() {}; |
115 | virtual void onTvEvent ( const CTvEv &ev ) = 0; |
116 | }; |
117 | //main |
118 | CTv(); |
119 | virtual ~CTv(); |
120 | virtual int OpenTv ( void ); |
121 | virtual int CloseTv ( void ); |
122 | virtual int StartTvLock (); |
123 | virtual int StopTvLock ( void ); |
124 | virtual int DoSuspend(int type); |
125 | virtual int DoResume(int type); |
126 | virtual int DoInstabootSuspend(); |
127 | virtual int DoInstabootResume(); |
128 | virtual TvRunStatus_t GetTvStatus(); |
129 | virtual int ClearAnalogFrontEnd(); |
130 | virtual tv_source_input_t GetLastSourceInput (void); |
131 | virtual int SetSourceSwitchInput (tv_source_input_t source_input ); |
132 | virtual tv_source_input_t GetCurrentSourceInputLock ( void ); |
133 | virtual tvin_info_t GetCurrentSignalInfo ( void ); |
134 | virtual int SetPreviewWindow ( tvin_window_pos_t pos ); |
135 | virtual int dtvAutoScan(); |
136 | virtual int dtvManualScan (int beginFreq, int endFreq, int modulation = -1); |
137 | virtual int atvAutoScan(int videoStd, int audioStd, int searchType); |
138 | virtual int clearAllProgram(int arg0); |
139 | virtual int clearDbAllProgramInfoTable(); |
140 | virtual void setSourceSwitchAndPlay(); |
141 | virtual int GetDisplayResolutionConfig(); |
142 | virtual int GetDisplayResolutionInfo(); |
143 | virtual int atvMunualScan ( int startFreq, int endFreq, int videoStd, int audioStd, int store_Type = 0, int channel_num = 0 ); |
144 | virtual int stopScanLock(); |
145 | virtual int dtvAutoScanAtscLock(int attenna, int videoStd, int audioStd); |
146 | virtual void SetRecordFileName ( char *name ); |
147 | virtual void StartToRecord(); |
148 | virtual void StopRecording(); |
149 | virtual void SetRecCurTsOrCurProgram ( int sel ); |
150 | virtual int startCC(int country, int src, int channel, int service); |
151 | virtual int stopCC(); |
152 | virtual void printDebugInfo(); |
153 | virtual int playProgramLock ( int progId ); |
154 | virtual int playDvbcProgram ( int progId ); |
155 | virtual int playDtmbProgram ( int progId ); |
156 | virtual int playAtvProgram ( int, int, int, int, int); |
157 | virtual int playDtvProgram ( int, int, int, int, int, int, int, int, int, int); |
158 | virtual int stopPlayingLock(); |
159 | virtual int resetFrontEndPara ( frontend_para_set_t feParms ); |
160 | virtual int SetDisplayMode ( vpp_display_mode_t display_mode, tv_source_input_type_t source_type, tvin_sig_fmt_t sig_fmt ); |
161 | virtual void startAutoBackLight(); |
162 | virtual void stopAutoBackLight(); |
163 | virtual const char *getPqDbPath(); |
164 | virtual void onHdmiSrChanged(int sr, bool bInit); |
165 | virtual void onHMDIAudioStatusChanged(int status); |
166 | virtual int GetATVAFCType(); |
167 | virtual int GetATVSourceTimerSwitch(); |
168 | int SetCurProgramAudioVolumeCompensationVal ( int tmpVal ); |
169 | int GetAudioVolumeCompensationVal(int progDbId); |
170 | //dtv audio track info |
171 | int getAudioTrackNum ( int progId ); |
172 | int getAudioInfoByIndex ( int progId, int idx, int *pAFmt, String8 &lang ); |
173 | int switchAudioTrack ( int progId, int idx ); |
174 | int switchAudioTrack ( int aPid, int aFmt, int aParam ); |
175 | int getVideoFormatInfo ( int *pWidth, int *pHeight, int *pFPS, int *pInterlace ); |
176 | int ResetAudioDecoderForPCMOutput(); |
177 | int setAudioChannel ( int channelIdx ); |
178 | int getAudioChannel(); |
179 | int setTvObserver (TvIObserver *ob); |
180 | int getAtscAttenna(); |
181 | long getTvTime() |
182 | { |
183 | return mTvTime.getTime(); |
184 | }; |
185 | void getFrontendStatus(); |
186 | int getFrontendSignalStrength(); |
187 | int getFrontendSNR(); |
188 | int getFrontendBER(); |
189 | int getChannelInfoBydbID ( int dbID, channel_info_t &chan_info ); |
190 | int setBlackoutEnable(int enable); |
191 | int getSaveBlackoutEnable(); |
192 | int getAutoBackLight_on_off(); |
193 | int saveATVProgramID ( int dbID ); |
194 | int getATVProgramID ( void ); |
195 | int saveDTVProgramID ( int dbID ); |
196 | int getDTVProgramID ( void ); |
197 | int getCurPlayProgId(); |
198 | int getATVMinMaxFreq ( int *scanMinFreq, int *scanMaxFreq ); |
199 | int getAverageLuma(); |
200 | int setAutobacklightData(const char *value); |
201 | int getAutoBacklightData(int *data); |
202 | |
203 | virtual int Tv_SSMRestoreDefaultSetting(); |
204 | |
205 | // |
206 | int GetSourceConnectStatus(tv_source_input_t source_input); |
207 | int IsDVISignal(); |
208 | int isVgaFmtInHdmi(); |
209 | int isSDFmtInHdmi ( void ); |
210 | // |
211 | int getHDMIFrameRate ( void ); |
212 | void RefreshAudioMasterVolume ( tv_source_input_t source_input ); |
213 | |
214 | int Tv_Set3DMode ( VIDEO_3D_MODE_T mode ); |
215 | VIDEO_3D_MODE_T Tv_Get3DMode ( void ); |
216 | int Tv_Set3DLRSwith ( int on_off); |
217 | int Tv_Get3DLRSwith ( void ); |
218 | int Tv_Set3DTo2DMode ( int mode); |
219 | int Tv_Get3DTo2DMode ( void ); |
220 | int Tv_Set3DDepth ( int value ); |
221 | int GetSave3DDepth ( void ); |
222 | is_3d_type_t Check2Dor3D ( VIDEO_3D_MODE_T mode3d, tvin_trans_fmt_t trans_fmt ); |
223 | int Tvin_SetPLLValues (); |
224 | int SetCVD2Values (); |
225 | unsigned int Vpp_GetDisplayResolutionInfo(tvin_window_pos_t *win_pos); |
226 | int get_hdmi_sampling_rate(); |
227 | //SSM |
228 | virtual int Tv_SSMFacRestoreDefaultSetting(); |
229 | int Tv_GetHistgram(int *histgram_buf); |
230 | int StartHeadSetDetect(); |
231 | virtual void onHeadSetDetect(int state, int para); |
232 | |
233 | CTvin::CTvinSigDetect mSigDetectThread; |
234 | CSourceConnectDetect mSourceConnectDetectThread; |
235 | CTvin::CHDMIRxCEC mHDMIRxCEC; |
236 | CUpgradeFBC *mpUpgradeFBC; |
237 | CSerialCommunication mSerialA; |
238 | CSerialCommunication mSerialB; |
239 | CSerialCommunication mSerialC; |
240 | CTvSubtitle mSubtitle; |
241 | CTv2d4GHeadSetDetect mHeadSet; |
242 | |
243 | int SendHDMIRxCECCustomMessage(unsigned char data_buf[]); |
244 | int SendHDMIRxCECCustomMessageAndWaitReply(unsigned char data_buf[], unsigned char reply_buf[], int WaitCmd, int timeout); |
245 | int SendHDMIRxCECBoradcastStandbyMessage(); |
246 | int SendHDMIRxCECGiveCECVersionMessage(tv_source_input_t source_input, unsigned char data_buf[]); |
247 | int SendHDMIRxCECGiveDeviceVendorIDMessage(tv_source_input_t source_input, unsigned char data_buf[]); |
248 | int SendHDMIRxCECGiveOSDNameMessage(tv_source_input_t source_input, unsigned char data_buf[]); |
249 | |
250 | int GetHdmiHdcpKeyKsvInfo(int data_buf[]); |
251 | virtual bool hdmiOutWithFbc(); |
252 | int StartUpgradeFBC(char *file_name, int mode, int upgrade_blk_size); |
253 | int SetSerialSwitch(int dev_id, int switch_val); |
254 | int SendSerialData(int dev_id, int data_len, unsigned char data_buf[]); |
255 | int SetDebugSerialOnOff(int on_off); |
256 | int GetDebugSerialOnOff(); |
257 | int ChannelExport(const char *destPath); |
258 | int ChannelImport(const char *srcPath); |
259 | int Tv_GetProjectInfo(project_info_t *ptrInfo); |
260 | int Tv_GetPlatformType(); |
261 | int Tv_HandeHDMIEDIDFilePathConfig(); |
262 | int Tv_SetDDDRCMode(tv_source_input_t source_input); |
263 | int Tv_SetAudioSourceType (tv_source_input_t source_input); |
264 | |
265 | //PQ |
266 | virtual int Tv_SetBrightness ( int brightness, tv_source_input_type_t source_type, int is_save ); |
267 | virtual int Tv_GetBrightness ( tv_source_input_type_t source_type ); |
268 | virtual int Tv_SaveBrightness ( int brightness, tv_source_input_type_t source_type ); |
269 | virtual int Tv_SetContrast ( int contrast, tv_source_input_type_t source_type, int is_save ); |
270 | virtual int Tv_GetContrast ( tv_source_input_type_t source_type ); |
271 | virtual int Tv_SaveContrast ( int contrast, tv_source_input_type_t source_type ); |
272 | virtual int Tv_SetSaturation ( int satuation, tv_source_input_type_t source_type, tvin_sig_fmt_t sig_fmt, int is_save ); |
273 | virtual int Tv_GetSaturation ( tv_source_input_type_t source_type ); |
274 | virtual int Tv_SaveSaturation ( int satuation, tv_source_input_type_t source_type ); |
275 | virtual int Tv_SetHue ( int hue, tv_source_input_type_t source_type, tvin_sig_fmt_t sig_fmt, int is_save ); |
276 | virtual int Tv_GetHue ( tv_source_input_type_t source_type ); |
277 | virtual int Tv_SaveHue ( int hue, tv_source_input_type_t source_type ); |
278 | virtual int Tv_SetPQMode ( vpp_picture_mode_t mode, tv_source_input_type_t source_type, int is_save ); |
279 | virtual vpp_picture_mode_t Tv_GetPQMode ( tv_source_input_type_t source_type ); |
280 | virtual int Tv_SavePQMode ( vpp_picture_mode_t mode, tv_source_input_type_t source_type ); |
281 | virtual int Tv_SetSharpness ( int value, tv_source_input_type_t source_type, int en, int is_save ); |
282 | virtual int Tv_GetSharpness ( tv_source_input_type_t source_type ); |
283 | virtual int Tv_SaveSharpness ( int value, tv_source_input_type_t source_type ); |
284 | virtual int Tv_SetBacklight ( int value, tv_source_input_type_t source_type, int is_save ); |
285 | virtual int Tv_GetBacklight ( tv_source_input_type_t source_type ); |
286 | virtual int Tv_SaveBacklight ( int value, tv_source_input_type_t source_type ); |
287 | int Tv_SetBacklight_Switch ( int value ); |
288 | int Tv_GetBacklight_Switch ( void ); |
289 | int Tv_SetColorTemperature ( vpp_color_temperature_mode_t mode, tv_source_input_type_t source_type, int is_save ); |
290 | vpp_color_temperature_mode_t Tv_GetColorTemperature ( tv_source_input_type_t source_type ); |
291 | virtual int Tv_SetDisplayMode ( vpp_display_mode_t mode, tv_source_input_type_t source_type, tvin_sig_fmt_t fmt, int is_save ); |
292 | virtual int Tv_SaveDisplayMode ( vpp_display_mode_t mode, tv_source_input_type_t source_type ); |
293 | virtual int Tv_SaveColorTemperature ( vpp_color_temperature_mode_t mode, tv_source_input_type_t source_type ); |
294 | virtual vpp_display_mode_t Tv_GetDisplayMode ( tv_source_input_type_t source_type ); |
295 | virtual int Tv_SetNoiseReductionMode ( vpp_noise_reduction_mode_t mode, tv_source_input_type_t source_type, int is_save ); |
296 | virtual vpp_noise_reduction_mode_t Tv_GetNoiseReductionMode ( tv_source_input_type_t source_type ); |
297 | virtual int Tv_SaveNoiseReductionMode ( vpp_noise_reduction_mode_t mode, tv_source_input_type_t source_type ); |
298 | int Tv_SetSplitScreenDemoStatus(tv_source_input_type_t source_type, int onoff_status); |
299 | int Tv_GetSplitScreenDemoStatus(tv_source_input_type_t source_type); |
300 | int Tv_SplitScreenEffect(int mode, int width, int reverse = 0); |
301 | // |
302 | int Tv_FactorySetPQMode_Brightness ( int source_type, int pq_mode, int brightness ); |
303 | int Tv_FactoryGetPQMode_Brightness ( int source_type, int pq_mode ); |
304 | int Tv_FactorySetPQMode_Contrast ( int source_type, int pq_mode, int contrast ); |
305 | int Tv_FactoryGetPQMode_Contrast ( int source_type, int pq_mode ); |
306 | int Tv_FactorySetPQMode_Saturation ( int source_type, int pq_mode, int saturation ); |
307 | int Tv_FactoryGetPQMode_Saturation ( int source_type, int pq_mode ); |
308 | int Tv_FactorySetPQMode_Hue ( int source_type, int pq_mode, int hue ); |
309 | int Tv_FactoryGetPQMode_Hue ( int source_type, int pq_mode ); |
310 | int Tv_FactorySetPQMode_Sharpness ( int source_type, int pq_mode, int sharpness ); |
311 | int Tv_FactoryGetPQMode_Sharpness ( int source_type, int pq_mode ); |
312 | |
313 | int GetColorTemperatureParams ( vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t *params ); |
314 | int Tv_FactorySetTestPattern ( int pattern ); |
315 | int Tv_FactoryGetTestPattern ( void ); |
316 | int Tv_FactorySetScreenColor ( int vdin_blending_mask, int y, int u, int v ); |
317 | int Tv_FactoryResetPQMode ( void ); |
318 | int Tv_FactoryResetColorTemp ( void ); |
319 | int Tv_FactorySetParamsDefault ( void ); |
320 | int Tv_FactorySetDDRSSC ( int step ); |
321 | int Tv_FactoryGetDDRSSC ( void ); |
322 | int Tv_FactorySetLVDSSSC ( int step ); |
323 | int Tv_FactoryGetLVDSSSC ( void ); |
324 | void Tv_Spread_Spectrum(void); |
325 | int Tv_FactorySetNolineParams ( int noline_params_type, int source_type, noline_params_t noline_params ); |
326 | noline_params_t Tv_FactoryGetNolineParams ( int noline_params_type, int source_type ); |
327 | int Tv_FactorySetOverscan ( int source_type, int fmt, int status_3d, int trans_fmt, tvin_cutwin_t cutwin_t ); |
328 | tvin_cutwin_t Tv_FactoryGetOverscan ( int source_type, int fmt, int status_3d, int trans_fmt ); |
329 | int Tv_ReplacePqDb(const char *newFilePath = NULL); |
330 | //end PQ |
331 | |
332 | //TV TO FBC |
333 | int Tv_FactorySet_FBC_Brightness ( int value ); |
334 | int Tv_FactoryGet_FBC_Brightness ( void ); |
335 | int Tv_FactorySet_FBC_Contrast( int value ); |
336 | int Tv_FactoryGet_FBC_Contrast ( void ); |
337 | int Tv_FactorySet_FBC_Saturation( int value ); |
338 | int Tv_FactoryGet_FBC_Saturation ( void ); |
339 | int Tv_FactorySet_FBC_HueColorTint( int value ); |
340 | int Tv_FactoryGet_FBC_HueColorTint ( void ); |
341 | virtual int Tv_FactorySet_FBC_Backlight ( int value ); |
342 | virtual int Tv_FactoryGet_FBC_Backlight ( void ); |
343 | int Tv_FactorySet_FBC_Backlight_N360 ( int value ); |
344 | int Tv_FactoryGet_FBC_Backlight_N360 ( void ); |
345 | int Tv_FactorySet_FBC_ELEC_MODE( int value ); |
346 | int Tv_FactoryGet_FBC_ELEC_MODE( void ); |
347 | int Tv_FactorySet_FBC_BACKLIGHT_N360( int value ); |
348 | int Tv_FactoryGet_FBC_BACKLIGHT_N360( void ); |
349 | int Tv_FactorySet_FBC_Picture_Mode ( int mode ); |
350 | int Tv_FactoryGet_FBC_Picture_Mode ( void ); |
351 | int Tv_FactorySet_FBC_Set_Test_Pattern ( int mode ); |
352 | int Tv_FactoryGet_FBC_Get_Test_Pattern ( void ); |
353 | int Tv_FactorySet_FBC_Gain_Red( int value ); |
354 | int Tv_FactoryGet_FBC_Gain_Red ( void ); |
355 | int Tv_FactorySet_FBC_Gain_Green( int value ); |
356 | int Tv_FactoryGet_FBC_Gain_Green( void ); |
357 | int Tv_FactorySet_FBC_Gain_Blue( int value ); |
358 | int Tv_FactoryGet_FBC_Gain_Blue ( void ); |
359 | int Tv_FactorySet_FBC_Offset_Red( int value ); |
360 | int Tv_FactoryGet_FBC_Offset_Red ( void ); |
361 | int Tv_FactorySet_FBC_Offset_Green( int value ); |
362 | int Tv_FactoryGet_FBC_Offset_Green( void ); |
363 | int Tv_FactorySet_FBC_Offset_Blue( int value ); |
364 | int Tv_FactoryGet_FBC_Offset_Blue ( void ); |
365 | int Tv_FactoryGetWhiteBalanceRedGain(int source_type, int colortemp_mode); |
366 | int Tv_FactoryGetWhiteBalanceGreenGain(int source_type, int colortemp_mode); |
367 | int Tv_FactoryGetWhiteBalanceBlueGain(int source_type, int colortemp_mode); |
368 | int Tv_FactoryGetWhiteBalanceRedOffset(int source_type, int colortemp_mode); |
369 | int Tv_FactoryGetWhiteBalanceGreenOffset(int source_type, int colortemp_mode); |
370 | int Tv_FactoryGetWhiteBalanceBlueOffset(int source_type, int colortemp_mode); |
371 | int Tv_FactorySetWhiteBalanceRedGain(int source_type, int colortemp_mode, int value); |
372 | int Tv_FactorySetWhiteBalanceGreenGain(int source_type, int colortemp_mode, int value); |
373 | int Tv_FactorySetWhiteBalanceBlueGain(int source_type, int colortemp_mode, int value); |
374 | int Tv_FactorySetWhiteBalanceRedOffset(int source_type, int colortemp_mode, int value); |
375 | int Tv_FactorySetWhiteBalanceGreenOffset(int source_type, int colortemp_mode, int value); |
376 | int Tv_FactorySetWhiteBalanceBlueOffset(int source_type, int colortemp_mode, int value); |
377 | int Tv_FactorySetWhiteBalanceColorTempMode(int source_type, int colortemp_mode, int is_save); |
378 | int Tv_FactoryGetWhiteBalanceColorTempMode(int source_type ); |
379 | int Tv_FactoryWhiteBalanceFormatInputFbcGainParams(int value); |
380 | int Tv_FactoryWhiteBalanceFormatInputFbcOffsetParams(int value); |
381 | int Tv_FactoryWhiteBalanceFormatOutputFbcOffsetParams(int value); |
382 | int Tv_FactoryWhiteBalanceFormatOutputFbcGainParams(int value); |
383 | int Tv_FactorySaveWhiteBalancePramas(int source_type, int tempmode, int r_gain, int g_gain, int b_gain, int r_offset, int g_offset, int b_offset); |
384 | int Tv_FactoryCloseWhiteBalanceGrayPattern(); |
385 | int Tv_FactoryOpenWhiteBalanceGrayPattern(); |
386 | int Tv_FactorySetWhiteBalanceGrayPattern(int value); |
387 | int Tv_FactoryGetWhiteBalanceGrayPattern(); |
388 | int Tv_FactoryWhiteBalanceColorTempMappingG92Fbc(int Tempmode); |
389 | int Tv_FactoryWhiteBalanceColorTempMappingFbc2G9(int Tempmode); |
390 | int Tv_FactorySet_FBC_GrayPattern(int value); |
391 | int Tv_FactoryOpen_FBC_GrayPattern(); |
392 | int Tv_FactoryClose_FBC_GrayPattern(); |
393 | int Tv_FactorySet_FBC_ColorTemp_Mode( int mode ); |
394 | int Tv_FactoryGet_FBC_ColorTemp_Mode ( void ); |
395 | int Tv_FactorySet_FBC_ColorTemp_Mode_N360( int mode ); |
396 | int Tv_FactoryGet_FBC_ColorTemp_Mode_N360 ( void ); |
397 | int Tv_FactorySet_FBC_LockN_state(int value); |
398 | int Tv_FactorySet_FBC_WB_Initial( int status ); |
399 | int Tv_FactoryGet_FBC_WB_Initial ( void ); |
400 | virtual int Tv_FactorySet_FBC_ColorTemp_Batch(vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t params); |
401 | virtual int Tv_FactoryGet_FBC_ColorTemp_Batch ( vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t *params ); |
402 | int Tv_FactorySet_WB_G9_To_FBC( vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t params ); |
403 | int Tv_FactoryGet_WB_G9_To_FBC ( vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t *params ); |
404 | int Tv_FactoryGetItemFromBatch(vpp_color_temperature_mode_t colortemp_mode, int item); |
405 | int Tv_FactorySet_FBC_CM_OnOff( unsigned char status ); |
406 | int Tv_FactoryGet_FBC_CM_OnOff (void); |
407 | int Tv_FactorySet_FBC_DNLP_OnOff( unsigned char status ); |
408 | int Tv_FactoryGet_FBC_DNLP_OnOff (void); |
409 | int Tv_FactorySet_FBC_Gamma_OnOff( unsigned char status ); |
410 | int Tv_FactoryGet_FBC_Gamma_OnOff (void); |
411 | int Tv_FactorySet_FBC_WhiteBalance_OnOff( unsigned char status ); |
412 | int Tv_FactoryGet_FBC_WhiteBalance_OnOff (void); |
413 | int Tv_FactorySet_FBC_Thermal_State( int value ); |
414 | int Tv_FactorySet_FBC_backlight_onoff(int value); |
415 | int Tv_FactoryGet_FBC_backlight_onoff ( void ); |
416 | int Tv_FactorySet_FBC_Auto_Backlight_OnOff(unsigned char status); |
417 | int Tv_FactoryGet_FBC_Auto_Backlight_OnOff ( void ); |
418 | int Tv_FactoryGet_FBC_VIDEO_MUTE ( void ); |
419 | int Tv_FactorySet_FBC_LVDS_SSG_Set( int value ); |
420 | int Tv_FactorySet_FBC_LightSensor_Status_N310 ( int value ); |
421 | int Tv_FactoryGet_FBC_LightSensor_Status_N310 ( void ); |
422 | int Tv_FactorySet_FBC_Dream_Panel_Status_N310 ( int value ); |
423 | int Tv_FactoryGet_FBC_Dream_Panel_Status_N310 ( void ); |
424 | int Tv_FactorySet_FBC_MULT_PQ_Status_N310 ( int value ); |
425 | int Tv_FactoryGet_FBC_MULT_PQ_Status_N310 ( void ); |
426 | int Tv_FactorySet_FBC_MEMC_Status_N310 ( int value ); |
427 | int Tv_FactoryGet_FBC_MEMC_Status_N310 ( void ); |
428 | int Tv_FactorySet_FBC_ColorTemp_Mode_N310( int mode ); |
429 | int Tv_FactoryGet_FBC_ColorTemp_Mode_N310 ( void ); |
430 | virtual int Tv_FactorySet_FBC_Backlight_N310 ( int value ); |
431 | virtual int Tv_FactoryGet_FBC_Backlight_N310 ( void ); |
432 | int Tv_FactorySet_FBC_Bluetooth_IIS_N310 ( int value ); |
433 | int Tv_FactoryGet_FBC_Bluetooth_IIS_N310 ( void ); |
434 | int Tv_FactorySet_FBC_Led_N310 ( int val_1, int val_2, int val_3 ); |
435 | int Tv_FactorySet_VbyOne_Spread_Spectrum_N311 ( int value ); |
436 | int Tv_FactoryGet_VbyOne_Spread_Spectrum_N311 ( void ); |
437 | int Tv_FactorySet_FBC_AP_STANDBY_N310 ( int value ); |
438 | int Tv_FactoryGet_FBC_AP_STANDBY_N310( void ); |
439 | int Tv_FactorySet_Uboot_Stage(int value); |
440 | //end TV TO FBC |
441 | |
442 | int Tv_SetTestPattern(int value); |
443 | int Tv_Set2k4k_ScalerUp_Mode ( int value ); |
444 | int Tv_Get2k4k_ScalerUp_Mode ( void ); |
445 | //audio |
446 | virtual int Tv_SetDRC_OnOff(int on_off); |
447 | virtual int Tv_GetDRC_OnOff(void); |
448 | virtual void updateSubtitle(int, int); |
449 | int setSubtitleBuffer(char *); |
450 | int initSubtitle(int, int) ; |
451 | int lockSubtitle(); |
452 | int unlockSubtitle(); |
453 | int getSubSwitchStatus(); |
454 | int startSubtitle(int dmx_id, int pid, int page_id, int anc_page_id) ; |
455 | int stopSubtitle() ; |
456 | |
457 | //audio |
458 | virtual void TvAudioOpen(); |
459 | virtual void AudioCtlUninit(); |
460 | virtual int SetAudioMuteForSystem(int muteOrUnmute); |
461 | virtual int GetAudioMuteForSystem(); |
462 | virtual int SetAudioMuteForTv(int muteOrUnmute); |
463 | virtual int GetAudioMuteForTv(); |
464 | virtual char *GetMainVolLutTableExtraName(); |
465 | virtual int SetDbxTvMode(int mode, int son_value, int vol_value, int sur_value); |
466 | virtual int GetDbxTvMode(int *mode, int *son_value, int *vol_value, int *sur_value); |
467 | int AudioHandleHeadsetPlugIn(); |
468 | int AudioHandleHeadsetPullOut(); |
469 | int SetAudioAVOutMute(int muteStatus); |
470 | int GetAudioAVOutMute(); |
471 | int SetAudioSPDIFMute(int muteStatus); |
472 | int GetAudioSPDIFMute(); |
473 | int SetDacMute(int muteStatus, int mute_type); |
474 | int SetAudioI2sMute(int); |
475 | int SetAudioMasterVolume(int tmp_vol); |
476 | int GetAudioMasterVolume(); |
477 | int SaveCurAudioMasterVolume(int tmp_vol); |
478 | int GetCurAudioMasterVolume(); |
479 | int SetAudioBalance(int tmp_val); |
480 | int GetAudioBalance(); |
481 | int SaveCurAudioBalance(int tmp_val); |
482 | int GetCurAudioBalance(); |
483 | int SetAudioSupperBassVolume(int tmp_vol); |
484 | int GetAudioSupperBassVolume(); |
485 | int SaveCurAudioSupperBassVolume(int tmp_vol); |
486 | int GetCurAudioSupperBassVolume(); |
487 | int SetAudioSupperBassSwitch(int tmp_val); |
488 | int GetAudioSupperBassSwitch(); |
489 | int SaveCurAudioSupperBassSwitch(int tmp_val); |
490 | int GetCurAudioSupperBassSwitch(); |
491 | int SetAudioSRSSurround(int tmp_val); |
492 | int GetAudioSRSSurround(); |
493 | int SaveCurAudioSrsSurround(int tmp_val); |
494 | int GetCurAudioSRSSurround(); |
495 | int SetAudioSrsDialogClarity(int tmp_val); |
496 | int GetAudioSrsDialogClarity(); |
497 | int SaveCurAudioSrsDialogClarity(int tmp_val); |
498 | int GetCurAudioSrsDialogClarity(); |
499 | int SetAudioSrsTruBass(int tmp_val); |
500 | int GetAudioSrsTruBass(); |
501 | int SaveCurAudioSrsTruBass(int tmp_val); |
502 | int GetCurAudioSrsTruBass(); |
503 | int SetAudioSPDIFSwitch(int tmp_val); |
504 | int GetCurAudioSPDIFSwitch(); |
505 | int SaveCurAudioSPDIFSwitch(int tmp_val); |
506 | |
507 | //Audio SPDIF Mode |
508 | int SetAudioSPDIFMode(int tmp_val); |
509 | int GetCurAudioSPDIFMode(); |
510 | int SaveCurAudioSPDIFMode(int tmp_val); |
511 | int SetAudioBassVolume(int tmp_vol); |
512 | int GetAudioBassVolume(); |
513 | int SaveCurAudioBassVolume(int tmp_vol); |
514 | int GetCurAudioBassVolume(); |
515 | int SetAudioTrebleVolume(int tmp_vol); |
516 | int GetAudioTrebleVolume(); |
517 | int SaveCurAudioTrebleVolume(int tmp_vol); |
518 | int GetCurAudioTrebleVolume(); |
519 | int SetAudioSoundMode(int tmp_val); |
520 | int GetAudioSoundMode(); |
521 | int SaveCurAudioSoundMode(int tmp_val); |
522 | int GetCurAudioSoundMode(); |
523 | int SetAudioWallEffect(int tmp_val); |
524 | int GetAudioWallEffect(); |
525 | int SaveCurAudioWallEffect(int tmp_val); |
526 | int GetCurAudioWallEffect(); |
527 | int SetAudioEQMode(int tmp_val); |
528 | int GetAudioEQMode(); |
529 | int SaveCurAudioEQMode(int tmp_val); |
530 | int GetCurAudioEQMode(); |
531 | int GetAudioEQRange(int range_buf[]); |
532 | int GetAudioEQBandCount(); |
533 | int SetAudioEQGain(int gain_buf[]); |
534 | int GetAudioEQGain(int gain_buf[]); |
535 | int GetCurAudioEQGain(int gain_buf[]); |
536 | int SaveCurAudioEQGain(int gain_buf[]); |
537 | int SetAudioEQSwitch(int switch_val); |
538 | int OpenAmAudio(unsigned int sr, int input_device, int output_device); |
539 | int CloseAmAudio(void); |
540 | int SetAmAudioInputSr(unsigned int sr, int output_device); |
541 | int SetAmAudioOutputMode(int mode); |
542 | int SetAmAudioMusicGain(int gain); |
543 | int SetAmAudioLeftGain(int gain); |
544 | int SetAmAudioRightGain(int gain); |
545 | int SetAudioVolumeCompensationVal(int tmp_vol_comp_val); |
546 | int AudioLineInSelectChannel(int audio_channel); |
547 | int AudioSetLineInCaptureVolume(int l_vol, int r_vol); |
548 | int SetKalaokIO(int level); |
549 | int setAudioPcmPlaybackVolume(int val); |
550 | |
551 | int openTvAudio(); |
552 | int closeTvAudio(); |
553 | |
554 | int InitTvAudio(int sr, int input_device); |
555 | int UnInitTvAudio(); |
556 | int AudioChangeSampleRate(int sr); |
557 | int AudioSetAudioInSource(int audio_src_in_type); |
558 | int AudioSetAudioSourceType(int source_type); |
559 | int AudioSSMRestoreDefaultSetting(); |
560 | int SetAudioDumpDataFlag(int tmp_flag); |
561 | int GetAudioDumpDataFlag(); |
562 | int SetAudioLeftRightMode(unsigned int mode); |
563 | unsigned int GetAudioLeftRightMode(); |
564 | int SwitchAVOutBypass (int); |
565 | int SetAudioSwitchIO(int value); |
566 | int SetOutput_Swap(int value); |
567 | int HanldeAudioInputSr(unsigned int); |
568 | void AudioSetVolumeDigitLUTBuf(int lut_sel_flag, int *MainVolLutBuf); |
569 | int SetADC_Digital_Capture_Volume(int value); |
570 | int SetPGA_IN_Value(int value); |
571 | int SetDAC_Digital_PlayBack_Volume(int value); |
572 | int InitSetTvAudioCard(); |
573 | int UnInitSetTvAudioCard(); |
574 | void RefreshSrsEffectAndDacGain(); |
575 | int SetCustomEQGain(); |
576 | int SetAtvInGain(int gain_val); |
577 | int GetHdmiAvHotplugDetectOnoff(); |
578 | private: |
579 | int SendCmdToOffBoardFBCExternalDac(int, int); |
580 | int LoadCurAudioSPDIFMode(); |
581 | int LoadCurAudioMasterVolume(); |
582 | int LoadCurAudioBalance(); |
583 | int LoadCurAudioSupperBassVolume(); |
584 | int LoadCurAudioSupperBassSwitch(); |
585 | int LoadCurAudioSrsSurround(); |
586 | int LoadCurAudioSrsDialogClarity(); |
587 | int LoadCurAudioSPDIFSwitch(); |
588 | void SetSupperBassSRSSpeakerSize(); |
589 | int LoadCurAudioSoundMode(); |
590 | int LoadCurAudioEQMode(); |
591 | int LoadCurAudioSrsTruBass(); |
592 | int RealSaveCurAudioBassVolume(int, int); |
593 | int LoadCurAudioBassVolume(); |
594 | int RealSaveCurAudioTrebleVolume(int, int); |
595 | int LoadCurAudioTrebleVolume(); |
596 | int HandleTrebleBassVolume(); |
597 | int LoadCurAudioWallEffect(); |
598 | int RealReadCurAudioEQGain(int *); |
599 | int RealSaveCurAudioEQGain(int *, int); |
600 | int LoadCurAudioEQGain(); |
601 | int MappingEQGain(int *, int *, int); |
602 | int RestoreToAudioDefEQGain(int *); |
603 | int GetCustomEQGain(int *); |
604 | int AudioSetEQGain(int *); |
605 | int handleEQGainBeforeSet(int *, int *); |
606 | int RealSetEQGain(int *); |
607 | int SetSpecialModeEQGain(int); |
608 | int SetSpecialIndexEQGain(int, int); |
609 | int SaveSpecialIndexEQGain(int, int); |
610 | void LoadAudioCtl(); |
611 | void InitSetAudioCtl(); |
612 | int GetBassUIMinGainVal(); |
613 | int GetBassUIMaxGainVal(); |
614 | int GetTrebleUIMinGainVal(); |
615 | int GetTrebleUIMaxGainVal(); |
616 | int MappingLine(int, int, int, int, int); |
617 | int MappingTrebleBassAndEqualizer(int, int, int, int); |
618 | int SetSPDIFMode(int mode_val); |
619 | |
620 | CAudioAlsa mAudioAlsa; |
621 | CAudioEffect mAudioEffect; |
622 | |
623 | CAudioCustomerCtrl mCustomerCtrl; |
624 | int mCurAudioMasterVolume; |
625 | int mCurAudioBalance; |
626 | int mCurAudioSupperBassVolume; |
627 | int mCurAudioSupperBassSwitch; |
628 | int mCurAudioSRSSurround; |
629 | int mCurAudioSrsDialogClarity; |
630 | int mCurAudioSrsTruBass; |
631 | int mCurAudioSPDIFSwitch; |
632 | int mCurAudioSPDIFMode; |
633 | int mCurAudioBassVolume; |
634 | int mCurAudioTrebleVolume; |
635 | int mCurAudioSoundMode; |
636 | int mCurAudioWallEffect; |
637 | int mCurAudioEQMode; |
638 | int mCustomAudioMasterVolume; |
639 | int mCustomAudioBalance; |
640 | int mCustomAudioSupperBassVolume; |
641 | int mCustomAudioSupperBassSwitch; |
642 | int mCustomAudioSRSSurround; |
643 | int mCustomAudioSrsDialogClarity; |
644 | int mCustomAudioSrsTruBass; |
645 | int mCustomAudioBassVolume; |
646 | int mCustomAudioTrebleVolume; |
647 | int mCustomAudioSoundMode; |
648 | int mCustomAudioWallEffect; |
649 | int mCustomAudioEQMode; |
650 | int mCustomAudioSoundEnhancementSwitch; |
651 | int mCustomEQGainBuf[CC_BAND_ITEM_CNT]; |
652 | int mCurEQGainBuf[CC_BAND_ITEM_CNT] ; |
653 | int8_t mCurEQGainChBuf[CC_BAND_ITEM_CNT]; |
654 | int mWallEffectValueBuf[CC_BAND_ITEM_CNT]; |
655 | int mVolumeCompensationVal; |
656 | int mMainVolumeBalanceVal; |
657 | //end audio |
658 | |
659 | protected: |
660 | class CTvMsgQueue: public CMsgQueueThread, public CAv::IObserver, public CTvScanner::IObserver , public CTvEpg::IObserver, public CFrontEnd::IObserver { |
661 | public: |
662 | static const int TV_MSG_COMMON = 0; |
663 | static const int TV_MSG_STOP_ANALYZE_TS = 1; |
664 | static const int TV_MSG_START_ANALYZE_TS = 2; |
665 | static const int TV_MSG_CHECK_FE_DELAY = 3; |
666 | static const int TV_MSG_AV_EVENT = 4; |
667 | static const int TV_MSG_FE_EVENT = 5; |
668 | static const int TV_MSG_SCAN_EVENT = 6; |
669 | static const int TV_MSG_EPG_EVENT = 7; |
670 | static const int TV_MSG_HDMI_SR_CHANGED = 8; |
671 | static const int TV_MSG_ENABLE_VIDEO_LATER = 9; |
672 | CTvMsgQueue(CTv *tv); |
673 | ~CTvMsgQueue(); |
674 | //scan observer |
675 | void onEvent ( const CTvScanner::ScannerEvent &ev ); |
676 | //epg observer |
677 | void onEvent ( const CTvEpg::EpgEvent &ev ); |
678 | //FE observer |
679 | void onEvent ( const CFrontEnd::FEEvent &ev ); |
680 | //AV |
681 | void onEvent(const CAv::AVEvent &ev); |
682 | private: |
683 | virtual void handleMessage ( CMessage &msg ); |
684 | CTv *mpTv; |
685 | }; |
686 | |
687 | class CTvDetectObserverForScanner: public CTvin::CTvinSigDetect::ISigDetectObserver { |
688 | public: |
689 | CTvDetectObserverForScanner(CTv *); |
690 | ~CTvDetectObserverForScanner() {}; |
691 | virtual void onSigToStable(); |
692 | virtual void onSigStableToUnstable(); |
693 | virtual void onSigStableToNoSig(); |
694 | virtual void onSigUnStableToNoSig(); |
695 | virtual void onSigStillStable(); |
696 | private: |
697 | CTv *mpTv; |
698 | int m_sig_stable_nums; |
699 | }; |
700 | void onEnableVideoLater(int framecount); |
701 | int resetDmxAndAvSource(); |
702 | int stopScan(); |
703 | int stopPlaying(); |
704 | void sendTvEvent ( const CTvEv &ev ); |
705 | int startPlayTv ( int source, int vid, int aid, int vfat, int afat ); |
706 | //scan observer |
707 | void onEvent ( const CTvScanner::ScannerEvent &ev ); |
708 | //epg observer |
709 | void onEvent ( const CTvEpg::EpgEvent &ev ); |
710 | //FE observer |
711 | void onEvent ( const CFrontEnd::FEEvent &ev ); |
712 | //AV |
713 | void onEvent(const CAv::AVEvent &ev); |
714 | bool Tv_Start_Analyze_Ts ( int channelID ); |
715 | bool Tv_Stop_Analyze_Ts(); |
716 | int Tvin_Stop ( void ); |
717 | int Tvin_GetTvinConfig(); |
718 | int Tv_init_audio(); |
719 | int Tv_MiscSetBySource ( tv_source_input_t ); |
720 | void print_version_info ( void ); |
721 | int dtvCleanProgramByFreq ( int freq ); |
722 | /*********************** Audio start **********************/ |
723 | int SetAudioVolDigitLUTTable ( tv_source_input_t source_input ); |
724 | virtual int Tv_SetAudioInSource (tv_source_input_t source_input); |
725 | void Tv_SetAudioOutputSwap_Type (tv_source_input_t source_input); |
726 | void Tv_ADCDigitalCapture_Volume (void); |
727 | void Tv_SetPGAIn_Gain (void); |
728 | void Tv_SetDACDigitalPlayBack_Volume (int audio_src_in_type); |
729 | void Tv_SetAVOutPut_Input_gain(tv_source_input_t source_input); |
730 | /*********************** Audio end **********************/ |
731 | |
732 | // |
733 | virtual void onSigToStable(); |
734 | virtual void onSigStableToUnstable(); |
735 | virtual void onSigStableToUnSupport(); |
736 | virtual void onSigStableToNoSig(); |
737 | virtual void onSigUnStableToUnSupport(); |
738 | virtual void onSigUnStableToNoSig(); |
739 | virtual void onSigNullToNoSig(); |
740 | virtual void onSigNoSigToUnstable(); |
741 | virtual void onSigStillStable(); |
742 | virtual void onSigStillUnstable(); |
743 | virtual void onSigStillNosig(); |
744 | virtual void onSigStillNoSupport(); |
745 | virtual void onSigStillNull(); |
746 | virtual void onStableSigFmtChange(); |
747 | virtual void onStableTransFmtChange(); |
748 | virtual void onSigDetectEnter(); |
749 | virtual void onSigDetectLoop(); |
750 | |
751 | virtual void onSourceConnect(int source_type, int connect_status); |
752 | virtual void onHDMIRxCECMessage(int msg_len, unsigned char msg_buf[]); |
753 | virtual void onUpgradeStatus(int status, int progress); |
754 | virtual void onSerialCommunication(int dev_id, int rd_len, unsigned char data_buf[]); |
755 | virtual void onThermalDetect(int state); |
756 | virtual void onVframeSizeChange(); |
757 | |
758 | CTvEpg mTvEpg; |
759 | CTvScanner mTvScanner; |
760 | mutable Mutex mLock; |
761 | CTvTime mTvTime; |
762 | CVpp mVpp; |
763 | CTvin mTvin; |
764 | CTvRecord mTvRec; |
765 | CFrontEnd mFrontDev; |
766 | CTvDimension mTvVchip; |
767 | CTvSubtitle mTvSub; |
768 | CAv mAv; |
769 | CTvDmx mTvDmx; |
770 | CTvMsgQueue mTvMsgQueue; |
771 | AutoBackLight mAutoBackLight; |
772 | CAutoPQparam mAutoPQparam; |
773 | CTvDetectObserverForScanner mTvScannerDetectObserver; |
774 | // |
775 | volatile int mTvAction; |
776 | volatile TvRunStatus_t mTvStatus; |
777 | volatile tv_source_input_t m_source_input; |
778 | volatile tv_source_input_t m_last_source_input; |
779 | /* for tvin window mode and pos*/ |
780 | tvin_window_pos_t m_win_pos; |
781 | tv_window_mode_t m_win_mode; |
782 | int m_blackout_enable;//1 enable 0 disable |
783 | int m_cur_playing_prog_id; |
784 | bool mHdmiOutFbc; |
785 | CFbcCommunication *fbcIns; |
786 | |
787 | |
788 | bool mlastlockstatus; |
789 | String8 mlastdm; |
790 | String8 mlastabbrev; |
791 | String8 mlastabbtext; |
792 | pthread_t vchipthread; |
793 | int mvchip_running; |
794 | friend class CTvMsgQueue; |
795 | int mCurAnalyzeTsChannelID; |
796 | TvIObserver *mpObserver; |
797 | tv_dtv_scan_running_status_t mDtvScanRunningStatus; |
798 | volatile tv_config_t gTvinConfig; |
799 | int dtv_auto_3d_flag; |
800 | bool mAutoSetDisplayFreq; |
801 | int m_sig_stable_nums; |
802 | bool mSetHdmiEdid; |
803 | /** for L/R or B/T 3d mode overscan **/ |
804 | /** for 3D **/ |
805 | VIDEO_3D_MODE_T m_mode_3d; |
806 | /** for HDMI-in sampling detection. **/ |
807 | int m_hdmi_sampling_rate; |
808 | int m_hdmi_audio_data; |
809 | /** for display mode to bottom **/ |
810 | int screen_mode; |
811 | |
812 | //audio mute |
813 | int mAudioMuteStatusForTv; |
814 | int mAudioMuteStatusForSystem; |
815 | char mMainVolLutTableExtraName[16]; |
816 | }; |
817 | |
818 | #endif //_CDTV_H |
819 |