summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY1
-rw-r--r--dxr3.c12
-rw-r--r--dxr3.h1
-rw-r--r--dxr3configdata.c1
-rw-r--r--dxr3configdata.h11
-rw-r--r--dxr3i18n.c23
-rw-r--r--dxr3interface.c15
7 files changed, 55 insertions, 9 deletions
diff --git a/HISTORY b/HISTORY
index 1b3c81d..45fb9dd 100644
--- a/HISTORY
+++ b/HISTORY
@@ -329,4 +329,5 @@ NOTE: I havent found time to include all of the languages, will be done in pre2
- add brightness/contrast/saturation settings to setup (Ville Skyttä)
- apply more settings immediately from setup menu (Ville Skyttä)
- apply AC3 and WSS patches which were in patches/ in previous releases
+- add setup option for enabling/disabling WSS (Ville Skyttä)
- various minor tweaks
diff --git a/dxr3.c b/dxr3.c
index ade6f4a..ab56f1c 100644
--- a/dxr3.c
+++ b/dxr3.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: dxr3.c,v 1.1.2.30 2007/04/09 19:57:44 scop Exp $
+ * $Id: dxr3.c,v 1.1.2.31 2007/04/26 21:02:41 scop Exp $
*
*/
@@ -80,6 +80,11 @@ cMenuSetupDxr3::cMenuSetupDxr3(void)
menuVideoModes[2] = tr("NTSC");
Add(new cMenuEditStraItem(tr("Video mode"),
&newVideoMode, 3, menuVideoModes));
+ newUseWSS = cDxr3ConfigData::Instance().GetUseWSS();
+#ifdef EM8300_IOCTL_SET_WSS
+ Add(new cMenuEditBoolItem(tr("Use widescreen signaling (WSS)"),
+ &newUseWSS));
+#endif
newUseDigitalOut = cDxr3ConfigData::Instance().GetUseDigitalOut();
Add(new cMenuEditBoolItem(tr("Digital audio output"), &newUseDigitalOut));
newOsdFlushRate = cDxr3ConfigData::Instance().GetOsdFlushRate();
@@ -103,7 +108,10 @@ void cMenuSetupDxr3::Store(void)
SetupStore("Saturation",
cDxr3ConfigData::Instance().SetSaturation(newSaturation));
SetupStore("Dxr3VideoMode",
- cDxr3ConfigData::Instance().SetVideoMode((eVideoMode) newVideoMode));
+ cDxr3ConfigData::Instance().SetVideoMode(
+ (eVideoMode) newVideoMode));
+ SetupStore("UseWSS",
+ cDxr3ConfigData::Instance().SetUseWSS(newUseWSS));
SetupStore("UseDigitalOut",
cDxr3ConfigData::Instance().SetUseDigitalOut(newUseDigitalOut));
SetupStore("OsdFlushRate",
diff --git a/dxr3.h b/dxr3.h
index 5d877b5..cbbcc6f 100644
--- a/dxr3.h
+++ b/dxr3.h
@@ -18,6 +18,7 @@ private:
int newDxr3Card;
int newVideoMode;
const char *menuVideoModes[3];
+ int newUseWSS;
int newHideMenu;
int newOsdFlushRate;
int newBrightness;
diff --git a/dxr3configdata.c b/dxr3configdata.c
index 585c546..6344aa2 100644
--- a/dxr3configdata.c
+++ b/dxr3configdata.c
@@ -36,6 +36,7 @@ cDxr3ConfigData::cDxr3ConfigData()
m_saturation = 500;
m_hidemenu = 0;
m_osdflushrate = 40;
+ m_usewss = 0;
}
// Local variables:
diff --git a/dxr3configdata.h b/dxr3configdata.h
index 00e5b02..da3634b 100644
--- a/dxr3configdata.h
+++ b/dxr3configdata.h
@@ -139,10 +139,19 @@ public:
return m_osdflushrate = value;
}
+ int GetUseWSS() const
+ {
+ return m_usewss;
+ }
+ int SetUseWSS(int value)
+ {
+ return m_usewss = value;
+ }
+
protected:
eVideoMode m_videomode;
+ int m_usewss;
eMenuMode m_menumode;
-
int m_digitaloutput;
int m_card;
int m_forceletterbox;
diff --git a/dxr3i18n.c b/dxr3i18n.c
index 57c6707..c6a7f8d 100644
--- a/dxr3i18n.c
+++ b/dxr3i18n.c
@@ -232,6 +232,29 @@ const tI18nPhrase Phrases[] = {
"", // Czech
},
{
+ "Use widescreen signaling (WSS)",
+ "", // Deutsch
+ "", // Slovenski
+ "", // Italiano
+ "", // Nederlands
+ "", // Português
+ "", // Français
+ "", // Norsk
+ "Käytä WSS-signalointia",
+ "", // Polski
+ "", // Español
+ "", // ÅëëçíéêÜ (Greek)
+ "", // Svenska
+ "", // Românã
+ "", // Magyar
+ "", // Català
+ "", // ÀãááÚØÙ (Russian)
+ "", // Hrvatski
+ "", // Eesti
+ "", // Dansk
+ "", // Czech
+ },
+ {
"Reset DXR3 hardware",
"Reset DXR3 Hardware",
"", // Slovenski
diff --git a/dxr3interface.c b/dxr3interface.c
index ebb4050..b1e2441 100644
--- a/dxr3interface.c
+++ b/dxr3interface.c
@@ -438,13 +438,16 @@ void cDxr3Interface::SetAspectRatio(uint32_t ratio)
{
aspect = EM8300_ASPECTRATIO_4_3;
#ifdef EM8300_IOCTL_SET_WSS
- if (ratio == EM8300_ASPECTRATIO_16_9)
- wssmode = EM8300_WSS_16_9;
- else
- wssmode = EM8300_WSS_OFF;
- if (ioctl(m_fdControl, EM8300_IOCTL_SET_WSS, &wssmode) < 0)
+ if (cDxr3ConfigData::Instance().GetUseWSS())
{
- esyslog("dxr3: unable to set WSS: %m");
+ if (ratio == EM8300_ASPECTRATIO_16_9)
+ wssmode = EM8300_WSS_16_9;
+ else
+ wssmode = EM8300_WSS_OFF;
+ if (ioctl(m_fdControl, EM8300_IOCTL_SET_WSS, &wssmode) < 0)
+ {
+ esyslog("dxr3: unable to set WSS: %m");
+ }
}
#endif
}