1 from Components.config import config, ConfigSubsection, ConfigSlider, ConfigSelection, ConfigNothing, NoSave
2 from Tools.CList import CList
3 from os import path as os_path
4 # The "VideoEnhancement" is the interface to /proc/stb/vmpeg/0.
6 class VideoEnhancement:
10 self.last_modes_preferred = [ ]
13 def createConfig(self, *args):
14 config.pep = ConfigSubsection()
15 config.pep.configsteps = NoSave(ConfigSelection(choices=[1, 5, 10, 25], default = 1))
17 if os_path.exists("/proc/stb/vmpeg/0/pep_contrast"):
18 def setContrast(config):
19 myval = int(config.value*256)
21 print "--> setting contrast to: %0.8X" % myval
22 open("/proc/stb/vmpeg/0/pep_contrast", "w").write("%0.8X" % myval)
24 print "couldn't write pep_contrast."
26 if not VideoEnhancement.firstRun:
27 self.setConfiguredValues()
29 config.pep.contrast = ConfigSlider(default=128, limits=(0,256))
30 config.pep.contrast.addNotifier(setContrast)
32 config.pep.contrast = NoSave(ConfigNothing())
34 if os_path.exists("/proc/stb/vmpeg/0/pep_saturation"):
35 def setSaturation(config):
36 myval = int(config.value*256)
38 print "--> setting saturation to: %0.8X" % myval
39 open("/proc/stb/vmpeg/0/pep_saturation", "w").write("%0.8X" % myval)
41 print "couldn't write pep_saturaion."
43 if not VideoEnhancement.firstRun:
44 self.setConfiguredValues()
46 config.pep.saturation = ConfigSlider(default=128, limits=(0,256))
47 config.pep.saturation.addNotifier(setSaturation)
49 config.pep.saturation = NoSave(ConfigNothing())
51 if os_path.exists("/proc/stb/vmpeg/0/pep_hue"):
53 myval = int(config.value*256)
55 print "--> setting hue to: %0.8X" % myval
56 open("/proc/stb/vmpeg/0/pep_hue", "w").write("%0.8X" % myval)
58 print "couldn't write pep_hue."
60 if not VideoEnhancement.firstRun:
61 self.setConfiguredValues()
63 config.pep.hue = ConfigSlider(default=128, limits=(0,256))
64 config.pep.hue.addNotifier(setHue)
66 config.pep.hue = NoSave(ConfigNothing())
68 if os_path.exists("/proc/stb/vmpeg/0/pep_brightness"):
69 def setBrightness(config):
70 myval = int(config.value*256)
72 print "--> setting brightness to: %0.8X" % myval
73 open("/proc/stb/vmpeg/0/pep_brightness", "w").write("%0.8X" % myval)
75 print "couldn't write pep_brightness."
77 if not VideoEnhancement.firstRun:
78 self.setConfiguredValues()
80 config.pep.brightness = ConfigSlider(default=128, limits=(0,256))
81 config.pep.brightness.addNotifier(setBrightness)
83 config.pep.brightness = NoSave(ConfigNothing())
85 if os_path.exists("/proc/stb/vmpeg/0/pep_block_noise_reduction"):
86 def setBlock_noise_reduction(config):
87 myval = int(config.value)
89 print "--> setting block_noise_reduction to: %0.8X" % myval
90 open("/proc/stb/vmpeg/0/pep_block_noise_reduction", "w").write("%0.8X" % myval)
92 print "couldn't write pep_block_noise_reduction."
94 if not VideoEnhancement.firstRun:
95 self.setConfiguredValues()
97 config.pep.block_noise_reduction = ConfigSlider(default=0, limits=(0,5))
98 config.pep.block_noise_reduction.addNotifier(setBlock_noise_reduction)
100 config.pep.block_noise_reduction = NoSave(ConfigNothing())
102 if os_path.exists("/proc/stb/vmpeg/0/pep_mosquito_noise_reduction"):
103 def setMosquito_noise_reduction(config):
104 myval = int(config.value)
106 print "--> setting mosquito_noise_reduction to: %0.8X" % myval
107 open("/proc/stb/vmpeg/0/pep_mosquito_noise_reduction", "w").write("%0.8X" % myval)
109 print "couldn't write pep_mosquito_noise_reduction."
111 if not VideoEnhancement.firstRun:
112 self.setConfiguredValues()
114 config.pep.mosquito_noise_reduction = ConfigSlider(default=0, limits=(0,5))
115 config.pep.mosquito_noise_reduction.addNotifier(setMosquito_noise_reduction)
117 config.pep.mosquito_noise_reduction = NoSave(ConfigNothing())
119 if os_path.exists("/proc/stb/vmpeg/0/pep_digital_contour_removal"):
120 def setDigital_contour_removal(config):
121 myval = int(config.value)
123 print "--> setting digital_contour_removal to: %0.8X" % myval
124 open("/proc/stb/vmpeg/0/pep_digital_contour_removal", "w").write("%0.8X" % myval)
126 print "couldn't write pep_digital_contour_removal."
128 if not VideoEnhancement.firstRun:
129 self.setConfiguredValues()
131 config.pep.digital_contour_removal = ConfigSlider(default=0, limits=(0,5))
132 config.pep.digital_contour_removal.addNotifier(setDigital_contour_removal)
134 config.pep.digital_contour_removal = NoSave(ConfigNothing())
136 if os_path.exists("/proc/stb/vmpeg/0/pep_split"):
137 def setSplitMode(config):
139 print "--> setting splitmode to:",str(config.value)
140 open("/proc/stb/vmpeg/0/pep_split", "w").write(str(config.value))
142 print "couldn't write pep_split."
144 if not VideoEnhancement.firstRun:
145 self.setConfiguredValues()
147 config.pep.split = ConfigSelection(choices={
150 "right": _("Right")},
152 config.pep.split.addNotifier(setSplitMode)
154 config.pep.split = NoSave(ConfigNothing())
156 if os_path.exists("/proc/stb/vmpeg/0/pep_sharpness"):
157 def setSharpness(config):
158 myval = int(config.value*256)
160 print "--> setting sharpness to: %0.8X" % myval
161 open("/proc/stb/vmpeg/0/pep_sharpness", "w").write("%0.8X" % myval)
163 print "couldn't write pep_sharpness."
165 if not VideoEnhancement.firstRun:
166 self.setConfiguredValues()
168 config.pep.sharpness = ConfigSlider(default=0, limits=(0,256))
169 config.pep.sharpness.addNotifier(setSharpness)
171 config.pep.sharpness = NoSave(ConfigNothing())
173 if os_path.exists("/proc/stb/vmpeg/0/pep_auto_flesh"):
174 def setAutoflesh(config):
175 myval = int(config.value)
177 print "--> setting auto_flesh to: %0.8X" % myval
178 open("/proc/stb/vmpeg/0/pep_auto_flesh", "w").write("%0.8X" % myval)
180 print "couldn't write pep_auto_flesh."
182 if not VideoEnhancement.firstRun:
183 self.setConfiguredValues()
185 config.pep.auto_flesh = ConfigSlider(default=0, limits=(0,4))
186 config.pep.auto_flesh.addNotifier(setAutoflesh)
188 config.pep.auto_flesh = NoSave(ConfigNothing())
190 if os_path.exists("/proc/stb/vmpeg/0/pep_green_boost"):
191 def setGreenboost(config):
192 myval = int(config.value)
194 print "--> setting green_boost to: %0.8X" % myval
195 open("/proc/stb/vmpeg/0/pep_green_boost", "w").write("%0.8X" % myval)
197 print "couldn't write pep_green_boost."
199 if not VideoEnhancement.firstRun:
200 self.setConfiguredValues()
202 config.pep.green_boost = ConfigSlider(default=0, limits=(0,4))
203 config.pep.green_boost.addNotifier(setGreenboost)
205 config.pep.green_boost = NoSave(ConfigNothing())
207 if os_path.exists("/proc/stb/vmpeg/0/pep_blue_boost"):
208 def setBlueboost(config):
209 myval = int(config.value)
211 print "--> setting blue_boost to: %0.8X" % myval
212 open("/proc/stb/vmpeg/0/pep_blue_boost", "w").write("%0.8X" % myval)
214 print "couldn't write pep_blue_boost."
216 if not VideoEnhancement.firstRun:
217 self.setConfiguredValues()
219 config.pep.blue_boost = ConfigSlider(default=0, limits=(0,4))
220 config.pep.blue_boost.addNotifier(setBlueboost)
222 config.pep.blue_boost = NoSave(ConfigNothing())
224 if os_path.exists("/proc/stb/vmpeg/0/pep_dynamic_contrast"):
225 def setDynamic_contrast(config):
226 myval = int(config.value)
228 print "--> setting dynamic_contrast to: %0.8X" % myval
229 open("/proc/stb/vmpeg/0/pep_dynamic_contrast", "w").write("%0.8X" % myval)
231 print "couldn't write pep_dynamic_contrast."
233 if not VideoEnhancement.firstRun:
234 self.setConfiguredValues()
236 config.pep.dynamic_contrast = ConfigSlider(default=0, limits=(0,256))
237 config.pep.dynamic_contrast.addNotifier(setDynamic_contrast)
239 config.pep.dynamic_contrast = NoSave(ConfigNothing())
242 x = config.av.scaler_sharpness.value
244 if os_path.exists("/proc/stb/vmpeg/0/pep_scaler_sharpness"):
245 def setScaler_sharpness(config):
246 myval = int(config.value)
248 print "--> setting scaler_sharpness to: %0.8X" % myval
249 open("/proc/stb/vmpeg/0/pep_scaler_sharpness", "w").write("%0.8X" % myval)
251 print "couldn't write pep_scaler_sharpness."
253 if not VideoEnhancement.firstRun:
254 self.setConfiguredValues()
256 config.av.scaler_sharpness = ConfigSlider(default=13, limits=(0,26))
257 config.av.scaler_sharpness.addNotifier(setScaler_sharpness)
259 config.av.scaler_sharpness = NoSave(ConfigNothing())
261 if VideoEnhancement.firstRun:
262 self.setConfiguredValues()
264 VideoEnhancement.firstRun = False
266 def setConfiguredValues(self):
268 print "--> applying pep values"
269 open("/proc/stb/vmpeg/0/pep_apply", "w").write("1")
271 print "couldn't apply pep values."