-from Components.config import config, ConfigSubDict, ConfigSelection
+from Components.config import config, ConfigSubDict, ConfigSelection, ConfigNothing, NoSave
from Tools.CList import CList
from Tools.HardwareInfo import HardwareInfo
+import os
# VideoHardware is the interface to /proc/stb/video.
class VideoHardware:
config.av.videomode[port] = ConfigSelection(choices = modelist)
config.av.videoport = ConfigSelection(choices = portlist)
+ if os.path.exists("/proc/stb/video/hdmi_colorspace"):
+ def setHdmiColorspace(config):
+ try:
+ print "set HDMI Colorspace : ",config.value
+ f = open("/proc/stb/video/hdmi_colorspace", "w")
+ f.write(config.value)
+ f.close()
+ except IOError:
+ print "set HDMI Colorspace failed!"
+ hdmicolorspace_choices = {}
+ hdmicolorspace_choices["Edid(Auto)"] = _("Auto")
+ hdmicolorspace_choices["Hdmi_Rgb"] = _("RGB")
+ config.av.hdmicolorspace = ConfigSelection(choices = hdmicolorspace_choices, default = "Edid(Auto)")
+ config.av.hdmicolorspace.addNotifier(setHdmiColorspace)
+ else:
+ config.av.hdmicolorspace = NoSave(ConfigNothing())
+
def changedVideomode(self, configElement):
if self.is_init:
return
{"idx":7, "level":0, "text":"Color Format", "item":"config.av.colorformat"},
{"idx":8, "level":1, "text":"WSS on 4:3", "item":"config.av.wss"},
{"idx":9, "level":1, "text":"Auto scart switching", "requires":"ScartSwitch", "item":"config.av.vcrswitch"},
+ {"idx":10, "level":1, "text":"HDMI Colorspace", "item":"config.av.hdmicolorspace"},
{"idx":0, "level":1, "text":"Dolby Digital default", "item":"config.av.defaultac3"},
{"idx":0, "level":1, "text":"Dolby Digital / DTS downmix", "requires":"CanDownmixAC3", "item":"config.av.downmix_ac3"},
{"idx":0, "level":1, "text":"PCM Multichannel", "requires":"CanPcmMultichannel", "item":"config.av.pcm_multichannel"},
# Color Format, WSS on 4:3, Auto scart switching
elif (idx == 7 or idx == 8 or idx == 9) and not current_port == "Scart":
continue
+ elif (idx == 10) and not current_port == "DVI": # HDMI Colorspace
+ continue
if idx == 0 and item_level == 1: # audio
self.audio_cfg.append(item_text)