summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--tv_input.cpp45
-rw-r--r--tvapi/android/Android.mk2
-rw-r--r--tvapi/android/include/ITv.h100
-rw-r--r--tvapi/android/include/ITvClient.h58
-rw-r--r--tvapi/android/include/ITvService.h68
-rw-r--r--tvapi/android/include/Tv.h161
-rw-r--r--tvapi/android/include/tvcmd.h1188
-rw-r--r--tvapi/android/jni/Android.mk132
-rw-r--r--tvapi/android/jni/android_amlogic_tv.cpp911
-rw-r--r--tvapi/android/jni/cfbc_jni.cpp214
-rw-r--r--tvapi/android/jni/cfbc_test.cpp86
-rw-r--r--tvapi/android/libtvbinder/Android.mk48
-rw-r--r--tvapi/android/libtvbinder/ITv.cpp289
-rw-r--r--tvapi/android/libtvbinder/ITvClient.cpp117
-rw-r--r--tvapi/android/libtvbinder/ITvService.cpp101
-rw-r--r--tvapi/android/libtvbinder/Tv.cpp378
-rw-r--r--tvapi/android/tvserver/Android.mk162
-rw-r--r--tvapi/android/tvserver/TvService.cpp8755
-rw-r--r--tvapi/android/tvserver/TvService.h164
-rw-r--r--tvapi/android/tvserver/main.cpp46
-rwxr-xr-x[-rw-r--r--]tvapi/build/include/.gitignore0
-rw-r--r--tvapi/docs/tv.uml12156
-rw-r--r--tvapi/libtv/Android.mk3
-rw-r--r--tvapi/libtv/audio/audio_alsa.cpp2426
-rw-r--r--tvapi/libtv/audio/audio_alsa.h261
-rw-r--r--tvapi/libtv/audio/audio_android.cpp2070
-rw-r--r--tvapi/libtv/audio/audio_android.h157
-rw-r--r--tvapi/libtv/audio/audio_android_effect.cpp1182
-rw-r--r--tvapi/libtv/audio/audio_android_effect.h131
-rw-r--r--tvapi/libtv/audio/audio_api.cpp4940
-rw-r--r--tvapi/libtv/audio/audio_api.h647
-rw-r--r--tvapi/libtv/audio/audio_effect.cpp456
-rw-r--r--tvapi/libtv/audio/audio_effect.h63
-rw-r--r--tvapi/libtv/include/amstream.h526
-rw-r--r--tvapi/libtv/include/amvecm.h136
-rw-r--r--tvapi/libtv/include/cm.h306
-rw-r--r--tvapi/libtv/include/hdmirx_cec.h508
-rw-r--r--tvapi/libtv/include/ve.h438
-rw-r--r--tvapi/libtv/tv/AutoBackLight.cpp426
-rw-r--r--tvapi/libtv/tv/AutoBackLight.h47
-rw-r--r--tvapi/libtv/tv/CAv.cpp484
-rw-r--r--tvapi/libtv/tv/CAv.h194
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.cpp2326
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.h680
-rw-r--r--tvapi/libtv/tv/CFrontEnd.cpp838
-rw-r--r--tvapi/libtv/tv/CFrontEnd.h227
-rw-r--r--tvapi/libtv/tv/CTv.cpp10755
-rw-r--r--tvapi/libtv/tv/CTv.h1269
-rw-r--r--tvapi/libtv/tv/CTvBooking.cpp324
-rw-r--r--tvapi/libtv/tv/CTvBooking.h167
-rw-r--r--tvapi/libtv/tv/CTvDmx.cpp8
-rw-r--r--tvapi/libtv/tv/CTvDmx.h15
-rw-r--r--tvapi/libtv/tv/CTvEpg.cpp260
-rw-r--r--tvapi/libtv/tv/CTvEpg.h280
-rw-r--r--tvapi/libtv/tv/CTvEv.cpp2
-rw-r--r--tvapi/libtv/tv/CTvEv.h314
-rw-r--r--tvapi/libtv/tv/CTvLog.h8
-rw-r--r--tvapi/libtv/tv/CTvRecord.cpp552
-rw-r--r--tvapi/libtv/tv/CTvRecord.h93
-rw-r--r--tvapi/libtv/tv/CTvSatellite.h43
-rw-r--r--tvapi/libtv/tv/CTvScanner.cpp1417
-rw-r--r--tvapi/libtv/tv/CTvScanner.h319
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.cpp1060
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.h351
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.cpp272
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.h469
-rw-r--r--tvapi/libtv/tv/CTvTime.h137
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.cpp250
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.h43
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.cpp974
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.h284
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.cpp706
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.h79
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.conf58
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.cpp106
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.h40
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.cpp694
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.h575
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.cpp300
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.h190
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.cpp714
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.h196
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.cpp482
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.h171
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.cpp88
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.h61
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.cpp1766
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.h1065
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.cpp366
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.h85
-rw-r--r--tvapi/libtv/tvin/CHDMIRxCEC.cpp830
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.cpp448
-rw-r--r--tvapi/libtv/tvin/CTvin.cpp4240
-rw-r--r--tvapi/libtv/tvin/CTvin.h2222
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.cpp54
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.h101
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.cpp706
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.h153
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.cpp160
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.h53
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.cpp258
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.h75
-rw-r--r--tvapi/libtv/tvsetting/CTvSetting.cpp4424
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingCfg.h742
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.cpp38
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.h11
-rw-r--r--tvapi/libtv/tvsetting/TvKeyData.cpp2784
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.cpp3706
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.h338
-rw-r--r--tvapi/libtv/tvutils/CCondition.h87
-rw-r--r--tvapi/libtv/tvutils/CFile.cpp250
-rw-r--r--tvapi/libtv/tvutils/CFile.h53
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.cpp6
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.h9
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.cpp144
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.h44
-rw-r--r--tvapi/libtv/tvutils/CMutex.h116
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.cpp118
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.h98
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.cpp568
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.h45
-rw-r--r--tvapi/libtv/tvutils/CSqlite.cpp126
-rw-r--r--tvapi/libtv/tvutils/CSqlite.h292
-rw-r--r--tvapi/libtv/tvutils/CThread.cpp212
-rw-r--r--tvapi/libtv/tvutils/CThread.h79
-rw-r--r--tvapi/libtv/tvutils/CTvInput.cpp196
-rw-r--r--tvapi/libtv/tvutils/CTvInput.h49
-rw-r--r--tvapi/libtv/tvutils/serial_base.cpp560
-rw-r--r--tvapi/libtv/tvutils/serial_base.h34
-rw-r--r--tvapi/libtv/tvutils/serial_operate.cpp336
-rw-r--r--tvapi/libtv/tvutils/serial_operate.h72
-rw-r--r--tvapi/libtv/tvutils/tvutils.cpp3822
-rw-r--r--tvapi/libtv/tvutils/tvutils.h238
-rw-r--r--tvapi/libtv/tvutils/zepoll.cpp66
-rw-r--r--tvapi/libtv/tvutils/zepoll.h57
-rw-r--r--tvapi/libtv/version/version.cpp188
-rw-r--r--tvapi/libtv/version/version.h22
-rw-r--r--tvapi/libtv/vpp/CPQdb.cpp3183
-rw-r--r--tvapi/libtv/vpp/CPQdb.h321
-rw-r--r--tvapi/libtv/vpp/CVpp.cpp4772
-rw-r--r--tvapi/libtv/vpp/CVpp.h683
-rw-r--r--tvapi/libtv/vpp/pqdata.cpp216
-rw-r--r--tvapi/tvtests/Android.mk98
-rw-r--r--tvapi/tvtests/android_tvtest.cpp30
-rw-r--r--tvapi/tvtests/comm_test.cpp42
-rw-r--r--tvapi/tvtests/ssm_test.cpp420
-rw-r--r--tvapi/tvtests/tvconfig_test.cpp854
147 files changed, 55964 insertions, 55946 deletions
diff --git a/tvapi/libtv/tv/CFrontEnd.cpp b/tvapi/libtv/tv/CFrontEnd.cpp
index 49935b0..a11d979 100644
--- a/tvapi/libtv/tv/CFrontEnd.cpp
+++ b/tvapi/libtv/tv/CFrontEnd.cpp
@@ -24,545 +24,545 @@ extern "C" {
CFrontEnd::CFrontEnd()
{
- mFrontDevID = FE_DEV_ID;
- mpObserver = NULL;
- mCurFineFreq = 0;
- mCurMode = FE_ANALOG;
+ mFrontDevID = FE_DEV_ID;
+ mpObserver = NULL;
+ mCurFineFreq = 0;
+ mCurMode = FE_ANALOG;
}
CFrontEnd::~CFrontEnd()
{
- AM_EVT_Unsubscribe(mFrontDevID, AM_FEND_EVT_STATUS_CHANGED, dmd_fend_callback, NULL);
- if (mFrontDevID == FE_DEV_ID)
- AM_FEND_Close(mFrontDevID);
- mFrontDevID = -1;
+ AM_EVT_Unsubscribe(mFrontDevID, AM_FEND_EVT_STATUS_CHANGED, dmd_fend_callback, NULL);
+ if(mFrontDevID == FE_DEV_ID)
+ AM_FEND_Close(mFrontDevID);
+ mFrontDevID = -1;
}
int CFrontEnd::Open(int mode)
{
- AM_FEND_OpenPara_t para;
- int rc = 0;
-
- memset(&para, 0, sizeof(AM_FEND_OpenPara_t));
- para.mode = mode;
- rc = AM_FEND_Open(mFrontDevID, &para);
- if ((rc == AM_FEND_ERR_BUSY) || (rc == 0)) {
- AM_EVT_Subscribe(mFrontDevID, AM_FEND_EVT_STATUS_CHANGED, dmd_fend_callback, this);
- LOGD("%s,frontend dev open success!\n", __FUNCTION__);
- return 0;
- } else {
- LOGD("%s,frontend dev open failed! dvb error id is %d\n", __FUNCTION__, rc);
- return -1;
- }
+ AM_FEND_OpenPara_t para;
+ int rc = 0;
+
+ memset(&para, 0, sizeof(AM_FEND_OpenPara_t));
+ para.mode = mode;
+ rc = AM_FEND_Open(mFrontDevID, &para);
+ if((rc == AM_FEND_ERR_BUSY) || (rc == 0)) {
+ AM_EVT_Subscribe(mFrontDevID, AM_FEND_EVT_STATUS_CHANGED, dmd_fend_callback, this);
+ LOGD("%s,frontend dev open success!\n", __FUNCTION__);
+ return 0;
+ } else {
+ LOGD("%s,frontend dev open failed! dvb error id is %d\n", __FUNCTION__, rc);
+ return -1;
+ }
}
int CFrontEnd::Close()
{
- int rc = 0;
- rc = AM_FEND_Close(mFrontDevID);
-
- if (rc != 0) {
- LOGD("%s,frontend_close fail! dvb error id is %d\n", __FUNCTION__, rc);
- return -1;
- } else {
- LOGD("%s,close frontend is ok\n", __FUNCTION__);
- }
- return 0;
+ int rc = 0;
+ rc = AM_FEND_Close(mFrontDevID);
+
+ if(rc != 0) {
+ LOGD("%s,frontend_close fail! dvb error id is %d\n", __FUNCTION__, rc);
+ return -1;
+ } else {
+ LOGD("%s,close frontend is ok\n", __FUNCTION__);
+ }
+ return 0;
}
int CFrontEnd::setMode(int mode)
{
- int rc = 0;
- if (mCurMode == mode) return 0;
- rc = AM_FEND_SetMode(mFrontDevID, mode);
-
- if (rc != 0) {
- LOGD("%s,front dev set mode failed! dvb error id is %d\n", __FUNCTION__, rc);
- return -1;
- }
- return 0;
+ int rc = 0;
+ if(mCurMode == mode) return 0;
+ rc = AM_FEND_SetMode(mFrontDevID, mode);
+
+ if(rc != 0) {
+ LOGD("%s,front dev set mode failed! dvb error id is %d\n", __FUNCTION__, rc);
+ return -1;
+ }
+ return 0;
}
int CFrontEnd::setPara(int mode, int freq, int para1, int para2)
{
- int ret = 0;
- int buff_size = 32;
- char VideoStdBuff[buff_size];
- char audioStdBuff[buff_size];
-
- AM_FENDCTRL_DVBFrontendParameters_t dvbfepara;
- memset(&dvbfepara, 0, sizeof(AM_FENDCTRL_DVBFrontendParameters_t));
- LOGD("%s,set fe para mode = %d freq=%d p1=%d p2=%d", __FUNCTION__, mode, freq, para1, para2);
- dvbfepara.m_type = mode;
- switch (mode) {
- case FE_OFDM:
- dvbfepara.terrestrial.para.frequency = freq;
- dvbfepara.terrestrial.para.u.ofdm.bandwidth = (fe_bandwidth_t)para1;
- break;
- case FE_DTMB:
- LOGD("%s,FE_DTMB is support\n", __FUNCTION__);
- LOGD("%s,freq = %d, bandwidth = %d\n", __FUNCTION__, freq, para1);
- dvbfepara.dtmb.para.frequency = freq;
- dvbfepara.dtmb.para.u.ofdm.bandwidth = (fe_bandwidth_t)para1;
- break;
- case FE_ATSC:
- dvbfepara.atsc.para.frequency = freq;
- dvbfepara.atsc.para.u.vsb.modulation = (fe_modulation_t)para1;
- break;
- case FE_QAM:
- dvbfepara.cable.para.frequency = freq;
- dvbfepara.cable.para.u.qam.symbol_rate = para1;
- dvbfepara.cable.para.u.qam.modulation = (fe_modulation_t)para2;
- break;
- case FE_ANALOG:
- LOGD("%s,FE_ANALOG is support\n", __FUNCTION__);
- /*para2 is finetune data */
- dvbfepara.analog.para.frequency = freq;
- dvbfepara.analog.para.u.analog.std = para1;
- dvbfepara.analog.para.u.analog.afc_range = AFC_RANGE;
- if (para2 == 0) {
- dvbfepara.analog.para.u.analog.flag |= ANALOG_FLAG_ENABLE_AFC;
- } else {
- dvbfepara.analog.para.u.analog.flag &= ~ANALOG_FLAG_ENABLE_AFC;
- }
-
- printAudioStdStr(para1, audioStdBuff, buff_size);
- printVideoStdStr(para1, VideoStdBuff, buff_size);
- LOGD("%s,freq = %dHz, video_std = %s, audio_std = %s, fineFreqOffset = %dHz\n", __FUNCTION__,
- freq, VideoStdBuff, audioStdBuff, para2);
-
- break;
- }
-
- ret = AM_FENDCTRL_SetPara(mFrontDevID, &dvbfepara);
-
- if (ret != 0) {
- LOGD("%s,fend set para failed! dvb error id is %d\n", __FUNCTION__, ret);
- return -1;
- }
- return 0;
+ int ret = 0;
+ int buff_size = 32;
+ char VideoStdBuff[buff_size];
+ char audioStdBuff[buff_size];
+
+ AM_FENDCTRL_DVBFrontendParameters_t dvbfepara;
+ memset(&dvbfepara, 0, sizeof(AM_FENDCTRL_DVBFrontendParameters_t));
+ LOGD("%s,set fe para mode = %d freq=%d p1=%d p2=%d", __FUNCTION__, mode, freq, para1, para2);
+ dvbfepara.m_type = mode;
+ switch(mode) {
+ case FE_OFDM:
+ dvbfepara.terrestrial.para.frequency = freq;
+ dvbfepara.terrestrial.para.u.ofdm.bandwidth = (fe_bandwidth_t)para1;
+ break;
+ case FE_DTMB:
+ LOGD("%s,FE_DTMB is support\n", __FUNCTION__);
+ LOGD("%s,freq = %d, bandwidth = %d\n", __FUNCTION__, freq, para1);
+ dvbfepara.dtmb.para.frequency = freq;
+ dvbfepara.dtmb.para.u.ofdm.bandwidth = (fe_bandwidth_t)para1;
+ break;
+ case FE_ATSC:
+ dvbfepara.atsc.para.frequency = freq;
+ dvbfepara.atsc.para.u.vsb.modulation = (fe_modulation_t)para1;
+ break;
+ case FE_QAM:
+ dvbfepara.cable.para.frequency = freq;
+ dvbfepara.cable.para.u.qam.symbol_rate = para1;
+ dvbfepara.cable.para.u.qam.modulation = (fe_modulation_t)para2;
+ break;
+ case FE_ANALOG:
+ LOGD("%s,FE_ANALOG is support\n", __FUNCTION__);
+ /*para2 is finetune data */
+ dvbfepara.analog.para.frequency = freq;
+ dvbfepara.analog.para.u.analog.std = para1;
+ dvbfepara.analog.para.u.analog.afc_range = AFC_RANGE;
+ if(para2 == 0) {
+ dvbfepara.analog.para.u.analog.flag |= ANALOG_FLAG_ENABLE_AFC;
+ } else {
+ dvbfepara.analog.para.u.analog.flag &= ~ANALOG_FLAG_ENABLE_AFC;
+ }
+
+ printAudioStdStr(para1, audioStdBuff, buff_size);
+ printVideoStdStr(para1, VideoStdBuff, buff_size);
+ LOGD("%s,freq = %dHz, video_std = %s, audio_std = %s, fineFreqOffset = %dHz\n", __FUNCTION__,
+ freq, VideoStdBuff, audioStdBuff, para2);
+
+ break;
+ }
+
+ ret = AM_FENDCTRL_SetPara(mFrontDevID, &dvbfepara);
+
+ if (ret != 0) {
+ LOGD("%s,fend set para failed! dvb error id is %d\n", __FUNCTION__, ret);
+ return -1;
+ }
+ return 0;
}
int CFrontEnd::fineTune(int fineFreq)
{
- int ret = 0;
- if (mCurFineFreq == fineFreq) return -1;
+ int ret = 0;
+ if(mCurFineFreq == fineFreq) return -1;
- mCurFineFreq = fineFreq;
- ret = AM_FEND_FineTune(FE_DEV_ID, fineFreq);
+ mCurFineFreq = fineFreq;
+ ret = AM_FEND_FineTune(FE_DEV_ID, fineFreq);
- if (ret != 0) {
- LOGD("%s, fail! dvb error id is %d", __FUNCTION__, ret);
- return -1;
- }
- return 0;
+ if(ret != 0) {
+ LOGD("%s, fail! dvb error id is %d", __FUNCTION__, ret);
+ return -1;
+ }
+ return 0;
}
int CFrontEnd::GetTSSource(AM_DMX_Source_t *src)
{
- AM_FEND_GetTSSource(mFrontDevID, src);
- return 0;
+ AM_FEND_GetTSSource(mFrontDevID, src);
+ return 0;
}
-void CFrontEnd::dmd_fend_callback(int dev_no, int event_type, void *param, void *user_data)
+void CFrontEnd::dmd_fend_callback(long dev_no, int event_type, void *param, void *user_data)
{
- CFrontEnd *pFront = (CFrontEnd *)user_data;
- if (NULL == pFront) {
- LOGD("%s,warnning : dmd_fend_callback NULL == pFront\n", __FUNCTION__);
- return ;
- }
- if (pFront->mpObserver == NULL) {
- LOGD("%s,warnning : mpObserver NULL == mpObserver\n", __FUNCTION__);
- return;
- }
- struct dvb_frontend_event *evt = (struct dvb_frontend_event *) param;
- if (!evt)
- return;
-
- if (evt->status & FE_HAS_LOCK) {
- pFront->mCurSigEv.mCurSigStaus = FEEvent::EVENT_FE_HAS_SIG;
- pFront->mCurSigEv.mCurFreq = evt->parameters.frequency;
- pFront->mpObserver->onEvent(pFront->mCurSigEv);
- } else if (evt->status & FE_TIMEDOUT) {
- pFront->mCurSigEv.mCurSigStaus = FEEvent::EVENT_FE_NO_SIG;
- pFront->mCurSigEv.mCurFreq = evt->parameters.frequency;
- pFront->mpObserver->onEvent(pFront->mCurSigEv);
- }
+ CFrontEnd *pFront = (CFrontEnd *)user_data;
+ if(NULL == pFront) {
+ LOGD("%s,warnning : dmd_fend_callback NULL == pFront\n", __FUNCTION__);
+ return ;
+ }
+ if(pFront->mpObserver == NULL) {
+ LOGD("%s,warnning : mpObserver NULL == mpObserver\n", __FUNCTION__);
+ return;
+ }
+ struct dvb_frontend_event *evt = (struct dvb_frontend_event *) param;
+ if (!evt)
+ return;
+
+ if (evt->status & FE_HAS_LOCK) {
+ pFront->mCurSigEv.mCurSigStaus = FEEvent::EVENT_FE_HAS_SIG;
+ pFront->mCurSigEv.mCurFreq = evt->parameters.frequency;
+ pFront->mpObserver->onEvent(pFront->mCurSigEv);
+ } else if (evt->status & FE_TIMEDOUT) {
+ pFront->mCurSigEv.mCurSigStaus = FEEvent::EVENT_FE_NO_SIG;
+ pFront->mCurSigEv.mCurFreq = evt->parameters.frequency;
+ pFront->mpObserver->onEvent(pFront->mCurSigEv);
+ }
}
int CFrontEnd::stdAndColorToAudioEnum(int data)
{
- atv_audio_std_t std = CC_ATV_AUDIO_STD_DK;
- if (((data & V4L2_STD_PAL_DK) == V4L2_STD_PAL_DK) ||
- ((data & V4L2_STD_SECAM_DK) == V4L2_STD_SECAM_DK)) {
- std = CC_ATV_AUDIO_STD_DK;
- } else if ((data & V4L2_STD_PAL_I) == V4L2_STD_PAL_I) {
- std = CC_ATV_AUDIO_STD_I;
- } else if (((data & V4L2_STD_PAL_BG) == V4L2_STD_PAL_BG) ||
- ((data & V4L2_STD_SECAM_B) == V4L2_STD_SECAM_B) ||
- ((data & V4L2_STD_SECAM_G) == V4L2_STD_SECAM_G )) {
- std = CC_ATV_AUDIO_STD_BG;
- } else if (((data & V4L2_STD_PAL_M) == V4L2_STD_PAL_M) ||
- ((data & V4L2_STD_NTSC_M) == V4L2_STD_NTSC_M)) {
- std = CC_ATV_AUDIO_STD_M;
- } else if ((data & V4L2_STD_SECAM_L) == V4L2_STD_SECAM_L) {
- std = CC_ATV_AUDIO_STD_L;
- }
- return std ;
+ atv_audio_std_t std = CC_ATV_AUDIO_STD_DK;
+ if(((data & V4L2_STD_PAL_DK) == V4L2_STD_PAL_DK) ||
+ ((data & V4L2_STD_SECAM_DK) == V4L2_STD_SECAM_DK)) {
+ std = CC_ATV_AUDIO_STD_DK;
+ } else if((data & V4L2_STD_PAL_I) == V4L2_STD_PAL_I) {
+ std = CC_ATV_AUDIO_STD_I;
+ } else if(((data & V4L2_STD_PAL_BG) == V4L2_STD_PAL_BG) ||
+ ((data & V4L2_STD_SECAM_B) == V4L2_STD_SECAM_B) ||
+ ((data & V4L2_STD_SECAM_G) == V4L2_STD_SECAM_G )) {
+ std = CC_ATV_AUDIO_STD_BG;
+ } else if(((data & V4L2_STD_PAL_M) == V4L2_STD_PAL_M) ||
+ ((data & V4L2_STD_NTSC_M) == V4L2_STD_NTSC_M)) {
+ std = CC_ATV_AUDIO_STD_M;
+ } else if((data & V4L2_STD_SECAM_L) == V4L2_STD_SECAM_L) {
+ std = CC_ATV_AUDIO_STD_L;
+ }
+ return std ;
}
int CFrontEnd::stdAndColorToVideoEnum(int std)
{
- atv_video_std_t video_standard = CC_ATV_VIDEO_STD_PAL;
- if ((std & V4L2_COLOR_STD_PAL) == V4L2_COLOR_STD_PAL) {
- video_standard = CC_ATV_VIDEO_STD_PAL;
- } else if ((std & V4L2_COLOR_STD_NTSC) == V4L2_COLOR_STD_NTSC) {
- video_standard = CC_ATV_VIDEO_STD_NTSC;
- } else if ((std & V4L2_COLOR_STD_SECAM) == V4L2_COLOR_STD_SECAM) {
- video_standard = CC_ATV_VIDEO_STD_SECAM;
- }
- return video_standard;
+ atv_video_std_t video_standard = CC_ATV_VIDEO_STD_PAL;
+ if((std & V4L2_COLOR_STD_PAL) == V4L2_COLOR_STD_PAL) {
+ video_standard = CC_ATV_VIDEO_STD_PAL;
+ } else if((std & V4L2_COLOR_STD_NTSC) == V4L2_COLOR_STD_NTSC) {
+ video_standard = CC_ATV_VIDEO_STD_NTSC;
+ } else if((std & V4L2_COLOR_STD_SECAM) == V4L2_COLOR_STD_SECAM) {
+ video_standard = CC_ATV_VIDEO_STD_SECAM;
+ }
+ return video_standard;
}
v4l2_std_id CFrontEnd::enumToStdAndColor(int videoStd, int audioStd)
{
- v4l2_std_id tmpTunerStd = 0;
- if (videoStd == CC_ATV_VIDEO_STD_PAL) {
- tmpTunerStd |= V4L2_COLOR_STD_PAL;
- if (audioStd == CC_ATV_AUDIO_STD_DK) {
- tmpTunerStd |= V4L2_STD_PAL_DK;
- } else if (audioStd == CC_ATV_AUDIO_STD_I) {
- tmpTunerStd |= V4L2_STD_PAL_I;
- } else if (audioStd == CC_ATV_AUDIO_STD_BG) {
- tmpTunerStd |= V4L2_STD_PAL_BG;
- } else if (audioStd == CC_ATV_AUDIO_STD_M) {
- tmpTunerStd |= V4L2_STD_PAL_M;
- }
- } else if (videoStd == CC_ATV_VIDEO_STD_NTSC) {
- tmpTunerStd |= V4L2_COLOR_STD_NTSC;
- if (audioStd == CC_ATV_AUDIO_STD_DK) {
- tmpTunerStd |= V4L2_STD_PAL_DK;
- } else if (audioStd == CC_ATV_AUDIO_STD_I) {
- tmpTunerStd |= V4L2_STD_PAL_I;
- } else if (audioStd == CC_ATV_AUDIO_STD_BG) {
- tmpTunerStd |= V4L2_STD_PAL_BG;
- } else if (audioStd == CC_ATV_AUDIO_STD_M) {
- tmpTunerStd |= V4L2_STD_NTSC_M;
- }
- } else if (videoStd == CC_ATV_VIDEO_STD_SECAM) {
- tmpTunerStd |= V4L2_COLOR_STD_SECAM;
- if (audioStd == CC_ATV_AUDIO_STD_DK) {
- tmpTunerStd |= V4L2_STD_SECAM_DK;
- } else if (audioStd == CC_ATV_AUDIO_STD_I) {
- tmpTunerStd |= V4L2_STD_PAL_I;
- } else if (audioStd == CC_ATV_AUDIO_STD_BG) {
- tmpTunerStd |= (V4L2_STD_SECAM_B | V4L2_STD_SECAM_G);
- } else if (audioStd == CC_ATV_AUDIO_STD_M) {
- tmpTunerStd |= V4L2_STD_NTSC_M;
- } else if (audioStd == CC_ATV_AUDIO_STD_L) {
- tmpTunerStd |= V4L2_STD_SECAM_L;
- }
- } else if (videoStd == CC_ATV_VIDEO_STD_AUTO) {
- tmpTunerStd |= V4L2_COLOR_STD_AUTO;
- tmpTunerStd |= V4L2_STD_PAL_DK;
- }
- return tmpTunerStd;
+ v4l2_std_id tmpTunerStd = 0;
+ if (videoStd == CC_ATV_VIDEO_STD_PAL) {
+ tmpTunerStd |= V4L2_COLOR_STD_PAL;
+ if (audioStd == CC_ATV_AUDIO_STD_DK) {
+ tmpTunerStd |= V4L2_STD_PAL_DK;
+ } else if (audioStd == CC_ATV_AUDIO_STD_I) {
+ tmpTunerStd |= V4L2_STD_PAL_I;
+ } else if (audioStd == CC_ATV_AUDIO_STD_BG) {
+ tmpTunerStd |= V4L2_STD_PAL_BG;
+ } else if (audioStd == CC_ATV_AUDIO_STD_M) {
+ tmpTunerStd |= V4L2_STD_PAL_M;
+ }
+ } else if (videoStd == CC_ATV_VIDEO_STD_NTSC) {
+ tmpTunerStd |= V4L2_COLOR_STD_NTSC;
+ if (audioStd == CC_ATV_AUDIO_STD_DK) {
+ tmpTunerStd |= V4L2_STD_PAL_DK;
+ } else if (audioStd == CC_ATV_AUDIO_STD_I) {
+ tmpTunerStd |= V4L2_STD_PAL_I;
+ } else if (audioStd == CC_ATV_AUDIO_STD_BG) {
+ tmpTunerStd |= V4L2_STD_PAL_BG;
+ } else if (audioStd == CC_ATV_AUDIO_STD_M) {
+ tmpTunerStd |= V4L2_STD_NTSC_M;
+ }
+ } else if (videoStd == CC_ATV_VIDEO_STD_SECAM) {
+ tmpTunerStd |= V4L2_COLOR_STD_SECAM;
+ if (audioStd == CC_ATV_AUDIO_STD_DK) {
+ tmpTunerStd |= V4L2_STD_SECAM_DK;
+ } else if (audioStd == CC_ATV_AUDIO_STD_I) {
+ tmpTunerStd |= V4L2_STD_PAL_I;
+ } else if (audioStd == CC_ATV_AUDIO_STD_BG) {
+ tmpTunerStd |= (V4L2_STD_SECAM_B | V4L2_STD_SECAM_G);
+ } else if (audioStd == CC_ATV_AUDIO_STD_M) {
+ tmpTunerStd |= V4L2_STD_NTSC_M;
+ } else if (audioStd == CC_ATV_AUDIO_STD_L) {
+ tmpTunerStd |= V4L2_STD_SECAM_L;
+ }
+ } else if(videoStd == CC_ATV_VIDEO_STD_AUTO) {
+ tmpTunerStd |= V4L2_COLOR_STD_AUTO;
+ tmpTunerStd |= V4L2_STD_PAL_DK;
+ }
+ return tmpTunerStd;
}
int CFrontEnd::getPara(frontend_para_set_t *fpara)
{
- int mode;
- int ret1, ret2;
+ int mode;
+ int ret1, ret2;
- struct dvb_frontend_parameters para;
- memset(&para, 0, sizeof(struct dvb_frontend_parameters));
- if ((ret1 = AM_FEND_GetPara(mFrontDevID, &para)) < 0) {
- LOGD("%s,getPara faiture\n", __FUNCTION__ );
- return -1;
+ struct dvb_frontend_parameters para;
+ memset(&para, 0, sizeof(struct dvb_frontend_parameters));
+ if((ret1 = AM_FEND_GetPara(mFrontDevID, &para)) < 0) {
+ LOGD("%s,getPara faiture\n", __FUNCTION__ );
+ return -1;
- //fpara->mode = fend_mode ;
+ //fpara->mode = fend_mode ;
- }
- return 0;
+ }
+ return 0;
}
int CFrontEnd::getSNR()
{
- int snr = 0;
- AM_FEND_GetSNR(mFrontDevID, &snr);
- return snr;
+ int snr = 0;
+ AM_FEND_GetSNR(mFrontDevID, &snr);
+ return snr;
}
int CFrontEnd::getBER()
{
- int ber = 0;
- AM_FEND_GetBER(mFrontDevID, &ber);
- return ber;
+ int ber = 0;
+ AM_FEND_GetBER(mFrontDevID, &ber);
+ return ber;
}
int CFrontEnd::getStrength()
{
- int Strength = 0;
- AM_FEND_GetStrength(mFrontDevID, &Strength);
- return Strength;
+ int Strength = 0;
+ AM_FEND_GetStrength(mFrontDevID, &Strength);
+ return Strength;
}
int CFrontEnd::formatATVFreq(int tmp_freq)
{
- int tmp_val = 25;
- int ATV_1MHZ = 1000000;
- int ATV_10KHZ = 10000;
+ int tmp_val = 25;
+ int ATV_1MHZ = 1000000;
+ int ATV_10KHZ = 10000;
- tmp_freq = (tmp_freq / ATV_1MHZ) * ATV_1MHZ + tmp_val * ATV_10KHZ;
+ tmp_freq = (tmp_freq / ATV_1MHZ) * ATV_1MHZ + tmp_val * ATV_10KHZ;
- return tmp_freq;
+ return tmp_freq;
}
int CFrontEnd::printVideoStdStr(int compStd, char strBuffer[], int buff_size)
{
- memset(strBuffer, 0, buff_size);
- int videoStd = stdAndColorToVideoEnum(compStd);
- switch (videoStd) {
- case CC_ATV_VIDEO_STD_AUTO:
- strcpy(strBuffer, "AUTO");
- break;
- case CC_ATV_VIDEO_STD_PAL:
- strcpy(strBuffer, "PAL");
- break;
- case CC_ATV_VIDEO_STD_NTSC:
- strcpy(strBuffer, "NTSC");
- break;
- case CC_ATV_VIDEO_STD_SECAM:
- strcpy(strBuffer, "SECAM");
- break;
- default:
- strcpy(strBuffer, "UnkownVideo");
- break;
- }
-
- return 0;
+ memset(strBuffer, 0, buff_size);
+ int videoStd = stdAndColorToVideoEnum(compStd);
+ switch(videoStd) {
+ case CC_ATV_VIDEO_STD_AUTO:
+ strcpy(strBuffer, "AUTO");
+ break;
+ case CC_ATV_VIDEO_STD_PAL:
+ strcpy(strBuffer, "PAL");
+ break;
+ case CC_ATV_VIDEO_STD_NTSC:
+ strcpy(strBuffer, "NTSC");
+ break;
+ case CC_ATV_VIDEO_STD_SECAM:
+ strcpy(strBuffer, "SECAM");
+ break;
+ default:
+ strcpy(strBuffer, "UnkownVideo");
+ break;
+ }
+
+ return 0;
}
int CFrontEnd::printAudioStdStr(int compStd, char strBuffer[], int buff_size)
{
- memset(strBuffer, 0, buff_size);
- int audioStd = stdAndColorToAudioEnum(compStd);
- switch (audioStd) {
- case CC_ATV_AUDIO_STD_DK:
- strcpy(strBuffer, "DK");
- break;
- case CC_ATV_AUDIO_STD_I:
- strcpy(strBuffer, "I");
- break;
- case CC_ATV_AUDIO_STD_BG:
- strcpy(strBuffer, "BG");
- break;
- case CC_ATV_AUDIO_STD_M:
- strcpy(strBuffer, "M");
- break;
- case CC_ATV_AUDIO_STD_L:
- strcpy(strBuffer, "L");
- break;
- case CC_ATV_AUDIO_STD_AUTO:
- strcpy(strBuffer, "AUTO");
- break;
- default:
- strcpy(strBuffer, "UnkownAudio");
- break;
- }
-
- return 0;
+ memset(strBuffer, 0, buff_size);
+ int audioStd = stdAndColorToAudioEnum(compStd);
+ switch(audioStd) {
+ case CC_ATV_AUDIO_STD_DK:
+ strcpy(strBuffer, "DK");
+ break;
+ case CC_ATV_AUDIO_STD_I:
+ strcpy(strBuffer, "I");
+ break;
+ case CC_ATV_AUDIO_STD_BG:
+ strcpy(strBuffer, "BG");
+ break;
+ case CC_ATV_AUDIO_STD_M:
+ strcpy(strBuffer, "M");
+ break;
+ case CC_ATV_AUDIO_STD_L:
+ strcpy(strBuffer, "L");
+ break;
+ case CC_ATV_AUDIO_STD_AUTO:
+ strcpy(strBuffer, "AUTO");
+ break;
+ default:
+ strcpy(strBuffer, "UnkownAudio");
+ break;
+ }
+
+ return 0;
}
int CFrontEnd::autoLoadFE()
{
- FILE *fp = NULL;
- int ret = -1;
+ FILE *fp = NULL;
+ int ret = -1;
- fp = fopen ( "/sys/class/amlfe/setting", "w" );
+ fp = fopen ( "/sys/class/amlfe/setting", "w" );
- if ( fp == NULL ) {
- LOGW ( "Open /sys/class/amlfe/setting error(%s)!\n", strerror ( errno ) );
- return -1;
- }
+ if ( fp == NULL ) {
+ LOGW ( "Open /sys/class/amlfe/setting error(%s)!\n", strerror ( errno ) );
+ return -1;
+ }
- ret = fprintf ( fp, "%s", "autoload" );
+ ret = fprintf ( fp, "%s", "autoload" );
- if ( ret < 0 ) {
- LOGW ( "autoload FE error(%s)!\n", strerror ( errno ) );
- }
- LOGD("autoLoadFE");
- fclose ( fp );
- fp = NULL;
+ if ( ret < 0 ) {
+ LOGW ( "autoload FE error(%s)!\n", strerror ( errno ) );
+ }
+ LOGD("autoLoadFE");
+ fclose ( fp );
+ fp = NULL;
- return ret;
+ return ret;
}
int CFrontEnd::setCvbsAmpOut(int tmp)
{
- int rc = AM_SUCCESS;
- rc = AM_FEND_SetCvbsAmpOut(mFrontDevID, tmp);
- if (rc == AM_SUCCESS) {
- LOGD("%s, sucessful!", __FUNCTION__);
- rc = 0;
- } else {
- LOGD("%s, fail!", __FUNCTION__);
- rc = -1;
- }
- return rc;
+ int rc = AM_SUCCESS;
+ rc = AM_FEND_SetCvbsAmpOut(mFrontDevID, tmp);
+ if(rc == AM_SUCCESS) {
+ LOGD("%s, sucessful!", __FUNCTION__);
+ rc = 0;
+ } else {
+ LOGD("%s, fail!", __FUNCTION__);
+ rc = -1;
+ }
+ return rc;
}
int CFrontEnd::setThreadDelay(int delay)
{
- int rc = AM_SUCCESS;
-
- rc = AM_FEND_SetThreadDelay(mFrontDevID, delay);
- if (rc == AM_SUCCESS) {
- LOGD("frontend_setThreadDelay sucessful!\n");
- return 0;
- } else {
- LOGD("frontend_setThreadDelay fail! %d\n\n", rc);
- return -1;
- }
+ int rc = AM_SUCCESS;
+
+ rc = AM_FEND_SetThreadDelay(mFrontDevID, delay);
+ if(rc == AM_SUCCESS) {
+ LOGD("frontend_setThreadDelay sucessful!\n");
+ return 0;
+ } else {
+ LOGD("frontend_setThreadDelay fail! %d\n\n", rc);
+ return -1;
+ }
}
int CFrontEnd::lock(int frequency, int symbol_rate, int modulation, int bandwidth)
{
- int rt = -1;
- struct dvb_frontend_parameters fparam;
- struct dvb_frontend_info finfo;
-
- memset(&fparam, 0, sizeof(struct dvb_frontend_parameters));
- memset(&finfo, 0, sizeof(struct dvb_frontend_info));
-
- AM_FEND_GetInfo(mFrontDevID, &finfo);
-
- if (frequency == 0)
- return -1;
- fparam.frequency = frequency;
-
- switch (finfo.type) {
-
- case FE_QAM:
- default:
-
- if (symbol_rate == 0)
- return -1;
- fparam.u.qam.symbol_rate = symbol_rate;
-
-
- if (modulation == 0)
- return -1;
- fparam.u.qam.modulation = (fe_modulation_t)modulation;
-
- LOGD("mFrontDevID = %d;fre=%d;sym=%d;qam=%d ",
- mFrontDevID, fparam.frequency, fparam.u.qam.symbol_rate, fparam.u.qam.modulation);
- break;
- case FE_OFDM:
- case FE_ATSC:
- LOGD("mFrontDevID = %d;fre=%d;bw=%d\n ",
- mFrontDevID, fparam.frequency, fparam.u.ofdm.bandwidth);
- break;
- case FE_QPSK:
- LOGD("QPSK are not supported.\n ");
- break;
- case FE_ANALOG:
- LOGD("ANALOG is supported.\n ");
- fparam.u.analog.std = V4L2_STD_PAL_I;
- break;
- }
-
- fe_status_t status;
-
- rt = AM_FEND_Lock(FE_DEV_ID, &fparam, &status);
-
- if ((!rt) && (status & FE_HAS_LOCK)) {
- LOGD("frontend_lock sucessful!\n");
- return true;
- } else {
- LOGD("frontend_lock fail %d!\n", rt);
- return false;
- }
+ int rt = -1;
+ struct dvb_frontend_parameters fparam;
+ struct dvb_frontend_info finfo;
+
+ memset(&fparam, 0, sizeof(struct dvb_frontend_parameters));
+ memset(&finfo, 0, sizeof(struct dvb_frontend_info));
+
+ AM_FEND_GetInfo(mFrontDevID, &finfo);
+
+ if (frequency == 0)
+ return -1;
+ fparam.frequency = frequency;
+
+ switch(finfo.type) {
+
+ case FE_QAM:
+ default:
+
+ if (symbol_rate == 0)
+ return -1;
+ fparam.u.qam.symbol_rate = symbol_rate;
+
+
+ if (modulation == 0)
+ return -1;
+ fparam.u.qam.modulation = (fe_modulation_t)modulation;
+
+ LOGD("mFrontDevID = %d;fre=%d;sym=%d;qam=%d ",
+ mFrontDevID, fparam.frequency, fparam.u.qam.symbol_rate, fparam.u.qam.modulation);
+ break;
+ case FE_OFDM:
+ case FE_ATSC:
+ LOGD("mFrontDevID = %d;fre=%d;bw=%d\n ",
+ mFrontDevID, fparam.frequency, fparam.u.ofdm.bandwidth);
+ break;
+ case FE_QPSK:
+ LOGD("QPSK are not supported.\n ");
+ break;
+ case FE_ANALOG:
+ LOGD("ANALOG is supported.\n ");
+ fparam.u.analog.std = V4L2_STD_PAL_I;
+ break;
+ }
+
+ fe_status_t status;
+
+ rt = AM_FEND_Lock(FE_DEV_ID, &fparam, &status);
+
+ if((!rt) && (status & FE_HAS_LOCK)) {
+ LOGD("frontend_lock sucessful!\n");
+ return true;
+ } else {
+ LOGD("frontend_lock fail %d!\n", rt);
+ return false;
+ }
}
int CFrontEnd::getInfo()
{
- struct dvb_frontend_info finfo;
+ struct dvb_frontend_info finfo;
- AM_FEND_GetInfo(mFrontDevID, &finfo);
+ AM_FEND_GetInfo(mFrontDevID, &finfo);
- //return fend_info; noitfy FrontEnd message
- return 0;
+ //return fend_info; noitfy FrontEnd message
+ return 0;
}
int CFrontEnd::getStatus()
{
- fe_status_t status;
- AM_FEND_GetStatus(mFrontDevID, &status);
+ fe_status_t status;
+ AM_FEND_GetStatus(mFrontDevID, &status);
- return status;
+ return status;
}
int CFrontEnd::checkStatusOnce()
{
- fe_status_t status;
- AM_FEND_GetStatus(mFrontDevID, &status);
- LOGD("%s,get status = %x", __FUNCTION__, status);
- if (status & FE_HAS_LOCK) {
- mCurSigEv.mCurSigStaus = FEEvent::EVENT_FE_HAS_SIG;
- mCurSigEv.mCurFreq = 0;
- mpObserver->onEvent(mCurSigEv);
- } else if (status & FE_TIMEDOUT) {
- mCurSigEv.mCurSigStaus = FEEvent::EVENT_FE_NO_SIG;
- mCurSigEv.mCurFreq = 0;
- mpObserver->onEvent(mCurSigEv);
- }
- return 0;
+ fe_status_t status;
+ AM_FEND_GetStatus(mFrontDevID, &status);
+ LOGD("%s,get status = %x", __FUNCTION__, status);
+ if (status & FE_HAS_LOCK) {
+ mCurSigEv.mCurSigStaus = FEEvent::EVENT_FE_HAS_SIG;
+ mCurSigEv.mCurFreq = 0;
+ mpObserver->onEvent(mCurSigEv);
+ } else if (status & FE_TIMEDOUT) {
+ mCurSigEv.mCurSigStaus = FEEvent::EVENT_FE_NO_SIG;
+ mCurSigEv.mCurFreq = 0;
+ mpObserver->onEvent(mCurSigEv);
+ }
+ return 0;
}
int CFrontEnd::stdEnumToCvbsFmt (int videoStd, int audioStd)
{
- tvin_sig_fmt_e cvbs_fmt = TVIN_SIG_FMT_NULL;
-
- if ( videoStd == CC_ATV_VIDEO_STD_PAL ) {
- if ( audioStd == CC_ATV_AUDIO_STD_DK ) {
- cvbs_fmt = TVIN_SIG_FMT_CVBS_PAL_I;
- } else if ( audioStd == CC_ATV_AUDIO_STD_I ) {
- cvbs_fmt = TVIN_SIG_FMT_CVBS_PAL_I;
- } else if ( audioStd == CC_ATV_AUDIO_STD_BG ) {
- cvbs_fmt = TVIN_SIG_FMT_CVBS_PAL_I;
- } else if ( audioStd == CC_ATV_AUDIO_STD_M ) {
- cvbs_fmt = TVIN_SIG_FMT_CVBS_PAL_M;
- }
- } else if ( videoStd == CC_ATV_VIDEO_STD_NTSC ) {
- if ( audioStd == CC_ATV_AUDIO_STD_DK ) {
- cvbs_fmt = TVIN_SIG_FMT_CVBS_NTSC_M;
- } else if ( audioStd == CC_ATV_AUDIO_STD_I ) {
- cvbs_fmt = TVIN_SIG_FMT_CVBS_NTSC_M;
- } else if ( audioStd == CC_ATV_AUDIO_STD_BG ) {
- cvbs_fmt = TVIN_SIG_FMT_CVBS_NTSC_M;
- } else if ( audioStd == CC_ATV_AUDIO_STD_M ) {
- cvbs_fmt = TVIN_SIG_FMT_CVBS_NTSC_M;
- }
- } else if ( videoStd == CC_ATV_VIDEO_STD_SECAM ) {
- if ( audioStd == CC_ATV_AUDIO_STD_DK ) {
- cvbs_fmt = TVIN_SIG_FMT_CVBS_SECAM;
- } else if ( audioStd == CC_ATV_AUDIO_STD_I ) {
- cvbs_fmt = TVIN_SIG_FMT_CVBS_SECAM;
- } else if ( audioStd == CC_ATV_AUDIO_STD_BG ) {
- cvbs_fmt = TVIN_SIG_FMT_CVBS_SECAM;
- } else if ( audioStd == CC_ATV_AUDIO_STD_M ) {
- cvbs_fmt = TVIN_SIG_FMT_CVBS_SECAM;
- } else if ( audioStd == CC_ATV_AUDIO_STD_L ) {
- cvbs_fmt = TVIN_SIG_FMT_CVBS_SECAM;
- }
- } else if (CC_ATV_VIDEO_STD_AUTO == videoStd) {
- cvbs_fmt = TVIN_SIG_FMT_NULL;
- }
- return cvbs_fmt;
+ tvin_sig_fmt_e cvbs_fmt = TVIN_SIG_FMT_NULL;
+
+ if ( videoStd == CC_ATV_VIDEO_STD_PAL ) {
+ if ( audioStd == CC_ATV_AUDIO_STD_DK ) {
+ cvbs_fmt = TVIN_SIG_FMT_CVBS_PAL_I;
+ } else if ( audioStd == CC_ATV_AUDIO_STD_I ) {
+ cvbs_fmt = TVIN_SIG_FMT_CVBS_PAL_I;
+ } else if ( audioStd == CC_ATV_AUDIO_STD_BG ) {
+ cvbs_fmt = TVIN_SIG_FMT_CVBS_PAL_I;
+ } else if ( audioStd == CC_ATV_AUDIO_STD_M ) {
+ cvbs_fmt = TVIN_SIG_FMT_CVBS_PAL_M;
+ }
+ } else if ( videoStd == CC_ATV_VIDEO_STD_NTSC ) {
+ if ( audioStd == CC_ATV_AUDIO_STD_DK ) {
+ cvbs_fmt = TVIN_SIG_FMT_CVBS_NTSC_M;
+ } else if ( audioStd == CC_ATV_AUDIO_STD_I ) {
+ cvbs_fmt = TVIN_SIG_FMT_CVBS_NTSC_M;
+ } else if ( audioStd == CC_ATV_AUDIO_STD_BG ) {
+ cvbs_fmt = TVIN_SIG_FMT_CVBS_NTSC_M;
+ } else if ( audioStd == CC_ATV_AUDIO_STD_M ) {
+ cvbs_fmt = TVIN_SIG_FMT_CVBS_NTSC_M;
+ }
+ } else if ( videoStd == CC_ATV_VIDEO_STD_SECAM ) {
+ if ( audioStd == CC_ATV_AUDIO_STD_DK ) {
+ cvbs_fmt = TVIN_SIG_FMT_CVBS_SECAM;
+ } else if ( audioStd == CC_ATV_AUDIO_STD_I ) {
+ cvbs_fmt = TVIN_SIG_FMT_CVBS_SECAM;
+ } else if ( audioStd == CC_ATV_AUDIO_STD_BG ) {
+ cvbs_fmt = TVIN_SIG_FMT_CVBS_SECAM;
+ } else if ( audioStd == CC_ATV_AUDIO_STD_M ) {
+ cvbs_fmt = TVIN_SIG_FMT_CVBS_SECAM;
+ } else if ( audioStd == CC_ATV_AUDIO_STD_L ) {
+ cvbs_fmt = TVIN_SIG_FMT_CVBS_SECAM;
+ }
+ } else if(CC_ATV_VIDEO_STD_AUTO == videoStd) {
+ cvbs_fmt = TVIN_SIG_FMT_NULL;
+ }
+ return cvbs_fmt;
}
int CFrontEnd::ClearAnalogFrontEnd()
{
- return this->setPara ( FE_ANALOG, 44250000, V4L2_COLOR_STD_PAL | V4L2_STD_PAL_DK, 0 );
+ return this->setPara ( FE_ANALOG, 44250000, V4L2_COLOR_STD_PAL | V4L2_STD_PAL_DK, 0 );
}