summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--README.txt4
-rw-r--r--Todo1
-rw-r--r--softhddevice.cpp43
-rw-r--r--video.c11
-rw-r--r--video.h3
6 files changed, 43 insertions, 20 deletions
diff --git a/ChangeLog b/ChangeLog
index 42eaf5c..f9f8013 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
User johns
Date:
+ Makes 60Hz display mode configurable with setup.conf.
Support downmix of AC-3 to stero.
New audio PES packet parser.
Fix bug: Grabbing a JPG image fails while suspended.
diff --git a/README.txt b/README.txt
index 1c7b803..3ef96c8 100644
--- a/README.txt
+++ b/README.txt
@@ -176,6 +176,10 @@ Setup: /etc/vdr/setup.conf
softhddevice.Suspend.X11 = 0
1 suspend stops X11 server (not working yet)
+ softhddevice.60HzMode = 0
+ 0 disable 60Hz display mode
+ 1 enable 60Hz display mode
+
VideoDisplayFormat = ?
0 pan and scan
1 letter box
diff --git a/Todo b/Todo
index 1847d02..6e1de50 100644
--- a/Todo
+++ b/Todo
@@ -25,7 +25,6 @@ missing:
suspend plugin didn't restore full-screen (is this wanted?)
Option deinterlace off / deinterlace force!
ColorSpace aren't configurable with the gui.
- Inverse telecine isn't configurable with the gui.
Replay of old vdr 1.6 recordings.
svdrp support for hot-keys.
diff --git a/softhddevice.cpp b/softhddevice.cpp
index 5b9c1e7..77cdec2 100644
--- a/softhddevice.cpp
+++ b/softhddevice.cpp
@@ -64,6 +64,7 @@ static char ConfigHideMainMenuEntry; ///< config hide main menu entry
static int ConfigVideoSkipLines; ///< config skip lines top/bottom
static int ConfigVideoStudioLevels; ///< config use studio levels
+static int ConfigVideo60HzMode; ///< config use 60Hz display mode
/// config deinterlace
static int ConfigVideoDeinterlace[RESOLUTIONS];
@@ -950,7 +951,7 @@ bool cSoftHdDevice::SetPlayMode(ePlayMode play_mode)
Suspend(1, 1, 0);
return true;
default:
- dsyslog("[softhddev]playmode not implemented... %d\n", play_mode);
+ dsyslog("[softhddev] playmode not implemented... %d\n", play_mode);
break;
}
::SetPlayMode();
@@ -1469,98 +1470,102 @@ bool cPluginSoftHdDevice::SetupParse(const char *name, const char *value)
//dsyslog("[softhddev]%s: '%s' = '%s'\n", __FUNCTION__, name, value);
- if (!strcmp(name, "MakePrimary")) {
+ if (!strcasecmp(name, "MakePrimary")) {
ConfigMakePrimary = atoi(value);
return true;
}
- if (!strcmp(name, "HideMainMenuEntry")) {
+ if (!strcasecmp(name, "HideMainMenuEntry")) {
ConfigHideMainMenuEntry = atoi(value);
return true;
}
- if (!strcmp(name, "SkipLines")) {
+ if (!strcasecmp(name, "SkipLines")) {
VideoSetSkipLines(ConfigVideoSkipLines = atoi(value));
return true;
}
- if (!strcmp(name, "StudioLevels")) {
+ if (!strcasecmp(name, "StudioLevels")) {
VideoSetStudioLevels(ConfigVideoStudioLevels = atoi(value));
return true;
}
+ if (!strcasecmp(name, "60HzMode")) {
+ VideoSet60HzMode(ConfigVideo60HzMode = atoi(value));
+ return true;
+ }
for (i = 0; i < RESOLUTIONS; ++i) {
char buf[128];
snprintf(buf, sizeof(buf), "%s.%s", Resolution[i], "Scaling");
- if (!strcmp(name, buf)) {
+ if (!strcasecmp(name, buf)) {
ConfigVideoScaling[i] = atoi(value);
VideoSetScaling(ConfigVideoScaling);
return true;
}
snprintf(buf, sizeof(buf), "%s.%s", Resolution[i], "Deinterlace");
- if (!strcmp(name, buf)) {
+ if (!strcasecmp(name, buf)) {
ConfigVideoDeinterlace[i] = atoi(value);
VideoSetDeinterlace(ConfigVideoDeinterlace);
return true;
}
snprintf(buf, sizeof(buf), "%s.%s", Resolution[i],
"SkipChromaDeinterlace");
- if (!strcmp(name, buf)) {
+ if (!strcasecmp(name, buf)) {
ConfigVideoSkipChromaDeinterlace[i] = atoi(value);
VideoSetSkipChromaDeinterlace(ConfigVideoSkipChromaDeinterlace);
return true;
}
snprintf(buf, sizeof(buf), "%s.%s", Resolution[i], "InverseTelecine");
- if (!strcmp(name, buf)) {
+ if (!strcasecmp(name, buf)) {
ConfigVideoInverseTelecine[i] = atoi(value);
VideoSetInverseTelecine(ConfigVideoInverseTelecine);
return true;
}
snprintf(buf, sizeof(buf), "%s.%s", Resolution[i], "Denoise");
- if (!strcmp(name, buf)) {
+ if (!strcasecmp(name, buf)) {
ConfigVideoDenoise[i] = atoi(value);
VideoSetDenoise(ConfigVideoDenoise);
return true;
}
snprintf(buf, sizeof(buf), "%s.%s", Resolution[i], "Sharpen");
- if (!strcmp(name, buf)) {
+ if (!strcasecmp(name, buf)) {
ConfigVideoSharpen[i] = atoi(value);
VideoSetSharpen(ConfigVideoSharpen);
return true;
}
}
- if (!strcmp(name, "AudioDelay")) {
+ if (!strcasecmp(name, "AudioDelay")) {
VideoSetAudioDelay(ConfigVideoAudioDelay = atoi(value));
return true;
}
- if (!strcmp(name, "AudioPassthrough")) {
+ if (!strcasecmp(name, "AudioPassthrough")) {
CodecSetAudioPassthrough(ConfigAudioPassthrough = atoi(value));
return true;
}
- if (!strcmp(name, "AudioDownmix")) {
+ if (!strcasecmp(name, "AudioDownmix")) {
CodecSetAudioDownmix(ConfigAudioDownmix = atoi(value));
return true;
}
- if (!strcmp(name, "AutoCrop.Interval")) {
+ if (!strcasecmp(name, "AutoCrop.Interval")) {
VideoSetAutoCrop(ConfigAutoCropInterval =
atoi(value), ConfigAutoCropDelay, ConfigAutoCropTolerance);
return true;
}
- if (!strcmp(name, "AutoCrop.Delay")) {
+ if (!strcasecmp(name, "AutoCrop.Delay")) {
VideoSetAutoCrop(ConfigAutoCropInterval, ConfigAutoCropDelay =
atoi(value), ConfigAutoCropTolerance);
return true;
}
- if (!strcmp(name, "AutoCrop.Tolerance")) {
+ if (!strcasecmp(name, "AutoCrop.Tolerance")) {
VideoSetAutoCrop(ConfigAutoCropInterval, ConfigAutoCropDelay,
ConfigAutoCropTolerance = atoi(value));
return true;
}
- if (!strcmp(name, "Suspend.Close")) {
+ if (!strcasecmp(name, "Suspend.Close")) {
ConfigSuspendClose = atoi(value);
return true;
}
- if (!strcmp(name, "Suspend.X11")) {
+ if (!strcasecmp(name, "Suspend.X11")) {
ConfigSuspendX11 = atoi(value);
return true;
}
diff --git a/video.c b/video.c
index a147988..9f8575e 100644
--- a/video.c
+++ b/video.c
@@ -8914,6 +8914,17 @@ int VideoSetGeometry(const char *geometry)
return 0;
}
+/// Set 60hz display mode.
+///
+/// Pull up 50 Hz video for 60 Hz display.
+///
+/// @param onoff enable / disable the 60 Hz mode.
+///
+void VideoSet60HzMode(int onoff)
+{
+ Video60HzMode = onoff;
+}
+
///
/// Set video output position.
///
diff --git a/video.h b/video.h
index 90c8c32..3c74730 100644
--- a/video.h
+++ b/video.h
@@ -80,6 +80,9 @@ extern void VideoDisplayWakeup(void);
/// Set video geometry.
extern int VideoSetGeometry(const char *);
+ /// Set 60Hz display mode.
+extern void VideoSet60HzMode(int);
+
/// Set video output position.
extern void VideoSetOutputPosition(int, int, int, int);