42 if (strcmp(Name,
"Resolution") == 0)
Resolution = atoi(Value);
44 else if (strcmp(Name,
"TvFormat") == 0)
TvFormat = atoi(Value);
45 else if (strcmp(Name,
"VideoConversion") == 0)
VideoConversion = atoi(Value);
46 else if (strcmp(Name,
"AnalogueVideo") == 0)
AnalogueVideo = atoi(Value);
47 else if (strcmp(Name,
"AudioDelay") == 0)
AudioDelay = atoi(Value);
48 else if (strcmp(Name,
"AudioDownmix") == 0)
AudioDownmix = atoi(Value);
49 else if (strcmp(Name,
"AvSyncShift") == 0)
AvSyncShift = atoi(Value);
50 else if (strcmp(Name,
"OsdSize") == 0)
OsdSize = atoi(Value);
51 else if (strcmp(Name,
"CecEnabled") == 0)
CecEnabled = atoi(Value);
52 else if (strcmp(Name,
"CecTvOn") == 0)
CecTvOn = atoi(Value);
53 else if (strcmp(Name,
"CecTvOff") == 0)
CecTvOff = atoi(Value);
54 else if (strcmp(Name,
"RemoteProtocol") == 0)
RemoteProtocol = atoi(Value);
55 else if (strcmp(Name,
"RemoteAddress") == 0)
RemoteAddress = atoi(Value);
56 else if (strcmp(Name,
"HighLevelOsd") == 0)
HighLevelOsd = atoi(Value);
57 else if (strcmp(Name,
"TrueColorOsd") == 0)
TrueColorOsd = atoi(Value);
58 else if (strcmp(Name,
"TrueColorFormat") == 0)
TrueColorFormat = atoi(Value);
59 else if (strcmp(Name,
"HideMainMenu") == 0)
HideMainMenu = atoi(Value);
80 PixelAspect = 16.0 / 9.0;
82 PixelAspect = 4.0 / 3.0;
87 PixelAspect = 16.0 / 9.0;
92 PixelAspect = 16.0 / 9.0;
97 PixelAspect = 16.0 / 9.0;
102 PixelAspect = 4.0 / 3.0;
104 PixelAspect /= double(Width) / Height;
169 return tr(
"Automatic");
171 return tr(
"Letterbox 16/9");
173 return tr(
"Letterbox 14/9");
175 return tr(
"Pillarbox");
177 return tr(
"CentreCutOut");
179 return tr(
"Always 16/9");
181 return tr(
"Zoom 16/9");
198 const int kResolutions = 4;
199 const int kVideoModeAdaptions = 4;
200 const int kTvFormats = 2;
201 const int kAnalogueVideos = 4;
202 const int kAudioDownmixes = 5;
203 const int kOsdSizes = 5;
204 const int kRemoteProtocols = 3;
205 const int kTrueColorFormats = 3;
207 static const char * ResolutionItems[kResolutions] =
215 static const char * VideoModeAdaptionItems[kVideoModeAdaptions] =
223 static const char * TvFormatItems[kTvFormats] =
229 static const char * AnalogueVideoItems[kAnalogueVideos] =
237 static const char * AudioDownmixItems[kAudioDownmixes] =
246 static const char * OsdSizeItems[kOsdSizes] =
248 tr(
"Follow resolution"),
255 static const char * RemoteProtocolItems[] =
262 static const char * TrueColorFormatItems[kTrueColorFormats] =
269 mHdffCmdIf = pHdffCmdIf;
273 Add(
new cMenuEditStraItem(
tr(
"Video Mode Adaption"), &mNewHdffSetup.VideoModeAdaption, kVideoModeAdaptions, VideoModeAdaptionItems));
274 mTvFormatItem =
new cMenuEditStraItem(
tr(
"TV format"), &mNewHdffSetup.TvFormat, kTvFormats, TvFormatItems);
276 Add(
new cMenuEditStraItem(
tr(
"Analogue Video"), &mNewHdffSetup.AnalogueVideo, kAnalogueVideos, AnalogueVideoItems));
278 Add(
new cMenuEditStraItem(
tr(
"Audio Downmix"), &mNewHdffSetup.AudioDownmix, kAudioDownmixes, AudioDownmixItems));
284 Add(
new cMenuEditStraItem(
tr(
"Remote Control Protocol"), &mNewHdffSetup.RemoteProtocol, kRemoteProtocols, RemoteProtocolItems));
288 Add(
new cMenuEditStraItem(
tr(
"True Color format"), &mNewHdffSetup.TrueColorFormat, kTrueColorFormats, TrueColorFormatItems));
291 mVideoConversion = 0;
294 switch (mNewHdffSetup.VideoConversion)
297 mVideoConversion = 0;
300 mVideoConversion = 1;
303 mVideoConversion = 2;
306 mVideoConversion = 3;
312 switch (mNewHdffSetup.VideoConversion)
315 mVideoConversion = 0;
318 mVideoConversion = 1;
321 mVideoConversion = 2;
325 BuildVideoConversionItem();
334 const int kVideoConversions4by3 = 3;
335 const int kVideoConversions16by9 = 4;
337 static const char * VideoConversionItems4by3[kVideoConversions4by3] =
339 tr(
"Letterbox 16/9"),
340 tr(
"Letterbox 14/9"),
344 static const char * VideoConversionItems16by9[kVideoConversions16by9] =
358 kVideoConversions16by9, VideoConversionItems16by9);
363 kVideoConversions4by3, VideoConversionItems4by3);
365 Add(item,
false, mTvFormatItem);
372 switch (mVideoConversion)
390 switch (mVideoConversion)
403 SetupStore(
"Resolution", mNewHdffSetup.Resolution);
404 SetupStore(
"VideoModeAdaption", mNewHdffSetup.VideoModeAdaption);
405 SetupStore(
"TvFormat", mNewHdffSetup.TvFormat);
406 SetupStore(
"VideoConversion", mNewHdffSetup.VideoConversion);
407 SetupStore(
"AnalogueVideo", mNewHdffSetup.AnalogueVideo);
408 SetupStore(
"AudioDelay", mNewHdffSetup.AudioDelay);
409 SetupStore(
"AudioDownmix", mNewHdffSetup.AudioDownmix);
410 SetupStore(
"AvSyncShift", mNewHdffSetup.AvSyncShift);
411 SetupStore(
"OsdSize", mNewHdffSetup.OsdSize);
412 SetupStore(
"CecEnabled", mNewHdffSetup.CecEnabled);
413 SetupStore(
"CecTvOn", mNewHdffSetup.CecTvOn);
414 SetupStore(
"CecTvOff", mNewHdffSetup.CecTvOff);
415 SetupStore(
"RemoteProtocol", mNewHdffSetup.RemoteProtocol);
416 SetupStore(
"RemoteAddress", mNewHdffSetup.RemoteAddress);
417 SetupStore(
"HighLevelOsd", mNewHdffSetup.HighLevelOsd);
418 SetupStore(
"TrueColorOsd", mNewHdffSetup.TrueColorOsd);
419 SetupStore(
"TrueColorFormat", mNewHdffSetup.TrueColorFormat);
420 SetupStore(
"HideMainMenu", mNewHdffSetup.HideMainMenu);
424 if (mNewHdffSetup.Resolution != gHdffSetup.
Resolution)
426 mHdffCmdIf->CmdHdmiSetVideoMode(mNewHdffSetup.GetVideoMode());
430 mNewHdffSetup.SetVideoFormat(mHdffCmdIf);
432 mHdffCmdIf->CmdAvSetAudioDelay(mNewHdffSetup.AudioDelay);
434 mHdffCmdIf->CmdAvSetSyncShift(mNewHdffSetup.AvSyncShift);
436 mHdffCmdIf->CmdMuxSetVideoOut((
HdffVideoOut_t) mNewHdffSetup.AnalogueVideo);
438 memset(&hdmiConfig, 0,
sizeof(hdmiConfig));
441 hdmiConfig.
CecEnabled = mNewHdffSetup.CecEnabled;
443 mHdffCmdIf->CmdHdmiConfigure(&hdmiConfig);
446 mHdffCmdIf->CmdRemoteSetAddressFilter(mNewHdffSetup.RemoteAddress >= 0, mNewHdffSetup.RemoteAddress);
449 gHdffSetup = mNewHdffSetup;
463 item = Get(Current());
464 if (item == mTvFormatItem)
466 mVideoConversion = 0;
467 BuildVideoConversionItem();
const char * GetVideoConversionString(void)
virtual eOSState ProcessKey(eKeys Key)
HdffVideoModeAdaption_t VideoModeAdaption
void Add(u_short Pid, u_char Tid, u_char Mask=0xFF, bool Sticky=false)
Adds the given filter data to this filter.
const int kResolution720p
void CmdAvSetVideoFormat(uint8_t DecoderIndex, const HdffVideoFormat_t *pVideoFormat)
const int kResolution576i
HdffVideoMode_t GetVideoMode(void)
const int kResolution576p
void GetOsdSize(int &Width, int &Height, double &PixelAspect)
void Del(cListObject *Object, bool DeleteObject=true)
void BuildVideoConversionItem(void)
bool SetupParse(const char *Name, const char *Value)
const int kResolution1080i
virtual ~cHdffSetupPage(void)
cHdffSetupPage(HDFF::cHdffCmdIf *pHdffCmdIf)
void SetNextVideoConversion(void)
void SetVideoFormat(HDFF::cHdffCmdIf *HdffCmdIf)