134 files changed, 31073 insertions, 30287 deletions
diff --git a/tvapi/libtv/tv/CTv.h b/tvapi/libtv/tv/CTv.h index 2520962..d4c65f0 100644 --- a/tvapi/libtv/tv/CTv.h +++ b/tvapi/libtv/tv/CTv.h @@ -55,765 +55,765 @@ static const char *TV_SSM_DATA_PARAM_PATH = "/param/ssm_data"; typedef enum tv_fmt_ratio_e { - RATIO_43, - RATIO_169, - RATIO_MAX, + RATIO_43, + RATIO_169, + RATIO_MAX, } tv_fmt_ratio_t; typedef enum tv_color_fmt_e { - COLOR_RGB444, - COLOR_YUV422, - COLOR_YUV444, - COLOR_MAX, + COLOR_RGB444, + COLOR_YUV422, + COLOR_YUV444, + COLOR_MAX, } tv_color_fmt_t; typedef enum tv_window_mode_e { - NORMAL_WONDOW, - PREVIEW_WONDOW, + NORMAL_WONDOW, + PREVIEW_WONDOW, } tv_window_mode_t; typedef enum tv_dtv_scan_running_status_e { - DTV_SCAN_RUNNING_NORMAL, - DTV_SCAN_RUNNING_ANALYZE_CHANNEL, + DTV_SCAN_RUNNING_NORMAL, + DTV_SCAN_RUNNING_ANALYZE_CHANNEL, } tv_dtv_scan_running_status_t; typedef struct tv_config_s { - bool kernelpet_disable; - unsigned int kernelpet_timeout; - bool userpet; - unsigned int userpet_timeout; - unsigned int userpet_reset; - bool memory512m; + bool kernelpet_disable; + unsigned int kernelpet_timeout; + bool userpet; + unsigned int userpet_timeout; + unsigned int userpet_reset; + bool memory512m; } tv_config_t; typedef enum TvRunStatus_s { - TV_INIT_ED = -1, - TV_OPEN_ED = 0, - TV_START_ED , - TV_RESUME_ED, - TV_PAUSE_ED, - TV_STOP_ED, - TV_CLOSE_ED, + TV_INIT_ED = -1, + TV_OPEN_ED = 0, + TV_START_ED , + TV_RESUME_ED, + TV_PAUSE_ED, + TV_STOP_ED, + TV_CLOSE_ED, } TvRunStatus_t; -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{ +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 { public: - static const int TV_ACTION_NULL = 0x0000; - static const int TV_ACTION_STARTING = 0x0001; - static const int TV_ACTION_STOPING = 0x0002; - static const int TV_ACTION_SCANNING = 0x0004; - static const int TV_ACTION_PLAYING = 0x0008; - static const int TV_ACTION_RECORDING = 0x0010; - static const int TV_ACTION_SOURCE_SWITCHING = 0x0020; + static const int TV_ACTION_NULL = 0x0000; + static const int TV_ACTION_STARTING = 0x0001; + static const int TV_ACTION_STOPING = 0x0002; + static const int TV_ACTION_SCANNING = 0x0004; + static const int TV_ACTION_PLAYING = 0x0008; + static const int TV_ACTION_RECORDING = 0x0010; + static const int TV_ACTION_SOURCE_SWITCHING = 0x0020; public: - class TvIObserver { - public: - TvIObserver() {}; - virtual ~TvIObserver() {}; - virtual void onTvEvent ( const CTvEv &ev ) = 0; - }; - //main - CTv(); - virtual ~CTv(); - virtual int OpenTv ( void ); - virtual int CloseTv ( void ); - virtual int StartTvLock (); - virtual int StopTvLock ( void ); - virtual int DoSuspend(int type); - virtual int DoResume(int type); - virtual int DoInstabootSuspend(); - virtual int DoInstabootResume(); - virtual TvRunStatus_t GetTvStatus(); - virtual int ClearAnalogFrontEnd(); - virtual tv_source_input_t GetLastSourceInput (void); - virtual int SetSourceSwitchInput (tv_source_input_t source_input ); - virtual tv_source_input_t GetCurrentSourceInputLock ( void ); - virtual tvin_info_t GetCurrentSignalInfo ( void ); - virtual int SetPreviewWindow ( tvin_window_pos_t pos ); - virtual int dtvAutoScan(); - virtual int dtvManualScan (int beginFreq, int endFreq, int modulation = -1); - virtual int atvAutoScan(int videoStd, int audioStd, int searchType); - virtual int clearAllProgram(int arg0); - virtual int clearDbAllProgramInfoTable(); - virtual void setSourceSwitchAndPlay(); - virtual int GetDisplayResolutionConfig(); - virtual int GetDisplayResolutionInfo(); - virtual int atvMunualScan ( int startFreq, int endFreq, int videoStd, int audioStd, int store_Type = 0, int channel_num = 0 ); - virtual int stopScanLock(); - virtual int dtvAutoScanAtscLock(int attenna, int videoStd, int audioStd); - virtual void SetRecordFileName ( char *name ); - virtual void StartToRecord(); - virtual void StopRecording(); - virtual void SetRecCurTsOrCurProgram ( int sel ); - virtual int startCC(int country, int src, int channel, int service); - virtual int stopCC(); - virtual void printDebugInfo(); - virtual int playProgramLock ( int progId ); - virtual int playDvbcProgram ( int progId ); - virtual int playDtmbProgram ( int progId ); - virtual int playAtvProgram ( int, int, int, int, int); - virtual int playDtvProgram ( int, int, int, int, int, int, int, int, int, int); - virtual int stopPlayingLock(); - virtual int resetFrontEndPara ( frontend_para_set_t feParms ); - virtual int SetDisplayMode ( vpp_display_mode_t display_mode, tv_source_input_type_t source_type, tvin_sig_fmt_t sig_fmt ); - virtual void startAutoBackLight(); - virtual void stopAutoBackLight(); - virtual const char *getPqDbPath(); - virtual void onHdmiSrChanged(int sr, bool bInit); - virtual void onHMDIAudioStatusChanged(int status); - virtual int GetATVAFCType(); - virtual int GetATVSourceTimerSwitch(); - int SetCurProgramAudioVolumeCompensationVal ( int tmpVal ); - int GetAudioVolumeCompensationVal(int progDbId); - //dtv audio track info - int getAudioTrackNum ( int progId ); - int getAudioInfoByIndex ( int progId, int idx, int *pAFmt, String8 &lang ); - int switchAudioTrack ( int progId, int idx ); - int switchAudioTrack ( int aPid, int aFmt, int aParam ); - int getVideoFormatInfo ( int *pWidth, int *pHeight, int *pFPS, int *pInterlace ); - int ResetAudioDecoderForPCMOutput(); - int setAudioChannel ( int channelIdx ); - int getAudioChannel(); - int setTvObserver (TvIObserver *ob); - int getAtscAttenna(); - long getTvTime() - { - return mTvTime.getTime(); - }; - void getFrontendStatus(); - int getFrontendSignalStrength(); - int getFrontendSNR(); - int getFrontendBER(); - int getChannelInfoBydbID ( int dbID, channel_info_t &chan_info ); - int setBlackoutEnable(int enable); - int getSaveBlackoutEnable(); - int getAutoBackLight_on_off(); - int saveATVProgramID ( int dbID ); - int getATVProgramID ( void ); - int saveDTVProgramID ( int dbID ); - int getDTVProgramID ( void ); - int getCurPlayProgId(); - int getATVMinMaxFreq ( int *scanMinFreq, int *scanMaxFreq ); - int getAverageLuma(); - int setAutobacklightData(const char* value); - int getAutoBacklightData(int* data); - - virtual int Tv_SSMRestoreDefaultSetting(); - - // - int GetSourceConnectStatus(tv_source_input_t source_input); - int IsDVISignal(); - int isVgaFmtInHdmi(); - int isSDFmtInHdmi ( void ); - // - int getHDMIFrameRate ( void ); - void RefreshAudioMasterVolume ( tv_source_input_t source_input ); - - int Tv_Set3DMode ( VIDEO_3D_MODE_T mode ); - VIDEO_3D_MODE_T Tv_Get3DMode ( void ); - int Tv_Set3DLRSwith ( int on_off); - int Tv_Get3DLRSwith ( void ); - int Tv_Set3DTo2DMode ( int mode); - int Tv_Get3DTo2DMode ( void ); - int Tv_Set3DDepth ( int value ); - int GetSave3DDepth ( void ); - is_3d_type_t Check2Dor3D ( VIDEO_3D_MODE_T mode3d, tvin_trans_fmt_t trans_fmt ); - int Tvin_SetPLLValues (); - int SetCVD2Values (); - unsigned int Vpp_GetDisplayResolutionInfo(tvin_window_pos_t *win_pos); - int get_hdmi_sampling_rate(); - //SSM - virtual int Tv_SSMFacRestoreDefaultSetting(); - int Tv_GetHistgram(int *histgram_buf); - int StartHeadSetDetect(); - virtual void onHeadSetDetect(int state,int para); - - CTvin::CTvinSigDetect mSigDetectThread; - CSourceConnectDetect mSourceConnectDetectThread; - CTvin::CHDMIRxCEC mHDMIRxCEC; - CUpgradeFBC *mpUpgradeFBC; - CSerialCommunication mSerialA; - CSerialCommunication mSerialB; - CSerialCommunication mSerialC; - CTvSubtitle mSubtitle; - CTv2d4GHeadSetDetect mHeadSet; - - int SendHDMIRxCECCustomMessage(unsigned char data_buf[]); - int SendHDMIRxCECCustomMessageAndWaitReply(unsigned char data_buf[], unsigned char reply_buf[], int WaitCmd, int timeout); - int SendHDMIRxCECBoradcastStandbyMessage(); - int SendHDMIRxCECGiveCECVersionMessage(tv_source_input_t source_input, unsigned char data_buf[]); - int SendHDMIRxCECGiveDeviceVendorIDMessage(tv_source_input_t source_input, unsigned char data_buf[]); - int SendHDMIRxCECGiveOSDNameMessage(tv_source_input_t source_input, unsigned char data_buf[]); - - int GetHdmiHdcpKeyKsvInfo(int data_buf[]); - virtual bool hdmiOutWithFbc(); - int StartUpgradeFBC(char *file_name, int mode, int upgrade_blk_size); - int SetSerialSwitch(int dev_id, int switch_val); - int SendSerialData(int dev_id, int data_len, unsigned char data_buf[]); - int SetDebugSerialOnOff(int on_off); - int GetDebugSerialOnOff(); - int ChannelExport(const char *destPath); - int ChannelImport(const char *srcPath); - int Tv_GetProjectInfo(project_info_t *ptrInfo); - int Tv_GetPlatformType(); - int Tv_HandeHDMIEDIDFilePathConfig(); - int Tv_SetDDDRCMode(tv_source_input_t source_input); - int Tv_SetAudioSourceType (tv_source_input_t source_input); - - //PQ - virtual int Tv_SetBrightness ( int brightness, tv_source_input_type_t source_type, int is_save ); - virtual int Tv_GetBrightness ( tv_source_input_type_t source_type ); - virtual int Tv_SaveBrightness ( int brightness, tv_source_input_type_t source_type ); - virtual int Tv_SetContrast ( int contrast, tv_source_input_type_t source_type, int is_save ); - virtual int Tv_GetContrast ( tv_source_input_type_t source_type ); - virtual int Tv_SaveContrast ( int contrast, tv_source_input_type_t source_type ); - virtual int Tv_SetSaturation ( int satuation, tv_source_input_type_t source_type, tvin_sig_fmt_t sig_fmt, int is_save ); - virtual int Tv_GetSaturation ( tv_source_input_type_t source_type ); - virtual int Tv_SaveSaturation ( int satuation, tv_source_input_type_t source_type ); - virtual int Tv_SetHue ( int hue, tv_source_input_type_t source_type, tvin_sig_fmt_t sig_fmt, int is_save ); - virtual int Tv_GetHue ( tv_source_input_type_t source_type ); - virtual int Tv_SaveHue ( int hue, tv_source_input_type_t source_type ); - virtual int Tv_SetPQMode ( vpp_picture_mode_t mode, tv_source_input_type_t source_type, int is_save ); - virtual vpp_picture_mode_t Tv_GetPQMode ( tv_source_input_type_t source_type ); - virtual int Tv_SavePQMode ( vpp_picture_mode_t mode, tv_source_input_type_t source_type ); - virtual int Tv_SetSharpness ( int value, tv_source_input_type_t source_type, int en, int is_save ); - virtual int Tv_GetSharpness ( tv_source_input_type_t source_type ); - virtual int Tv_SaveSharpness ( int value, tv_source_input_type_t source_type ); - virtual int Tv_SetBacklight ( int value, tv_source_input_type_t source_type, int is_save ); - virtual int Tv_GetBacklight ( tv_source_input_type_t source_type ); - virtual int Tv_SaveBacklight ( int value, tv_source_input_type_t source_type ); - int Tv_SetBacklight_Switch ( int value ); - int Tv_GetBacklight_Switch ( void ); - int Tv_SetColorTemperature ( vpp_color_temperature_mode_t mode, tv_source_input_type_t source_type, int is_save ); - vpp_color_temperature_mode_t Tv_GetColorTemperature ( tv_source_input_type_t source_type ); - virtual int Tv_SetDisplayMode ( vpp_display_mode_t mode, tv_source_input_type_t source_type, tvin_sig_fmt_t fmt, int is_save ); - virtual int Tv_SaveDisplayMode ( vpp_display_mode_t mode, tv_source_input_type_t source_type ); - virtual int Tv_SaveColorTemperature ( vpp_color_temperature_mode_t mode, tv_source_input_type_t source_type ); - virtual vpp_display_mode_t Tv_GetDisplayMode ( tv_source_input_type_t source_type ); - virtual int Tv_SetNoiseReductionMode ( vpp_noise_reduction_mode_t mode, tv_source_input_type_t source_type, int is_save ); - virtual vpp_noise_reduction_mode_t Tv_GetNoiseReductionMode ( tv_source_input_type_t source_type ); - virtual int Tv_SaveNoiseReductionMode ( vpp_noise_reduction_mode_t mode, tv_source_input_type_t source_type ); - int Tv_SetSplitScreenDemoStatus(tv_source_input_type_t source_type, int onoff_status); - int Tv_GetSplitScreenDemoStatus(tv_source_input_type_t source_type); - int Tv_SplitScreenEffect(int mode, int width, int reverse = 0); - // - int Tv_FactorySetPQMode_Brightness ( int source_type, int pq_mode, int brightness ); - int Tv_FactoryGetPQMode_Brightness ( int source_type, int pq_mode ); - int Tv_FactorySetPQMode_Contrast ( int source_type, int pq_mode, int contrast ); - int Tv_FactoryGetPQMode_Contrast ( int source_type, int pq_mode ); - int Tv_FactorySetPQMode_Saturation ( int source_type, int pq_mode, int saturation ); - int Tv_FactoryGetPQMode_Saturation ( int source_type, int pq_mode ); - int Tv_FactorySetPQMode_Hue ( int source_type, int pq_mode, int hue ); - int Tv_FactoryGetPQMode_Hue ( int source_type, int pq_mode ); - int Tv_FactorySetPQMode_Sharpness ( int source_type, int pq_mode, int sharpness ); - int Tv_FactoryGetPQMode_Sharpness ( int source_type, int pq_mode ); - - int GetColorTemperatureParams ( vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t *params ); - int Tv_FactorySetTestPattern ( int pattern ); - int Tv_FactoryGetTestPattern ( void ); - int Tv_FactorySetScreenColor ( int vdin_blending_mask, int y, int u, int v ); - int Tv_FactoryResetPQMode ( void ); - int Tv_FactoryResetColorTemp ( void ); - int Tv_FactorySetParamsDefault ( void ); - int Tv_FactorySetDDRSSC ( int step ); - int Tv_FactoryGetDDRSSC ( void ); - int Tv_FactorySetLVDSSSC ( int step ); - int Tv_FactoryGetLVDSSSC ( void ); - void Tv_Spread_Spectrum(void); - int Tv_FactorySetNolineParams ( int noline_params_type, int source_type, noline_params_t noline_params ); - noline_params_t Tv_FactoryGetNolineParams ( int noline_params_type, int source_type ); - int Tv_FactorySetOverscan ( int source_type, int fmt, int status_3d, int trans_fmt, tvin_cutwin_t cutwin_t ); - tvin_cutwin_t Tv_FactoryGetOverscan ( int source_type, int fmt, int status_3d, int trans_fmt ); - int Tv_ReplacePqDb(const char *newFilePath = NULL); - //end PQ - - //TV TO FBC - int Tv_FactorySet_FBC_Brightness ( int value ); - int Tv_FactoryGet_FBC_Brightness ( void ); - int Tv_FactorySet_FBC_Contrast( int value ); - int Tv_FactoryGet_FBC_Contrast ( void ); - int Tv_FactorySet_FBC_Saturation( int value ); - int Tv_FactoryGet_FBC_Saturation ( void ); - int Tv_FactorySet_FBC_HueColorTint( int value ); - int Tv_FactoryGet_FBC_HueColorTint ( void ); - virtual int Tv_FactorySet_FBC_Backlight ( int value ); - virtual int Tv_FactoryGet_FBC_Backlight ( void ); - int Tv_FactorySet_FBC_Backlight_N360 ( int value ); - int Tv_FactoryGet_FBC_Backlight_N360 ( void ); - int Tv_FactorySet_FBC_ELEC_MODE( int value ); - int Tv_FactoryGet_FBC_ELEC_MODE( void ); - int Tv_FactorySet_FBC_BACKLIGHT_N360( int value ); - int Tv_FactoryGet_FBC_BACKLIGHT_N360( void ); - int Tv_FactorySet_FBC_Picture_Mode ( int mode ); - int Tv_FactoryGet_FBC_Picture_Mode ( void ); - int Tv_FactorySet_FBC_Set_Test_Pattern ( int mode ); - int Tv_FactoryGet_FBC_Get_Test_Pattern ( void ); - int Tv_FactorySet_FBC_Gain_Red( int value ); - int Tv_FactoryGet_FBC_Gain_Red ( void ); - int Tv_FactorySet_FBC_Gain_Green( int value ); - int Tv_FactoryGet_FBC_Gain_Green( void ); - int Tv_FactorySet_FBC_Gain_Blue( int value ); - int Tv_FactoryGet_FBC_Gain_Blue ( void ); - int Tv_FactorySet_FBC_Offset_Red( int value ); - int Tv_FactoryGet_FBC_Offset_Red ( void ); - int Tv_FactorySet_FBC_Offset_Green( int value ); - int Tv_FactoryGet_FBC_Offset_Green( void ); - int Tv_FactorySet_FBC_Offset_Blue( int value ); - int Tv_FactoryGet_FBC_Offset_Blue ( void ); - int Tv_FactoryGetWhiteBalanceRedGain(int source_type, int colortemp_mode); - int Tv_FactoryGetWhiteBalanceGreenGain(int source_type, int colortemp_mode); - int Tv_FactoryGetWhiteBalanceBlueGain(int source_type, int colortemp_mode); - int Tv_FactoryGetWhiteBalanceRedOffset(int source_type, int colortemp_mode); - int Tv_FactoryGetWhiteBalanceGreenOffset(int source_type, int colortemp_mode); - int Tv_FactoryGetWhiteBalanceBlueOffset(int source_type, int colortemp_mode); - int Tv_FactorySetWhiteBalanceRedGain(int source_type, int colortemp_mode, int value); - int Tv_FactorySetWhiteBalanceGreenGain(int source_type, int colortemp_mode, int value); - int Tv_FactorySetWhiteBalanceBlueGain(int source_type, int colortemp_mode, int value); - int Tv_FactorySetWhiteBalanceRedOffset(int source_type, int colortemp_mode, int value); - int Tv_FactorySetWhiteBalanceGreenOffset(int source_type, int colortemp_mode, int value); - int Tv_FactorySetWhiteBalanceBlueOffset(int source_type, int colortemp_mode, int value); - int Tv_FactorySetWhiteBalanceColorTempMode(int source_type, int colortemp_mode, int is_save); - int Tv_FactoryGetWhiteBalanceColorTempMode(int source_type ); - int Tv_FactoryWhiteBalanceFormatInputFbcGainParams(int value); - int Tv_FactoryWhiteBalanceFormatInputFbcOffsetParams(int value); - int Tv_FactoryWhiteBalanceFormatOutputFbcOffsetParams(int value); - int Tv_FactoryWhiteBalanceFormatOutputFbcGainParams(int value); - 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); - int Tv_FactoryCloseWhiteBalanceGrayPattern(); - int Tv_FactoryOpenWhiteBalanceGrayPattern(); - int Tv_FactorySetWhiteBalanceGrayPattern(int value); - int Tv_FactoryGetWhiteBalanceGrayPattern(); - int Tv_FactoryWhiteBalanceColorTempMappingG92Fbc(int Tempmode); - int Tv_FactoryWhiteBalanceColorTempMappingFbc2G9(int Tempmode); - int Tv_FactorySet_FBC_GrayPattern(int value); - int Tv_FactoryOpen_FBC_GrayPattern(); - int Tv_FactoryClose_FBC_GrayPattern(); - int Tv_FactorySet_FBC_ColorTemp_Mode( int mode ); - int Tv_FactoryGet_FBC_ColorTemp_Mode ( void ); - int Tv_FactorySet_FBC_ColorTemp_Mode_N360( int mode ); - int Tv_FactoryGet_FBC_ColorTemp_Mode_N360 ( void ); - int Tv_FactorySet_FBC_LockN_state(int value); - int Tv_FactorySet_FBC_WB_Initial( int status ); - int Tv_FactoryGet_FBC_WB_Initial ( void ); - virtual int Tv_FactorySet_FBC_ColorTemp_Batch(vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t params); - virtual int Tv_FactoryGet_FBC_ColorTemp_Batch ( vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t *params ); - int Tv_FactorySet_WB_G9_To_FBC( vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t params ); - int Tv_FactoryGet_WB_G9_To_FBC ( vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t *params ); - int Tv_FactoryGetItemFromBatch(vpp_color_temperature_mode_t colortemp_mode, int item); - int Tv_FactorySet_FBC_CM_OnOff( unsigned char status ); - int Tv_FactoryGet_FBC_CM_OnOff (void); - int Tv_FactorySet_FBC_DNLP_OnOff( unsigned char status ); - int Tv_FactoryGet_FBC_DNLP_OnOff (void); - int Tv_FactorySet_FBC_Gamma_OnOff( unsigned char status ); - int Tv_FactoryGet_FBC_Gamma_OnOff (void); - int Tv_FactorySet_FBC_WhiteBalance_OnOff( unsigned char status ); - int Tv_FactoryGet_FBC_WhiteBalance_OnOff (void); - int Tv_FactorySet_FBC_Thermal_State( int value ); - int Tv_FactorySet_FBC_backlight_onoff(int value); - int Tv_FactoryGet_FBC_backlight_onoff ( void ); - int Tv_FactorySet_FBC_Auto_Backlight_OnOff(unsigned char status); - int Tv_FactoryGet_FBC_Auto_Backlight_OnOff ( void ); - int Tv_FactoryGet_FBC_VIDEO_MUTE ( void ); - int Tv_FactorySet_FBC_LVDS_SSG_Set( int value ); - int Tv_FactorySet_FBC_LightSensor_Status_N310 ( int value ); - int Tv_FactoryGet_FBC_LightSensor_Status_N310 ( void ); - int Tv_FactorySet_FBC_Dream_Panel_Status_N310 ( int value ); - int Tv_FactoryGet_FBC_Dream_Panel_Status_N310 ( void ); - int Tv_FactorySet_FBC_MULT_PQ_Status_N310 ( int value ); - int Tv_FactoryGet_FBC_MULT_PQ_Status_N310 ( void ); - int Tv_FactorySet_FBC_MEMC_Status_N310 ( int value ); - int Tv_FactoryGet_FBC_MEMC_Status_N310 ( void ); - int Tv_FactorySet_FBC_ColorTemp_Mode_N310( int mode ); - int Tv_FactoryGet_FBC_ColorTemp_Mode_N310 ( void ); - virtual int Tv_FactorySet_FBC_Backlight_N310 ( int value ); - virtual int Tv_FactoryGet_FBC_Backlight_N310 ( void ); - int Tv_FactorySet_FBC_Bluetooth_IIS_N310 ( int value ); - int Tv_FactoryGet_FBC_Bluetooth_IIS_N310 ( void ); - int Tv_FactorySet_FBC_Led_N310 ( int val_1, int val_2, int val_3 ); - int Tv_FactorySet_VbyOne_Spread_Spectrum_N311 ( int value ); - int Tv_FactoryGet_VbyOne_Spread_Spectrum_N311 ( void ); - int Tv_FactorySet_FBC_AP_STANDBY_N310 ( int value ); - int Tv_FactoryGet_FBC_AP_STANDBY_N310( void ); - int Tv_FactorySet_Uboot_Stage(int value); - //end TV TO FBC - - int Tv_SetTestPattern(int value); - int Tv_Set2k4k_ScalerUp_Mode ( int value ); - int Tv_Get2k4k_ScalerUp_Mode ( void ); - //audio - virtual int Tv_SetDRC_OnOff(int on_off); - virtual int Tv_GetDRC_OnOff(void); - virtual void updateSubtitle(int, int); - int setSubtitleBuffer(char *); - int initSubtitle(int, int) ; - int lockSubtitle(); - int unlockSubtitle(); - int getSubSwitchStatus(); - int startSubtitle(int dmx_id, int pid, int page_id, int anc_page_id) ; - int stopSubtitle() ; - - //audio - virtual void TvAudioOpen(); - virtual void AudioCtlUninit(); - virtual int SetAudioMuteForSystem(int muteOrUnmute); - virtual int GetAudioMuteForSystem(); - virtual int SetAudioMuteForTv(int muteOrUnmute); - virtual int GetAudioMuteForTv(); - virtual char *GetMainVolLutTableExtraName(); - virtual int SetDbxTvMode(int mode, int son_value, int vol_value, int sur_value); - virtual int GetDbxTvMode(int *mode, int *son_value, int *vol_value, int *sur_value); - int AudioHandleHeadsetPlugIn(); - int AudioHandleHeadsetPullOut(); - int SetAudioAVOutMute(int muteStatus); - int GetAudioAVOutMute(); - int SetAudioSPDIFMute(int muteStatus); - int GetAudioSPDIFMute(); - int SetDacMute(int muteStatus, int mute_type); - int SetAudioI2sMute(int); - int SetAudioMasterVolume(int tmp_vol); - int GetAudioMasterVolume(); - int SaveCurAudioMasterVolume(int tmp_vol); - int GetCurAudioMasterVolume(); - int SetAudioBalance(int tmp_val); - int GetAudioBalance(); - int SaveCurAudioBalance(int tmp_val); - int GetCurAudioBalance(); - int SetAudioSupperBassVolume(int tmp_vol); - int GetAudioSupperBassVolume(); - int SaveCurAudioSupperBassVolume(int tmp_vol); - int GetCurAudioSupperBassVolume(); - int SetAudioSupperBassSwitch(int tmp_val); - int GetAudioSupperBassSwitch(); - int SaveCurAudioSupperBassSwitch(int tmp_val); - int GetCurAudioSupperBassSwitch(); - int SetAudioSRSSurround(int tmp_val); - int GetAudioSRSSurround(); - int SaveCurAudioSrsSurround(int tmp_val); - int GetCurAudioSRSSurround(); - int SetAudioSrsDialogClarity(int tmp_val); - int GetAudioSrsDialogClarity(); - int SaveCurAudioSrsDialogClarity(int tmp_val); - int GetCurAudioSrsDialogClarity(); - int SetAudioSrsTruBass(int tmp_val); - int GetAudioSrsTruBass(); - int SaveCurAudioSrsTruBass(int tmp_val); - int GetCurAudioSrsTruBass(); - int SetAudioSPDIFSwitch(int tmp_val); - int GetCurAudioSPDIFSwitch(); - int SaveCurAudioSPDIFSwitch(int tmp_val); - - //Audio SPDIF Mode - int SetAudioSPDIFMode(int tmp_val); - int GetCurAudioSPDIFMode(); - int SaveCurAudioSPDIFMode(int tmp_val); - int SetAudioBassVolume(int tmp_vol); - int GetAudioBassVolume(); - int SaveCurAudioBassVolume(int tmp_vol); - int GetCurAudioBassVolume(); - int SetAudioTrebleVolume(int tmp_vol); - int GetAudioTrebleVolume(); - int SaveCurAudioTrebleVolume(int tmp_vol); - int GetCurAudioTrebleVolume(); - int SetAudioSoundMode(int tmp_val); - int GetAudioSoundMode(); - int SaveCurAudioSoundMode(int tmp_val); - int GetCurAudioSoundMode(); - int SetAudioWallEffect(int tmp_val); - int GetAudioWallEffect(); - int SaveCurAudioWallEffect(int tmp_val); - int GetCurAudioWallEffect(); - int SetAudioEQMode(int tmp_val); - int GetAudioEQMode(); - int SaveCurAudioEQMode(int tmp_val); - int GetCurAudioEQMode(); - int GetAudioEQRange(int range_buf[]); - int GetAudioEQBandCount(); - int SetAudioEQGain(int gain_buf[]); - int GetAudioEQGain(int gain_buf[]); - int GetCurAudioEQGain(int gain_buf[]); - int SaveCurAudioEQGain(int gain_buf[]); - int SetAudioEQSwitch(int switch_val); - int OpenAmAudio(unsigned int sr, int input_device, int output_device); - int CloseAmAudio(void); - int SetAmAudioInputSr(unsigned int sr, int output_device); - int SetAmAudioOutputMode(int mode); - int SetAmAudioMusicGain(int gain); - int SetAmAudioLeftGain(int gain); - int SetAmAudioRightGain(int gain); - int SetAudioVolumeCompensationVal(int tmp_vol_comp_val); - int AudioLineInSelectChannel(int audio_channel); - int AudioSetLineInCaptureVolume(int l_vol, int r_vol); - int SetKalaokIO(int level); - int setAudioPcmPlaybackVolume(int val); - - int openTvAudio(); - int closeTvAudio(); - - int InitTvAudio(int sr, int input_device); - int UnInitTvAudio(); - int AudioChangeSampleRate(int sr); - int AudioSetAudioInSource(int audio_src_in_type); - int AudioSetAudioSourceType(int source_type); - int AudioSSMRestoreDefaultSetting(); - int SetAudioDumpDataFlag(int tmp_flag); - int GetAudioDumpDataFlag(); - int SetAudioLeftRightMode(unsigned int mode); - unsigned int GetAudioLeftRightMode(); - int SwitchAVOutBypass (int); - int SetAudioSwitchIO(int value); - int SetOutput_Swap(int value); - int HanldeAudioInputSr(unsigned int); - void AudioSetVolumeDigitLUTBuf(int lut_sel_flag, int *MainVolLutBuf); - int SetADC_Digital_Capture_Volume(int value); - int SetPGA_IN_Value(int value); - int SetDAC_Digital_PlayBack_Volume(int value); - int InitSetTvAudioCard(); - int UnInitSetTvAudioCard(); - void RefreshSrsEffectAndDacGain(); - int SetCustomEQGain(); - int SetAtvInGain(int gain_val); - int GetHdmiAvHotplugDetectOnoff(); + class TvIObserver { + public: + TvIObserver() {}; + virtual ~TvIObserver() {}; + virtual void onTvEvent ( const CTvEv &ev ) = 0; + }; + //main + CTv(); + virtual ~CTv(); + virtual int OpenTv ( void ); + virtual int CloseTv ( void ); + virtual int StartTvLock (); + virtual int StopTvLock ( void ); + virtual int DoSuspend(int type); + virtual int DoResume(int type); + virtual int DoInstabootSuspend(); + virtual int DoInstabootResume(); + virtual TvRunStatus_t GetTvStatus(); + virtual int ClearAnalogFrontEnd(); + virtual tv_source_input_t GetLastSourceInput (void); + virtual int SetSourceSwitchInput (tv_source_input_t source_input ); + virtual tv_source_input_t GetCurrentSourceInputLock ( void ); + virtual tvin_info_t GetCurrentSignalInfo ( void ); + virtual int SetPreviewWindow ( tvin_window_pos_t pos ); + virtual int dtvAutoScan(); + virtual int dtvManualScan (int beginFreq, int endFreq, int modulation = -1); + virtual int atvAutoScan(int videoStd, int audioStd, int searchType); + virtual int clearAllProgram(int arg0); + virtual int clearDbAllProgramInfoTable(); + virtual void setSourceSwitchAndPlay(); + virtual int GetDisplayResolutionConfig(); + virtual int GetDisplayResolutionInfo(); + virtual int atvMunualScan ( int startFreq, int endFreq, int videoStd, int audioStd, int store_Type = 0, int channel_num = 0 ); + virtual int stopScanLock(); + virtual int dtvAutoScanAtscLock(int attenna, int videoStd, int audioStd); + virtual void SetRecordFileName ( char *name ); + virtual void StartToRecord(); + virtual void StopRecording(); + virtual void SetRecCurTsOrCurProgram ( int sel ); + virtual int startCC(int country, int src, int channel, int service); + virtual int stopCC(); + virtual void printDebugInfo(); + virtual int playProgramLock ( int progId ); + virtual int playDvbcProgram ( int progId ); + virtual int playDtmbProgram ( int progId ); + virtual int playAtvProgram ( int, int, int, int, int); + virtual int playDtvProgram ( int, int, int, int, int, int, int, int, int, int); + virtual int stopPlayingLock(); + virtual int resetFrontEndPara ( frontend_para_set_t feParms ); + virtual int SetDisplayMode ( vpp_display_mode_t display_mode, tv_source_input_type_t source_type, tvin_sig_fmt_t sig_fmt ); + virtual void startAutoBackLight(); + virtual void stopAutoBackLight(); + virtual const char *getPqDbPath(); + virtual void onHdmiSrChanged(int sr, bool bInit); + virtual void onHMDIAudioStatusChanged(int status); + virtual int GetATVAFCType(); + virtual int GetATVSourceTimerSwitch(); + int SetCurProgramAudioVolumeCompensationVal ( int tmpVal ); + int GetAudioVolumeCompensationVal(int progDbId); + //dtv audio track info + int getAudioTrackNum ( int progId ); + int getAudioInfoByIndex ( int progId, int idx, int *pAFmt, String8 &lang ); + int switchAudioTrack ( int progId, int idx ); + int switchAudioTrack ( int aPid, int aFmt, int aParam ); + int getVideoFormatInfo ( int *pWidth, int *pHeight, int *pFPS, int *pInterlace ); + int ResetAudioDecoderForPCMOutput(); + int setAudioChannel ( int channelIdx ); + int getAudioChannel(); + int setTvObserver (TvIObserver *ob); + int getAtscAttenna(); + long getTvTime() + { + return mTvTime.getTime(); + }; + void getFrontendStatus(); + int getFrontendSignalStrength(); + int getFrontendSNR(); + int getFrontendBER(); + int getChannelInfoBydbID ( int dbID, channel_info_t &chan_info ); + int setBlackoutEnable(int enable); + int getSaveBlackoutEnable(); + int getAutoBackLight_on_off(); + int saveATVProgramID ( int dbID ); + int getATVProgramID ( void ); + int saveDTVProgramID ( int dbID ); + int getDTVProgramID ( void ); + int getCurPlayProgId(); + int getATVMinMaxFreq ( int *scanMinFreq, int *scanMaxFreq ); + int getAverageLuma(); + int setAutobacklightData(const char *value); + int getAutoBacklightData(int *data); + + virtual int Tv_SSMRestoreDefaultSetting(); + + // + int GetSourceConnectStatus(tv_source_input_t source_input); + int IsDVISignal(); + int isVgaFmtInHdmi(); + int isSDFmtInHdmi ( void ); + // + int getHDMIFrameRate ( void ); + void RefreshAudioMasterVolume ( tv_source_input_t source_input ); + + int Tv_Set3DMode ( VIDEO_3D_MODE_T mode ); + VIDEO_3D_MODE_T Tv_Get3DMode ( void ); + int Tv_Set3DLRSwith ( int on_off); + int Tv_Get3DLRSwith ( void ); + int Tv_Set3DTo2DMode ( int mode); + int Tv_Get3DTo2DMode ( void ); + int Tv_Set3DDepth ( int value ); + int GetSave3DDepth ( void ); + is_3d_type_t Check2Dor3D ( VIDEO_3D_MODE_T mode3d, tvin_trans_fmt_t trans_fmt ); + int Tvin_SetPLLValues (); + int SetCVD2Values (); + unsigned int Vpp_GetDisplayResolutionInfo(tvin_window_pos_t *win_pos); + int get_hdmi_sampling_rate(); + //SSM + virtual int Tv_SSMFacRestoreDefaultSetting(); + int Tv_GetHistgram(int *histgram_buf); + int StartHeadSetDetect(); + virtual void onHeadSetDetect(int state, int para); + + CTvin::CTvinSigDetect mSigDetectThread; + CSourceConnectDetect mSourceConnectDetectThread; + CTvin::CHDMIRxCEC mHDMIRxCEC; + CUpgradeFBC *mpUpgradeFBC; + CSerialCommunication mSerialA; + CSerialCommunication mSerialB; + CSerialCommunication mSerialC; + CTvSubtitle mSubtitle; + CTv2d4GHeadSetDetect mHeadSet; + + int SendHDMIRxCECCustomMessage(unsigned char data_buf[]); + int SendHDMIRxCECCustomMessageAndWaitReply(unsigned char data_buf[], unsigned char reply_buf[], int WaitCmd, int timeout); + int SendHDMIRxCECBoradcastStandbyMessage(); + int SendHDMIRxCECGiveCECVersionMessage(tv_source_input_t source_input, unsigned char data_buf[]); + int SendHDMIRxCECGiveDeviceVendorIDMessage(tv_source_input_t source_input, unsigned char data_buf[]); + int SendHDMIRxCECGiveOSDNameMessage(tv_source_input_t source_input, unsigned char data_buf[]); + + int GetHdmiHdcpKeyKsvInfo(int data_buf[]); + virtual bool hdmiOutWithFbc(); + int StartUpgradeFBC(char *file_name, int mode, int upgrade_blk_size); + int SetSerialSwitch(int dev_id, int switch_val); + int SendSerialData(int dev_id, int data_len, unsigned char data_buf[]); + int SetDebugSerialOnOff(int on_off); + int GetDebugSerialOnOff(); + int ChannelExport(const char *destPath); + int ChannelImport(const char *srcPath); + int Tv_GetProjectInfo(project_info_t *ptrInfo); + int Tv_GetPlatformType(); + int Tv_HandeHDMIEDIDFilePathConfig(); + int Tv_SetDDDRCMode(tv_source_input_t source_input); + int Tv_SetAudioSourceType (tv_source_input_t source_input); + + //PQ + virtual int Tv_SetBrightness ( int brightness, tv_source_input_type_t source_type, int is_save ); + virtual int Tv_GetBrightness ( tv_source_input_type_t source_type ); + virtual int Tv_SaveBrightness ( int brightness, tv_source_input_type_t source_type ); + virtual int Tv_SetContrast ( int contrast, tv_source_input_type_t source_type, int is_save ); + virtual int Tv_GetContrast ( tv_source_input_type_t source_type ); + virtual int Tv_SaveContrast ( int contrast, tv_source_input_type_t source_type ); + virtual int Tv_SetSaturation ( int satuation, tv_source_input_type_t source_type, tvin_sig_fmt_t sig_fmt, int is_save ); + virtual int Tv_GetSaturation ( tv_source_input_type_t source_type ); + virtual int Tv_SaveSaturation ( int satuation, tv_source_input_type_t source_type ); + virtual int Tv_SetHue ( int hue, tv_source_input_type_t source_type, tvin_sig_fmt_t sig_fmt, int is_save ); + virtual int Tv_GetHue ( tv_source_input_type_t source_type ); + virtual int Tv_SaveHue ( int hue, tv_source_input_type_t source_type ); + virtual int Tv_SetPQMode ( vpp_picture_mode_t mode, tv_source_input_type_t source_type, int is_save ); + virtual vpp_picture_mode_t Tv_GetPQMode ( tv_source_input_type_t source_type ); + virtual int Tv_SavePQMode ( vpp_picture_mode_t mode, tv_source_input_type_t source_type ); + virtual int Tv_SetSharpness ( int value, tv_source_input_type_t source_type, int en, int is_save ); + virtual int Tv_GetSharpness ( tv_source_input_type_t source_type ); + virtual int Tv_SaveSharpness ( int value, tv_source_input_type_t source_type ); + virtual int Tv_SetBacklight ( int value, tv_source_input_type_t source_type, int is_save ); + virtual int Tv_GetBacklight ( tv_source_input_type_t source_type ); + virtual int Tv_SaveBacklight ( int value, tv_source_input_type_t source_type ); + int Tv_SetBacklight_Switch ( int value ); + int Tv_GetBacklight_Switch ( void ); + int Tv_SetColorTemperature ( vpp_color_temperature_mode_t mode, tv_source_input_type_t source_type, int is_save ); + vpp_color_temperature_mode_t Tv_GetColorTemperature ( tv_source_input_type_t source_type ); + virtual int Tv_SetDisplayMode ( vpp_display_mode_t mode, tv_source_input_type_t source_type, tvin_sig_fmt_t fmt, int is_save ); + virtual int Tv_SaveDisplayMode ( vpp_display_mode_t mode, tv_source_input_type_t source_type ); + virtual int Tv_SaveColorTemperature ( vpp_color_temperature_mode_t mode, tv_source_input_type_t source_type ); + virtual vpp_display_mode_t Tv_GetDisplayMode ( tv_source_input_type_t source_type ); + virtual int Tv_SetNoiseReductionMode ( vpp_noise_reduction_mode_t mode, tv_source_input_type_t source_type, int is_save ); + virtual vpp_noise_reduction_mode_t Tv_GetNoiseReductionMode ( tv_source_input_type_t source_type ); + virtual int Tv_SaveNoiseReductionMode ( vpp_noise_reduction_mode_t mode, tv_source_input_type_t source_type ); + int Tv_SetSplitScreenDemoStatus(tv_source_input_type_t source_type, int onoff_status); + int Tv_GetSplitScreenDemoStatus(tv_source_input_type_t source_type); + int Tv_SplitScreenEffect(int mode, int width, int reverse = 0); + // + int Tv_FactorySetPQMode_Brightness ( int source_type, int pq_mode, int brightness ); + int Tv_FactoryGetPQMode_Brightness ( int source_type, int pq_mode ); + int Tv_FactorySetPQMode_Contrast ( int source_type, int pq_mode, int contrast ); + int Tv_FactoryGetPQMode_Contrast ( int source_type, int pq_mode ); + int Tv_FactorySetPQMode_Saturation ( int source_type, int pq_mode, int saturation ); + int Tv_FactoryGetPQMode_Saturation ( int source_type, int pq_mode ); + int Tv_FactorySetPQMode_Hue ( int source_type, int pq_mode, int hue ); + int Tv_FactoryGetPQMode_Hue ( int source_type, int pq_mode ); + int Tv_FactorySetPQMode_Sharpness ( int source_type, int pq_mode, int sharpness ); + int Tv_FactoryGetPQMode_Sharpness ( int source_type, int pq_mode ); + + int GetColorTemperatureParams ( vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t *params ); + int Tv_FactorySetTestPattern ( int pattern ); + int Tv_FactoryGetTestPattern ( void ); + int Tv_FactorySetScreenColor ( int vdin_blending_mask, int y, int u, int v ); + int Tv_FactoryResetPQMode ( void ); + int Tv_FactoryResetColorTemp ( void ); + int Tv_FactorySetParamsDefault ( void ); + int Tv_FactorySetDDRSSC ( int step ); + int Tv_FactoryGetDDRSSC ( void ); + int Tv_FactorySetLVDSSSC ( int step ); + int Tv_FactoryGetLVDSSSC ( void ); + void Tv_Spread_Spectrum(void); + int Tv_FactorySetNolineParams ( int noline_params_type, int source_type, noline_params_t noline_params ); + noline_params_t Tv_FactoryGetNolineParams ( int noline_params_type, int source_type ); + int Tv_FactorySetOverscan ( int source_type, int fmt, int status_3d, int trans_fmt, tvin_cutwin_t cutwin_t ); + tvin_cutwin_t Tv_FactoryGetOverscan ( int source_type, int fmt, int status_3d, int trans_fmt ); + int Tv_ReplacePqDb(const char *newFilePath = NULL); + //end PQ + + //TV TO FBC + int Tv_FactorySet_FBC_Brightness ( int value ); + int Tv_FactoryGet_FBC_Brightness ( void ); + int Tv_FactorySet_FBC_Contrast( int value ); + int Tv_FactoryGet_FBC_Contrast ( void ); + int Tv_FactorySet_FBC_Saturation( int value ); + int Tv_FactoryGet_FBC_Saturation ( void ); + int Tv_FactorySet_FBC_HueColorTint( int value ); + int Tv_FactoryGet_FBC_HueColorTint ( void ); + virtual int Tv_FactorySet_FBC_Backlight ( int value ); + virtual int Tv_FactoryGet_FBC_Backlight ( void ); + int Tv_FactorySet_FBC_Backlight_N360 ( int value ); + int Tv_FactoryGet_FBC_Backlight_N360 ( void ); + int Tv_FactorySet_FBC_ELEC_MODE( int value ); + int Tv_FactoryGet_FBC_ELEC_MODE( void ); + int Tv_FactorySet_FBC_BACKLIGHT_N360( int value ); + int Tv_FactoryGet_FBC_BACKLIGHT_N360( void ); + int Tv_FactorySet_FBC_Picture_Mode ( int mode ); + int Tv_FactoryGet_FBC_Picture_Mode ( void ); + int Tv_FactorySet_FBC_Set_Test_Pattern ( int mode ); + int Tv_FactoryGet_FBC_Get_Test_Pattern ( void ); + int Tv_FactorySet_FBC_Gain_Red( int value ); + int Tv_FactoryGet_FBC_Gain_Red ( void ); + int Tv_FactorySet_FBC_Gain_Green( int value ); + int Tv_FactoryGet_FBC_Gain_Green( void ); + int Tv_FactorySet_FBC_Gain_Blue( int value ); + int Tv_FactoryGet_FBC_Gain_Blue ( void ); + int Tv_FactorySet_FBC_Offset_Red( int value ); + int Tv_FactoryGet_FBC_Offset_Red ( void ); + int Tv_FactorySet_FBC_Offset_Green( int value ); + int Tv_FactoryGet_FBC_Offset_Green( void ); + int Tv_FactorySet_FBC_Offset_Blue( int value ); + int Tv_FactoryGet_FBC_Offset_Blue ( void ); + int Tv_FactoryGetWhiteBalanceRedGain(int source_type, int colortemp_mode); + int Tv_FactoryGetWhiteBalanceGreenGain(int source_type, int colortemp_mode); + int Tv_FactoryGetWhiteBalanceBlueGain(int source_type, int colortemp_mode); + int Tv_FactoryGetWhiteBalanceRedOffset(int source_type, int colortemp_mode); + int Tv_FactoryGetWhiteBalanceGreenOffset(int source_type, int colortemp_mode); + int Tv_FactoryGetWhiteBalanceBlueOffset(int source_type, int colortemp_mode); + int Tv_FactorySetWhiteBalanceRedGain(int source_type, int colortemp_mode, int value); + int Tv_FactorySetWhiteBalanceGreenGain(int source_type, int colortemp_mode, int value); + int Tv_FactorySetWhiteBalanceBlueGain(int source_type, int colortemp_mode, int value); + int Tv_FactorySetWhiteBalanceRedOffset(int source_type, int colortemp_mode, int value); + int Tv_FactorySetWhiteBalanceGreenOffset(int source_type, int colortemp_mode, int value); + int Tv_FactorySetWhiteBalanceBlueOffset(int source_type, int colortemp_mode, int value); + int Tv_FactorySetWhiteBalanceColorTempMode(int source_type, int colortemp_mode, int is_save); + int Tv_FactoryGetWhiteBalanceColorTempMode(int source_type ); + int Tv_FactoryWhiteBalanceFormatInputFbcGainParams(int value); + int Tv_FactoryWhiteBalanceFormatInputFbcOffsetParams(int value); + int Tv_FactoryWhiteBalanceFormatOutputFbcOffsetParams(int value); + int Tv_FactoryWhiteBalanceFormatOutputFbcGainParams(int value); + 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); + int Tv_FactoryCloseWhiteBalanceGrayPattern(); + int Tv_FactoryOpenWhiteBalanceGrayPattern(); + int Tv_FactorySetWhiteBalanceGrayPattern(int value); + int Tv_FactoryGetWhiteBalanceGrayPattern(); + int Tv_FactoryWhiteBalanceColorTempMappingG92Fbc(int Tempmode); + int Tv_FactoryWhiteBalanceColorTempMappingFbc2G9(int Tempmode); + int Tv_FactorySet_FBC_GrayPattern(int value); + int Tv_FactoryOpen_FBC_GrayPattern(); + int Tv_FactoryClose_FBC_GrayPattern(); + int Tv_FactorySet_FBC_ColorTemp_Mode( int mode ); + int Tv_FactoryGet_FBC_ColorTemp_Mode ( void ); + int Tv_FactorySet_FBC_ColorTemp_Mode_N360( int mode ); + int Tv_FactoryGet_FBC_ColorTemp_Mode_N360 ( void ); + int Tv_FactorySet_FBC_LockN_state(int value); + int Tv_FactorySet_FBC_WB_Initial( int status ); + int Tv_FactoryGet_FBC_WB_Initial ( void ); + virtual int Tv_FactorySet_FBC_ColorTemp_Batch(vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t params); + virtual int Tv_FactoryGet_FBC_ColorTemp_Batch ( vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t *params ); + int Tv_FactorySet_WB_G9_To_FBC( vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t params ); + int Tv_FactoryGet_WB_G9_To_FBC ( vpp_color_temperature_mode_t Tempmode, tcon_rgb_ogo_t *params ); + int Tv_FactoryGetItemFromBatch(vpp_color_temperature_mode_t colortemp_mode, int item); + int Tv_FactorySet_FBC_CM_OnOff( unsigned char status ); + int Tv_FactoryGet_FBC_CM_OnOff (void); + int Tv_FactorySet_FBC_DNLP_OnOff( unsigned char status ); + int Tv_FactoryGet_FBC_DNLP_OnOff (void); + int Tv_FactorySet_FBC_Gamma_OnOff( unsigned char status ); + int Tv_FactoryGet_FBC_Gamma_OnOff (void); + int Tv_FactorySet_FBC_WhiteBalance_OnOff( unsigned char status ); + int Tv_FactoryGet_FBC_WhiteBalance_OnOff (void); + int Tv_FactorySet_FBC_Thermal_State( int value ); + int Tv_FactorySet_FBC_backlight_onoff(int value); + int Tv_FactoryGet_FBC_backlight_onoff ( void ); + int Tv_FactorySet_FBC_Auto_Backlight_OnOff(unsigned char status); + int Tv_FactoryGet_FBC_Auto_Backlight_OnOff ( void ); + int Tv_FactoryGet_FBC_VIDEO_MUTE ( void ); + int Tv_FactorySet_FBC_LVDS_SSG_Set( int value ); + int Tv_FactorySet_FBC_LightSensor_Status_N310 ( int value ); + int Tv_FactoryGet_FBC_LightSensor_Status_N310 ( void ); + int Tv_FactorySet_FBC_Dream_Panel_Status_N310 ( int value ); + int Tv_FactoryGet_FBC_Dream_Panel_Status_N310 ( void ); + int Tv_FactorySet_FBC_MULT_PQ_Status_N310 ( int value ); + int Tv_FactoryGet_FBC_MULT_PQ_Status_N310 ( void ); + int Tv_FactorySet_FBC_MEMC_Status_N310 ( int value ); + int Tv_FactoryGet_FBC_MEMC_Status_N310 ( void ); + int Tv_FactorySet_FBC_ColorTemp_Mode_N310( int mode ); + int Tv_FactoryGet_FBC_ColorTemp_Mode_N310 ( void ); + virtual int Tv_FactorySet_FBC_Backlight_N310 ( int value ); + virtual int Tv_FactoryGet_FBC_Backlight_N310 ( void ); + int Tv_FactorySet_FBC_Bluetooth_IIS_N310 ( int value ); + int Tv_FactoryGet_FBC_Bluetooth_IIS_N310 ( void ); + int Tv_FactorySet_FBC_Led_N310 ( int val_1, int val_2, int val_3 ); + int Tv_FactorySet_VbyOne_Spread_Spectrum_N311 ( int value ); + int Tv_FactoryGet_VbyOne_Spread_Spectrum_N311 ( void ); + int Tv_FactorySet_FBC_AP_STANDBY_N310 ( int value ); + int Tv_FactoryGet_FBC_AP_STANDBY_N310( void ); + int Tv_FactorySet_Uboot_Stage(int value); + //end TV TO FBC + + int Tv_SetTestPattern(int value); + int Tv_Set2k4k_ScalerUp_Mode ( int value ); + int Tv_Get2k4k_ScalerUp_Mode ( void ); + //audio + virtual int Tv_SetDRC_OnOff(int on_off); + virtual int Tv_GetDRC_OnOff(void); + virtual void updateSubtitle(int, int); + int setSubtitleBuffer(char *); + int initSubtitle(int, int) ; + int lockSubtitle(); + int unlockSubtitle(); + int getSubSwitchStatus(); + int startSubtitle(int dmx_id, int pid, int page_id, int anc_page_id) ; + int stopSubtitle() ; + + //audio + virtual void TvAudioOpen(); + virtual void AudioCtlUninit(); + virtual int SetAudioMuteForSystem(int muteOrUnmute); + virtual int GetAudioMuteForSystem(); + virtual int SetAudioMuteForTv(int muteOrUnmute); + virtual int GetAudioMuteForTv(); + virtual char *GetMainVolLutTableExtraName(); + virtual int SetDbxTvMode(int mode, int son_value, int vol_value, int sur_value); + virtual int GetDbxTvMode(int *mode, int *son_value, int *vol_value, int *sur_value); + int AudioHandleHeadsetPlugIn(); + int AudioHandleHeadsetPullOut(); + int SetAudioAVOutMute(int muteStatus); + int GetAudioAVOutMute(); + int SetAudioSPDIFMute(int muteStatus); + int GetAudioSPDIFMute(); + int SetDacMute(int muteStatus, int mute_type); + int SetAudioI2sMute(int); + int SetAudioMasterVolume(int tmp_vol); + int GetAudioMasterVolume(); + int SaveCurAudioMasterVolume(int tmp_vol); + int GetCurAudioMasterVolume(); + int SetAudioBalance(int tmp_val); + int GetAudioBalance(); + int SaveCurAudioBalance(int tmp_val); + int GetCurAudioBalance(); + int SetAudioSupperBassVolume(int tmp_vol); + int GetAudioSupperBassVolume(); + int SaveCurAudioSupperBassVolume(int tmp_vol); + int GetCurAudioSupperBassVolume(); + int SetAudioSupperBassSwitch(int tmp_val); + int GetAudioSupperBassSwitch(); + int SaveCurAudioSupperBassSwitch(int tmp_val); + int GetCurAudioSupperBassSwitch(); + int SetAudioSRSSurround(int tmp_val); + int GetAudioSRSSurround(); + int SaveCurAudioSrsSurround(int tmp_val); + int GetCurAudioSRSSurround(); + int SetAudioSrsDialogClarity(int tmp_val); + int GetAudioSrsDialogClarity(); + int SaveCurAudioSrsDialogClarity(int tmp_val); + int GetCurAudioSrsDialogClarity(); + int SetAudioSrsTruBass(int tmp_val); + int GetAudioSrsTruBass(); + int SaveCurAudioSrsTruBass(int tmp_val); + int GetCurAudioSrsTruBass(); + int SetAudioSPDIFSwitch(int tmp_val); + int GetCurAudioSPDIFSwitch(); + int SaveCurAudioSPDIFSwitch(int tmp_val); + + //Audio SPDIF Mode + int SetAudioSPDIFMode(int tmp_val); + int GetCurAudioSPDIFMode(); + int SaveCurAudioSPDIFMode(int tmp_val); + int SetAudioBassVolume(int tmp_vol); + int GetAudioBassVolume(); + int SaveCurAudioBassVolume(int tmp_vol); + int GetCurAudioBassVolume(); + int SetAudioTrebleVolume(int tmp_vol); + int GetAudioTrebleVolume(); + int SaveCurAudioTrebleVolume(int tmp_vol); + int GetCurAudioTrebleVolume(); + int SetAudioSoundMode(int tmp_val); + int GetAudioSoundMode(); + int SaveCurAudioSoundMode(int tmp_val); + int GetCurAudioSoundMode(); + int SetAudioWallEffect(int tmp_val); + int GetAudioWallEffect(); + int SaveCurAudioWallEffect(int tmp_val); + int GetCurAudioWallEffect(); + int SetAudioEQMode(int tmp_val); + int GetAudioEQMode(); + int SaveCurAudioEQMode(int tmp_val); + int GetCurAudioEQMode(); + int GetAudioEQRange(int range_buf[]); + int GetAudioEQBandCount(); + int SetAudioEQGain(int gain_buf[]); + int GetAudioEQGain(int gain_buf[]); + int GetCurAudioEQGain(int gain_buf[]); + int SaveCurAudioEQGain(int gain_buf[]); + int SetAudioEQSwitch(int switch_val); + int OpenAmAudio(unsigned int sr, int input_device, int output_device); + int CloseAmAudio(void); + int SetAmAudioInputSr(unsigned int sr, int output_device); + int SetAmAudioOutputMode(int mode); + int SetAmAudioMusicGain(int gain); + int SetAmAudioLeftGain(int gain); + int SetAmAudioRightGain(int gain); + int SetAudioVolumeCompensationVal(int tmp_vol_comp_val); + int AudioLineInSelectChannel(int audio_channel); + int AudioSetLineInCaptureVolume(int l_vol, int r_vol); + int SetKalaokIO(int level); + int setAudioPcmPlaybackVolume(int val); + + int openTvAudio(); + int closeTvAudio(); + + int InitTvAudio(int sr, int input_device); + int UnInitTvAudio(); + int AudioChangeSampleRate(int sr); + int AudioSetAudioInSource(int audio_src_in_type); + int AudioSetAudioSourceType(int source_type); + int AudioSSMRestoreDefaultSetting(); + int SetAudioDumpDataFlag(int tmp_flag); + int GetAudioDumpDataFlag(); + int SetAudioLeftRightMode(unsigned int mode); + unsigned int GetAudioLeftRightMode(); + int SwitchAVOutBypass (int); + int SetAudioSwitchIO(int value); + int SetOutput_Swap(int value); + int HanldeAudioInputSr(unsigned int); + void AudioSetVolumeDigitLUTBuf(int lut_sel_flag, int *MainVolLutBuf); + int SetADC_Digital_Capture_Volume(int value); + int SetPGA_IN_Value(int value); + int SetDAC_Digital_PlayBack_Volume(int value); + int InitSetTvAudioCard(); + int UnInitSetTvAudioCard(); + void RefreshSrsEffectAndDacGain(); + int SetCustomEQGain(); + int SetAtvInGain(int gain_val); + int GetHdmiAvHotplugDetectOnoff(); private: - int SendCmdToOffBoardFBCExternalDac(int, int); - int LoadCurAudioSPDIFMode(); - int LoadCurAudioMasterVolume(); - int LoadCurAudioBalance(); - int LoadCurAudioSupperBassVolume(); - int LoadCurAudioSupperBassSwitch(); - int LoadCurAudioSrsSurround(); - int LoadCurAudioSrsDialogClarity(); - int LoadCurAudioSPDIFSwitch(); - void SetSupperBassSRSSpeakerSize(); - int LoadCurAudioSoundMode(); - int LoadCurAudioEQMode(); - int LoadCurAudioSrsTruBass(); - int RealSaveCurAudioBassVolume(int, int); - int LoadCurAudioBassVolume(); - int RealSaveCurAudioTrebleVolume(int, int); - int LoadCurAudioTrebleVolume(); - int HandleTrebleBassVolume(); - int LoadCurAudioWallEffect(); - int RealReadCurAudioEQGain(int *); - int RealSaveCurAudioEQGain(int *, int); - int LoadCurAudioEQGain(); - int MappingEQGain(int *, int *, int); - int RestoreToAudioDefEQGain(int *); - int GetCustomEQGain(int *); - int AudioSetEQGain(int *); - int handleEQGainBeforeSet(int *, int *); - int RealSetEQGain(int *); - int SetSpecialModeEQGain(int); - int SetSpecialIndexEQGain(int, int); - int SaveSpecialIndexEQGain(int, int); - void LoadAudioCtl(); - void InitSetAudioCtl(); - int GetBassUIMinGainVal(); - int GetBassUIMaxGainVal(); - int GetTrebleUIMinGainVal(); - int GetTrebleUIMaxGainVal(); - int MappingLine(int, int, int, int, int); - int MappingTrebleBassAndEqualizer(int, int, int, int); - int SetSPDIFMode(int mode_val); - - CAudioAlsa mAudioAlsa; - CAudioEffect mAudioEffect; - - CAudioCustomerCtrl mCustomerCtrl; - int mCurAudioMasterVolume; - int mCurAudioBalance; - int mCurAudioSupperBassVolume; - int mCurAudioSupperBassSwitch; - int mCurAudioSRSSurround; - int mCurAudioSrsDialogClarity; - int mCurAudioSrsTruBass; - int mCurAudioSPDIFSwitch; - int mCurAudioSPDIFMode; - int mCurAudioBassVolume; - int mCurAudioTrebleVolume; - int mCurAudioSoundMode; - int mCurAudioWallEffect; - int mCurAudioEQMode; - int mCustomAudioMasterVolume; - int mCustomAudioBalance; - int mCustomAudioSupperBassVolume; - int mCustomAudioSupperBassSwitch; - int mCustomAudioSRSSurround; - int mCustomAudioSrsDialogClarity; - int mCustomAudioSrsTruBass; - int mCustomAudioBassVolume; - int mCustomAudioTrebleVolume; - int mCustomAudioSoundMode; - int mCustomAudioWallEffect; - int mCustomAudioEQMode; - int mCustomAudioSoundEnhancementSwitch; - int mCustomEQGainBuf[CC_BAND_ITEM_CNT]; - int mCurEQGainBuf[CC_BAND_ITEM_CNT] ; - int8_t mCurEQGainChBuf[CC_BAND_ITEM_CNT]; - int mWallEffectValueBuf[CC_BAND_ITEM_CNT]; - int mVolumeCompensationVal; - int mMainVolumeBalanceVal; - //end audio + int SendCmdToOffBoardFBCExternalDac(int, int); + int LoadCurAudioSPDIFMode(); + int LoadCurAudioMasterVolume(); + int LoadCurAudioBalance(); + int LoadCurAudioSupperBassVolume(); + int LoadCurAudioSupperBassSwitch(); + int LoadCurAudioSrsSurround(); + int LoadCurAudioSrsDialogClarity(); + int LoadCurAudioSPDIFSwitch(); + void SetSupperBassSRSSpeakerSize(); + int LoadCurAudioSoundMode(); + int LoadCurAudioEQMode(); + int LoadCurAudioSrsTruBass(); + int RealSaveCurAudioBassVolume(int, int); + int LoadCurAudioBassVolume(); + int RealSaveCurAudioTrebleVolume(int, int); + int LoadCurAudioTrebleVolume(); + int HandleTrebleBassVolume(); + int LoadCurAudioWallEffect(); + int RealReadCurAudioEQGain(int *); + int RealSaveCurAudioEQGain(int *, int); + int LoadCurAudioEQGain(); + int MappingEQGain(int *, int *, int); + int RestoreToAudioDefEQGain(int *); + int GetCustomEQGain(int *); + int AudioSetEQGain(int *); + int handleEQGainBeforeSet(int *, int *); + int RealSetEQGain(int *); + int SetSpecialModeEQGain(int); + int SetSpecialIndexEQGain(int, int); + int SaveSpecialIndexEQGain(int, int); + void LoadAudioCtl(); + void InitSetAudioCtl(); + int GetBassUIMinGainVal(); + int GetBassUIMaxGainVal(); + int GetTrebleUIMinGainVal(); + int GetTrebleUIMaxGainVal(); + int MappingLine(int, int, int, int, int); + int MappingTrebleBassAndEqualizer(int, int, int, int); + int SetSPDIFMode(int mode_val); + + CAudioAlsa mAudioAlsa; + CAudioEffect mAudioEffect; + + CAudioCustomerCtrl mCustomerCtrl; + int mCurAudioMasterVolume; + int mCurAudioBalance; + int mCurAudioSupperBassVolume; + int mCurAudioSupperBassSwitch; + int mCurAudioSRSSurround; + int mCurAudioSrsDialogClarity; + int mCurAudioSrsTruBass; + int mCurAudioSPDIFSwitch; + int mCurAudioSPDIFMode; + int mCurAudioBassVolume; + int mCurAudioTrebleVolume; + int mCurAudioSoundMode; + int mCurAudioWallEffect; + int mCurAudioEQMode; + int mCustomAudioMasterVolume; + int mCustomAudioBalance; + int mCustomAudioSupperBassVolume; + int mCustomAudioSupperBassSwitch; + int mCustomAudioSRSSurround; + int mCustomAudioSrsDialogClarity; + int mCustomAudioSrsTruBass; + int mCustomAudioBassVolume; + int mCustomAudioTrebleVolume; + int mCustomAudioSoundMode; + int mCustomAudioWallEffect; + int mCustomAudioEQMode; + int mCustomAudioSoundEnhancementSwitch; + int mCustomEQGainBuf[CC_BAND_ITEM_CNT]; + int mCurEQGainBuf[CC_BAND_ITEM_CNT] ; + int8_t mCurEQGainChBuf[CC_BAND_ITEM_CNT]; + int mWallEffectValueBuf[CC_BAND_ITEM_CNT]; + int mVolumeCompensationVal; + int mMainVolumeBalanceVal; + //end audio protected: - class CTvMsgQueue: public CMsgQueueThread, public CAv::IObserver, public CTvScanner::IObserver , public CTvEpg::IObserver, public CFrontEnd::IObserver { - public: - static const int TV_MSG_COMMON = 0; - static const int TV_MSG_STOP_ANALYZE_TS = 1; - static const int TV_MSG_START_ANALYZE_TS = 2; - static const int TV_MSG_CHECK_FE_DELAY = 3; - static const int TV_MSG_AV_EVENT = 4; - static const int TV_MSG_FE_EVENT = 5; - static const int TV_MSG_SCAN_EVENT = 6; - static const int TV_MSG_EPG_EVENT = 7; - static const int TV_MSG_HDMI_SR_CHANGED = 8; - static const int TV_MSG_ENABLE_VIDEO_LATER = 9; - CTvMsgQueue(CTv *tv); - ~CTvMsgQueue(); - //scan observer - void onEvent ( const CTvScanner::ScannerEvent &ev ); - //epg observer - void onEvent ( const CTvEpg::EpgEvent &ev ); - //FE observer - void onEvent ( const CFrontEnd::FEEvent &ev ); - //AV - void onEvent(const CAv::AVEvent &ev); - private: - virtual void handleMessage ( CMessage &msg ); - CTv *mpTv; - }; - - class CTvDetectObserverForScanner: public CTvin::CTvinSigDetect::ISigDetectObserver { - public: - CTvDetectObserverForScanner(CTv *); - ~CTvDetectObserverForScanner() {}; - virtual void onSigToStable(); - virtual void onSigStableToUnstable(); - virtual void onSigStableToNoSig(); - virtual void onSigUnStableToNoSig(); - virtual void onSigStillStable(); - private: - CTv *mpTv; - int m_sig_stable_nums; - }; - void onEnableVideoLater(int framecount); - int resetDmxAndAvSource(); - int stopScan(); - int stopPlaying(); - void sendTvEvent ( const CTvEv &ev ); - int startPlayTv ( int source, int vid, int aid, int vfat, int afat ); - //scan observer - void onEvent ( const CTvScanner::ScannerEvent &ev ); - //epg observer - void onEvent ( const CTvEpg::EpgEvent &ev ); - //FE observer - void onEvent ( const CFrontEnd::FEEvent &ev ); - //AV - void onEvent(const CAv::AVEvent &ev); - bool Tv_Start_Analyze_Ts ( int channelID ); - bool Tv_Stop_Analyze_Ts(); - int Tvin_Stop ( void ); - int Tvin_GetTvinConfig(); - int Tv_init_audio(); - int Tv_MiscSetBySource ( tv_source_input_t ); - void print_version_info ( void ); - int dtvCleanProgramByFreq ( int freq ); - /*********************** Audio start **********************/ - int SetAudioVolDigitLUTTable ( tv_source_input_t source_input ); - virtual int Tv_SetAudioInSource (tv_source_input_t source_input); - void Tv_SetAudioOutputSwap_Type (tv_source_input_t source_input); - void Tv_ADCDigitalCapture_Volume (void); - void Tv_SetPGAIn_Gain (void); - void Tv_SetDACDigitalPlayBack_Volume (int audio_src_in_type); - void Tv_SetAVOutPut_Input_gain(tv_source_input_t source_input); - /*********************** Audio end **********************/ - - // - virtual void onSigToStable(); - virtual void onSigStableToUnstable(); - virtual void onSigStableToUnSupport(); - virtual void onSigStableToNoSig(); - virtual void onSigUnStableToUnSupport(); - virtual void onSigUnStableToNoSig(); - virtual void onSigNullToNoSig(); - virtual void onSigNoSigToUnstable(); - virtual void onSigStillStable(); - virtual void onSigStillUnstable(); - virtual void onSigStillNosig(); - virtual void onSigStillNoSupport(); - virtual void onSigStillNull(); - virtual void onStableSigFmtChange(); - virtual void onStableTransFmtChange(); - virtual void onSigDetectEnter(); - virtual void onSigDetectLoop(); - - virtual void onSourceConnect(int source_type, int connect_status); - virtual void onHDMIRxCECMessage(int msg_len, unsigned char msg_buf[]); - virtual void onUpgradeStatus(int status, int progress); - virtual void onSerialCommunication(int dev_id, int rd_len, unsigned char data_buf[]); - virtual void onThermalDetect(int state); - virtual void onVframeSizeChange(); - - CTvEpg mTvEpg; - CTvScanner mTvScanner; - mutable Mutex mLock; - CTvTime mTvTime; - CVpp mVpp; - CTvin mTvin; - CTvRecord mTvRec; - CFrontEnd mFrontDev; - CTvDimension mTvVchip; - CTvSubtitle mTvSub; - CAv mAv; - CTvDmx mTvDmx; - CTvMsgQueue mTvMsgQueue; - AutoBackLight mAutoBackLight; - CAutoPQparam mAutoPQparam; - CTvDetectObserverForScanner mTvScannerDetectObserver; - // - volatile int mTvAction; - volatile TvRunStatus_t mTvStatus; - volatile tv_source_input_t m_source_input; - volatile tv_source_input_t m_last_source_input; - /* for tvin window mode and pos*/ - tvin_window_pos_t m_win_pos; - tv_window_mode_t m_win_mode; - int m_blackout_enable;//1 enable 0 disable - int m_cur_playing_prog_id; - bool mHdmiOutFbc; - CFbcCommunication *fbcIns; - - - bool mlastlockstatus; - String8 mlastdm; - String8 mlastabbrev; - String8 mlastabbtext; - pthread_t vchipthread; - int mvchip_running; - friend class CTvMsgQueue; - int mCurAnalyzeTsChannelID; - TvIObserver *mpObserver; - tv_dtv_scan_running_status_t mDtvScanRunningStatus; - volatile tv_config_t gTvinConfig; - int dtv_auto_3d_flag; - int m_hdmiav_hotplugdetect_en; - bool m_autoset_displayfreq; - int m_sig_stable_nums; - bool m_is_set_hdmi_edid; - /** for L/R or B/T 3d mode overscan **/ - /** for 3D **/ - VIDEO_3D_MODE_T m_mode_3d; - /** for HDMI-in sampling detection. **/ - int m_hdmi_sampling_rate; - int m_hdmi_audio_data; - /** for display mode to bottom **/ - int screen_mode; - - //audio mute - int mAudioMuteStatusForTv; - int mAudioMuteStatusForSystem; - char mMainVolLutTableExtraName[16]; + class CTvMsgQueue: public CMsgQueueThread, public CAv::IObserver, public CTvScanner::IObserver , public CTvEpg::IObserver, public CFrontEnd::IObserver { + public: + static const int TV_MSG_COMMON = 0; + static const int TV_MSG_STOP_ANALYZE_TS = 1; + static const int TV_MSG_START_ANALYZE_TS = 2; + static const int TV_MSG_CHECK_FE_DELAY = 3; + static const int TV_MSG_AV_EVENT = 4; + static const int TV_MSG_FE_EVENT = 5; + static const int TV_MSG_SCAN_EVENT = 6; + static const int TV_MSG_EPG_EVENT = 7; + static const int TV_MSG_HDMI_SR_CHANGED = 8; + static const int TV_MSG_ENABLE_VIDEO_LATER = 9; + CTvMsgQueue(CTv *tv); + ~CTvMsgQueue(); + //scan observer + void onEvent ( const CTvScanner::ScannerEvent &ev ); + //epg observer + void onEvent ( const CTvEpg::EpgEvent &ev ); + //FE observer + void onEvent ( const CFrontEnd::FEEvent &ev ); + //AV + void onEvent(const CAv::AVEvent &ev); + private: + virtual void handleMessage ( CMessage &msg ); + CTv *mpTv; + }; + + class CTvDetectObserverForScanner: public CTvin::CTvinSigDetect::ISigDetectObserver { + public: + CTvDetectObserverForScanner(CTv *); + ~CTvDetectObserverForScanner() {}; + virtual void onSigToStable(); + virtual void onSigStableToUnstable(); + virtual void onSigStableToNoSig(); + virtual void onSigUnStableToNoSig(); + virtual void onSigStillStable(); + private: + CTv *mpTv; + int m_sig_stable_nums; + }; + void onEnableVideoLater(int framecount); + int resetDmxAndAvSource(); + int stopScan(); + int stopPlaying(); + void sendTvEvent ( const CTvEv &ev ); + int startPlayTv ( int source, int vid, int aid, int vfat, int afat ); + //scan observer + void onEvent ( const CTvScanner::ScannerEvent &ev ); + //epg observer + void onEvent ( const CTvEpg::EpgEvent &ev ); + //FE observer + void onEvent ( const CFrontEnd::FEEvent &ev ); + //AV + void onEvent(const CAv::AVEvent &ev); + bool Tv_Start_Analyze_Ts ( int channelID ); + bool Tv_Stop_Analyze_Ts(); + int Tvin_Stop ( void ); + int Tvin_GetTvinConfig(); + int Tv_init_audio(); + int Tv_MiscSetBySource ( tv_source_input_t ); + void print_version_info ( void ); + int dtvCleanProgramByFreq ( int freq ); + /*********************** Audio start **********************/ + int SetAudioVolDigitLUTTable ( tv_source_input_t source_input ); + virtual int Tv_SetAudioInSource (tv_source_input_t source_input); + void Tv_SetAudioOutputSwap_Type (tv_source_input_t source_input); + void Tv_ADCDigitalCapture_Volume (void); + void Tv_SetPGAIn_Gain (void); + void Tv_SetDACDigitalPlayBack_Volume (int audio_src_in_type); + void Tv_SetAVOutPut_Input_gain(tv_source_input_t source_input); + /*********************** Audio end **********************/ + + // + virtual void onSigToStable(); + virtual void onSigStableToUnstable(); + virtual void onSigStableToUnSupport(); + virtual void onSigStableToNoSig(); + virtual void onSigUnStableToUnSupport(); + virtual void onSigUnStableToNoSig(); + virtual void onSigNullToNoSig(); + virtual void onSigNoSigToUnstable(); + virtual void onSigStillStable(); + virtual void onSigStillUnstable(); + virtual void onSigStillNosig(); + virtual void onSigStillNoSupport(); + virtual void onSigStillNull(); + virtual void onStableSigFmtChange(); + virtual void onStableTransFmtChange(); + virtual void onSigDetectEnter(); + virtual void onSigDetectLoop(); + + virtual void onSourceConnect(int source_type, int connect_status); + virtual void onHDMIRxCECMessage(int msg_len, unsigned char msg_buf[]); + virtual void onUpgradeStatus(int status, int progress); + virtual void onSerialCommunication(int dev_id, int rd_len, unsigned char data_buf[]); + virtual void onThermalDetect(int state); + virtual void onVframeSizeChange(); + + CTvEpg mTvEpg; + CTvScanner mTvScanner; + mutable Mutex mLock; + CTvTime mTvTime; + CVpp mVpp; + CTvin mTvin; + CTvRecord mTvRec; + CFrontEnd mFrontDev; + CTvDimension mTvVchip; + CTvSubtitle mTvSub; + CAv mAv; + CTvDmx mTvDmx; + CTvMsgQueue mTvMsgQueue; + AutoBackLight mAutoBackLight; + CAutoPQparam mAutoPQparam; + CTvDetectObserverForScanner mTvScannerDetectObserver; + // + volatile int mTvAction; + volatile TvRunStatus_t mTvStatus; + volatile tv_source_input_t m_source_input; + volatile tv_source_input_t m_last_source_input; + /* for tvin window mode and pos*/ + tvin_window_pos_t m_win_pos; + tv_window_mode_t m_win_mode; + int m_blackout_enable;//1 enable 0 disable + int m_cur_playing_prog_id; + bool mHdmiOutFbc; + CFbcCommunication *fbcIns; + + + bool mlastlockstatus; + String8 mlastdm; + String8 mlastabbrev; + String8 mlastabbtext; + pthread_t vchipthread; + int mvchip_running; + friend class CTvMsgQueue; + int mCurAnalyzeTsChannelID; + TvIObserver *mpObserver; + tv_dtv_scan_running_status_t mDtvScanRunningStatus; + volatile tv_config_t gTvinConfig; + int dtv_auto_3d_flag; + int m_hdmiav_hotplugdetect_en; + bool m_autoset_displayfreq; + int m_sig_stable_nums; + bool m_is_set_hdmi_edid; + /** for L/R or B/T 3d mode overscan **/ + /** for 3D **/ + VIDEO_3D_MODE_T m_mode_3d; + /** for HDMI-in sampling detection. **/ + int m_hdmi_sampling_rate; + int m_hdmi_audio_data; + /** for display mode to bottom **/ + int screen_mode; + + //audio mute + int mAudioMuteStatusForTv; + int mAudioMuteStatusForSystem; + char mMainVolLutTableExtraName[16]; }; #endif //_CDTV_H |