mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Implemented setup option "DVB/Video display format"
This commit is contained in:
parent
51f41252cf
commit
e8bd7c2369
2
HISTORY
2
HISTORY
@ -3430,3 +3430,5 @@ Video Disk Recorder Revision History
|
||||
with the larger buffer reserve (thanks to Marco Schlüßler).
|
||||
- Fixed the call to SetVideoFormat() in cDvbDevice::cDvbDevice() (parameter is _bool_).
|
||||
- Added support for setting the video display mode (thanks to Marco Schlüßler).
|
||||
- The new setup option "DVB/Video display format" can be used to define which display
|
||||
format to use for playing wide screen video on a 4:3 tv set.
|
||||
|
4
MANUAL
4
MANUAL
@ -588,6 +588,10 @@ Version 1.2
|
||||
from the primary DVB interface, so that the viewer will
|
||||
be disturbed as little as possible.
|
||||
|
||||
Video display format = letterbox
|
||||
The display format to use for playing wide screen video on
|
||||
a 4:3 tv set ("pan & scan", "letterbox" or "center cut out").
|
||||
|
||||
Video format = 4:3 The video format (or aspect ratio) of the tv set in use
|
||||
(4:3 or 16:9).
|
||||
|
||||
|
5
config.c
5
config.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: config.c 1.132 2005/02/05 10:43:04 kls Exp $
|
||||
* $Id: config.c 1.133 2005/02/20 12:52:59 kls Exp $
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
@ -279,6 +279,7 @@ cSetup::cSetup(void)
|
||||
UseVps = 0;
|
||||
VpsMargin = 120;
|
||||
RecordingDirs = 1;
|
||||
VideoDisplayFormat = 1;
|
||||
VideoFormat = 0;
|
||||
UpdateChannels = 4;
|
||||
UseDolbyDigital = 1;
|
||||
@ -435,6 +436,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
|
||||
else if (!strcasecmp(Name, "UseVps")) UseVps = atoi(Value);
|
||||
else if (!strcasecmp(Name, "VpsMargin")) VpsMargin = atoi(Value);
|
||||
else if (!strcasecmp(Name, "RecordingDirs")) RecordingDirs = atoi(Value);
|
||||
else if (!strcasecmp(Name, "VideoDisplayFormat")) VideoDisplayFormat = atoi(Value);
|
||||
else if (!strcasecmp(Name, "VideoFormat")) VideoFormat = atoi(Value);
|
||||
else if (!strcasecmp(Name, "UpdateChannels")) UpdateChannels = atoi(Value);
|
||||
else if (!strcasecmp(Name, "UseDolbyDigital")) UseDolbyDigital = atoi(Value);
|
||||
@ -498,6 +500,7 @@ bool cSetup::Save(void)
|
||||
Store("UseVps", UseVps);
|
||||
Store("VpsMargin", VpsMargin);
|
||||
Store("RecordingDirs", RecordingDirs);
|
||||
Store("VideoDisplayFormat", VideoDisplayFormat);
|
||||
Store("VideoFormat", VideoFormat);
|
||||
Store("UpdateChannels", UpdateChannels);
|
||||
Store("UseDolbyDigital", UseDolbyDigital);
|
||||
|
3
config.h
3
config.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: config.h 1.214 2005/02/19 11:35:16 kls Exp $
|
||||
* $Id: config.h 1.215 2005/02/20 12:50:37 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
@ -237,6 +237,7 @@ public:
|
||||
int UseVps;
|
||||
int VpsMargin;
|
||||
int RecordingDirs;
|
||||
int VideoDisplayFormat;
|
||||
int VideoFormat;
|
||||
int UpdateChannels;
|
||||
int UseDolbyDigital;
|
||||
|
4
device.c
4
device.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: device.c 1.94 2005/02/20 11:41:03 kls Exp $
|
||||
* $Id: device.c 1.95 2005/02/20 13:35:38 kls Exp $
|
||||
*/
|
||||
|
||||
#include "device.h"
|
||||
@ -859,7 +859,7 @@ void cDevice::Detach(cPlayer *Player)
|
||||
player->device = NULL;
|
||||
player = NULL;
|
||||
SetPlayMode(pmNone);
|
||||
SetVideoDisplayFormat(vdfLetterBox);
|
||||
SetVideoDisplayFormat(eVideoDisplayFormat(Setup.VideoDisplayFormat));
|
||||
Audios.ClearAudio();
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: dvbdevice.c 1.123 2005/02/20 11:31:39 kls Exp $
|
||||
* $Id: dvbdevice.c 1.124 2005/02/20 13:35:28 kls Exp $
|
||||
*/
|
||||
|
||||
#include "dvbdevice.h"
|
||||
@ -626,7 +626,7 @@ void cDvbDevice::SetVideoFormat(bool VideoFormat16_9)
|
||||
{
|
||||
if (HasDecoder()) {
|
||||
CHECK(ioctl(fd_video, VIDEO_SET_FORMAT, VideoFormat16_9 ? VIDEO_FORMAT_16_9 : VIDEO_FORMAT_4_3));
|
||||
SetVideoDisplayFormat(vdfLetterBox);
|
||||
SetVideoDisplayFormat(eVideoDisplayFormat(Setup.VideoDisplayFormat));
|
||||
}
|
||||
}
|
||||
|
||||
|
86
i18n.c
86
i18n.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: i18n.c 1.177 2005/02/12 10:26:51 kls Exp $
|
||||
* $Id: i18n.c 1.178 2005/02/20 13:39:33 kls Exp $
|
||||
*
|
||||
* Translations provided by:
|
||||
*
|
||||
@ -3094,6 +3094,90 @@ const tI18nPhrase Phrases[] = {
|
||||
"Esmane DVB seade",
|
||||
"Primær DVB enhed",
|
||||
},
|
||||
{ "Setup.DVB$Video display format",
|
||||
"Video Anzeige-Format",
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
"",//TODO
|
||||
},
|
||||
{ "pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
"pan&scan",
|
||||
},
|
||||
{ "letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
"letterbox",
|
||||
},
|
||||
{ "center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
"center cut out",
|
||||
},
|
||||
{ "Setup.DVB$Video format",
|
||||
"Video Format",
|
||||
"Video format",
|
||||
|
10
menu.c
10
menu.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: menu.c 1.340 2005/02/06 11:33:13 kls Exp $
|
||||
* $Id: menu.c 1.341 2005/02/20 13:39:49 kls Exp $
|
||||
*/
|
||||
|
||||
#include "menu.h"
|
||||
@ -1915,6 +1915,7 @@ private:
|
||||
int originalNumAudioLanguages;
|
||||
int numAudioLanguages;
|
||||
void Setup(void);
|
||||
const char *videoDisplayFormatTexts[3];
|
||||
const char *updateChannelsTexts[5];
|
||||
public:
|
||||
cMenuSetupDVB(void);
|
||||
@ -1926,6 +1927,9 @@ cMenuSetupDVB::cMenuSetupDVB(void)
|
||||
for (numAudioLanguages = 0; numAudioLanguages < I18nNumLanguages && data.AudioLanguages[numAudioLanguages] >= 0; numAudioLanguages++)
|
||||
;
|
||||
originalNumAudioLanguages = numAudioLanguages;
|
||||
videoDisplayFormatTexts[0] = tr("pan&scan");
|
||||
videoDisplayFormatTexts[1] = tr("letterbox");
|
||||
videoDisplayFormatTexts[2] = tr("center cut out");
|
||||
updateChannelsTexts[0] = tr("no");
|
||||
updateChannelsTexts[1] = tr("names only");
|
||||
updateChannelsTexts[2] = tr("names and PIDs");
|
||||
@ -1943,6 +1947,7 @@ void cMenuSetupDVB::Setup(void)
|
||||
Clear();
|
||||
|
||||
Add(new cMenuEditIntItem( tr("Setup.DVB$Primary DVB interface"), &data.PrimaryDVB, 1, cDevice::NumDevices()));
|
||||
Add(new cMenuEditStraItem(tr("Setup.DVB$Video display format"), &data.VideoDisplayFormat, 3, videoDisplayFormatTexts));
|
||||
Add(new cMenuEditBoolItem(tr("Setup.DVB$Video format"), &data.VideoFormat, "4:3", "16:9"));
|
||||
Add(new cMenuEditBoolItem(tr("Setup.DVB$Use Dolby Digital"), &data.UseDolbyDigital));
|
||||
Add(new cMenuEditStraItem(tr("Setup.DVB$Update channels"), &data.UpdateChannels, 5, updateChannelsTexts));
|
||||
@ -1957,6 +1962,7 @@ void cMenuSetupDVB::Setup(void)
|
||||
eOSState cMenuSetupDVB::ProcessKey(eKeys Key)
|
||||
{
|
||||
int oldPrimaryDVB = ::Setup.PrimaryDVB;
|
||||
int oldVideoDisplayFormat = ::Setup.VideoDisplayFormat;
|
||||
bool oldVideoFormat = ::Setup.VideoFormat;
|
||||
int oldnumAudioLanguages = numAudioLanguages;
|
||||
eOSState state = cMenuSetupBase::ProcessKey(Key);
|
||||
@ -1984,6 +1990,8 @@ eOSState cMenuSetupDVB::ProcessKey(eKeys Key)
|
||||
if (state == osBack && Key == kOk) {
|
||||
if (::Setup.PrimaryDVB != oldPrimaryDVB)
|
||||
state = osSwitchDvb;
|
||||
if (::Setup.VideoDisplayFormat != oldVideoDisplayFormat)
|
||||
cDevice::PrimaryDevice()->SetVideoDisplayFormat(eVideoDisplayFormat(::Setup.VideoDisplayFormat));
|
||||
if (::Setup.VideoFormat != oldVideoFormat)
|
||||
cDevice::PrimaryDevice()->SetVideoFormat(::Setup.VideoFormat);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user