X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/eafe6abdba24ab9f4336baf0eb9940981e2969b1..c39e992eac597c341dfef198d1179f84efa0791e:/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py diff --git a/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py b/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py index 7db02556..3fbef7c2 100755 --- a/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py +++ b/lib/python/Plugins/SystemPlugins/VideoEnhancement/VideoEnhancement.py @@ -1,124 +1,156 @@ -from enigma import eTimer -from Components.config import config, ConfigSubsection, ConfigSlider, ConfigSelection, ConfigYesNo, NoSave +from Components.config import config, ConfigSubsection, ConfigSlider, ConfigSelection, ConfigNothing, NoSave from Tools.CList import CList -from Tools.HardwareInfo import HardwareInfo -import os +from os import path as os_path # The "VideoEnhancement" is the interface to /proc/stb/vmpeg/0. class VideoEnhancement: - - firstRun = None + firstRun = True def __init__(self): self.last_modes_preferred = [ ] - self.on_hotplug = CList() self.createConfig() def createConfig(self, *args): - hw_type = HardwareInfo().get_device_name() config.pep = ConfigSubsection() - config.pep.configsteps = NoSave(ConfigSelection(choices=[1, 5, 10, 25], default = 1)) - def setContrast(config): - myval = int(config.value*256) - try: - print "--> setting contrast to: %0.8X" % myval - open("/proc/stb/vmpeg/0/pep_contrast", "w").write("%0.8X" % myval) - except IOError: - print "couldn't write pep_contrast." - - if VideoEnhancement.firstRun is False: - self.setConfiguredValues() - - config.pep.contrast = ConfigSlider(default=128, limits=(0,256)) - config.pep.contrast.addNotifier(setContrast) - - def setSaturation(config): - myval = int(config.value*256) - try: - print "--> setting saturation to: %0.8X" % myval - open("/proc/stb/vmpeg/0/pep_saturation", "w").write("%0.8X" % myval) - except IOError: - print "couldn't write pep_saturaion." - - if VideoEnhancement.firstRun is False: - self.setConfiguredValues() - - config.pep.saturation = ConfigSlider(default=128, limits=(0,256)) - config.pep.saturation.addNotifier(setSaturation) - - def setHue(config): - myval = int(config.value*256) - try: - print "--> setting hue to: %0.8X" % myval - open("/proc/stb/vmpeg/0/pep_hue", "w").write("%0.8X" % myval) - except IOError: - print "couldn't write pep_hue." - - if VideoEnhancement.firstRun is False: - self.setConfiguredValues() - - config.pep.hue = ConfigSlider(default=128, limits=(0,256)) - config.pep.hue.addNotifier(setHue) - - def setBrightness(config): - myval = int(config.value*256) - try: - print "--> setting brightness to: %0.8X" % myval - open("/proc/stb/vmpeg/0/pep_brightness", "w").write("%0.8X" % myval) - except IOError: - print "couldn't write pep_brightness." - - if VideoEnhancement.firstRun is False: - self.setConfiguredValues() - - config.pep.brightness = ConfigSlider(default=128, limits=(0,256)) - config.pep.brightness.addNotifier(setBrightness) - - def setBlock_noise_reduction(config): - myval = int(config.value) - try: - print "--> setting block_noise_reduction to: %0.8X" % myval - open("/proc/stb/vmpeg/0/pep_block_noise_reduction", "w").write("%0.8X" % myval) - except IOError: - print "couldn't write pep_block_noise_reduction." - - if VideoEnhancement.firstRun is False: - self.setConfiguredValues() - - config.pep.block_noise_reduction = ConfigSlider(default=0, limits=(0,5)) - config.pep.block_noise_reduction.addNotifier(setBlock_noise_reduction) - - def setMosquito_noise_reduction(config): - myval = int(config.value) - try: - print "--> setting mosquito_noise_reduction to: %0.8X" % myval - open("/proc/stb/vmpeg/0/pep_mosquito_noise_reduction", "w").write("%0.8X" % myval) - except IOError: - print "couldn't write pep_mosquito_noise_reduction." - - if VideoEnhancement.firstRun is False: - self.setConfiguredValues() - - config.pep.mosquito_noise_reduction = ConfigSlider(default=0, limits=(0,5)) - config.pep.mosquito_noise_reduction.addNotifier(setMosquito_noise_reduction) - - def setDigital_contour_removal(config): - myval = int(config.value) - try: - print "--> setting digital_contour_removal to: %0.8X" % myval - open("/proc/stb/vmpeg/0/pep_digital_contour_removal", "w").write("%0.8X" % myval) - except IOError: - print "couldn't write pep_digital_contour_removal." - - if VideoEnhancement.firstRun is False: - self.setConfiguredValues() - - config.pep.digital_contour_removal = ConfigSlider(default=0, limits=(0,5)) - config.pep.digital_contour_removal.addNotifier(setDigital_contour_removal) - - if hw_type in ( 'dm8000', 'dm500hd' ): + if os_path.exists("/proc/stb/vmpeg/0/pep_contrast"): + def setContrast(config): + myval = int(config.value*256) + try: + print "--> setting contrast to: %0.8X" % myval + open("/proc/stb/vmpeg/0/pep_contrast", "w").write("%0.8X" % myval) + except IOError: + print "couldn't write pep_contrast." + + if not VideoEnhancement.firstRun: + self.setConfiguredValues() + + config.pep.contrast = ConfigSlider(default=128, limits=(0,256)) + config.pep.contrast.addNotifier(setContrast) + else: + config.pep.contrast = NoSave(ConfigNothing()) + + if os_path.exists("/proc/stb/vmpeg/0/pep_saturation"): + def setSaturation(config): + myval = int(config.value*256) + try: + print "--> setting saturation to: %0.8X" % myval + open("/proc/stb/vmpeg/0/pep_saturation", "w").write("%0.8X" % myval) + except IOError: + print "couldn't write pep_saturaion." + + if not VideoEnhancement.firstRun: + self.setConfiguredValues() + + config.pep.saturation = ConfigSlider(default=128, limits=(0,256)) + config.pep.saturation.addNotifier(setSaturation) + else: + config.pep.saturation = NoSave(ConfigNothing()) + + if os_path.exists("/proc/stb/vmpeg/0/pep_hue"): + def setHue(config): + myval = int(config.value*256) + try: + print "--> setting hue to: %0.8X" % myval + open("/proc/stb/vmpeg/0/pep_hue", "w").write("%0.8X" % myval) + except IOError: + print "couldn't write pep_hue." + + if not VideoEnhancement.firstRun: + self.setConfiguredValues() + + config.pep.hue = ConfigSlider(default=128, limits=(0,256)) + config.pep.hue.addNotifier(setHue) + else: + config.pep.hue = NoSave(ConfigNothing()) + + if os_path.exists("/proc/stb/vmpeg/0/pep_brightness"): + def setBrightness(config): + myval = int(config.value*256) + try: + print "--> setting brightness to: %0.8X" % myval + open("/proc/stb/vmpeg/0/pep_brightness", "w").write("%0.8X" % myval) + except IOError: + print "couldn't write pep_brightness." + + if not VideoEnhancement.firstRun: + self.setConfiguredValues() + + config.pep.brightness = ConfigSlider(default=128, limits=(0,256)) + config.pep.brightness.addNotifier(setBrightness) + else: + config.pep.brightness = NoSave(ConfigNothing()) + + if os_path.exists("/proc/stb/vmpeg/0/pep_block_noise_reduction"): + def setBlock_noise_reduction(config): + myval = int(config.value) + try: + print "--> setting block_noise_reduction to: %0.8X" % myval + open("/proc/stb/vmpeg/0/pep_block_noise_reduction", "w").write("%0.8X" % myval) + except IOError: + print "couldn't write pep_block_noise_reduction." + + if not VideoEnhancement.firstRun: + self.setConfiguredValues() + + config.pep.block_noise_reduction = ConfigSlider(default=0, limits=(0,5)) + config.pep.block_noise_reduction.addNotifier(setBlock_noise_reduction) + else: + config.pep.block_noise_reduction = NoSave(ConfigNothing()) + + if os_path.exists("/proc/stb/vmpeg/0/pep_mosquito_noise_reduction"): + def setMosquito_noise_reduction(config): + myval = int(config.value) + try: + print "--> setting mosquito_noise_reduction to: %0.8X" % myval + open("/proc/stb/vmpeg/0/pep_mosquito_noise_reduction", "w").write("%0.8X" % myval) + except IOError: + print "couldn't write pep_mosquito_noise_reduction." + + if not VideoEnhancement.firstRun: + self.setConfiguredValues() + + config.pep.mosquito_noise_reduction = ConfigSlider(default=0, limits=(0,5)) + config.pep.mosquito_noise_reduction.addNotifier(setMosquito_noise_reduction) + else: + config.pep.mosquito_noise_reduction = NoSave(ConfigNothing()) + + if os_path.exists("/proc/stb/vmpeg/0/pep_digital_contour_removal"): + def setDigital_contour_removal(config): + myval = int(config.value) + try: + print "--> setting digital_contour_removal to: %0.8X" % myval + open("/proc/stb/vmpeg/0/pep_digital_contour_removal", "w").write("%0.8X" % myval) + except IOError: + print "couldn't write pep_digital_contour_removal." + + if not VideoEnhancement.firstRun: + self.setConfiguredValues() + + config.pep.digital_contour_removal = ConfigSlider(default=0, limits=(0,5)) + config.pep.digital_contour_removal.addNotifier(setDigital_contour_removal) + else: + config.pep.digital_contour_removal = NoSave(ConfigNothing()) + + if os_path.exists("/proc/stb/vmpeg/0/pep_scaler_sharpness"): + def setScaler_sharpness(config): + myval = int(config.value) + try: + print "--> setting scaler_sharpness to: %0.8X" % myval + open("/proc/stb/vmpeg/0/pep_scaler_sharpness", "w").write("%0.8X" % myval) + except IOError: + print "couldn't write pep_scaler_sharpness" + + if not VideoEnhancement.firstRun: + self.setConfiguredValues() + + config.pep.scaler_sharpness = ConfigSlider(default=13, limits=(0,26)) + config.pep.scaler_sharpness.addNotifier(setScaler_sharpness) + else: + config.pep.scaler_sharpness = NoSave(ConfigNothing()) + + if os_path.exists("/proc/stb/vmpeg/0/pep_split"): def setSplitMode(config): try: print "--> setting splitmode to:",str(config.value) @@ -126,7 +158,7 @@ class VideoEnhancement: except IOError: print "couldn't write pep_split." - if VideoEnhancement.firstRun is False: + if not VideoEnhancement.firstRun: self.setConfiguredValues() config.pep.split = ConfigSelection(choices={ @@ -135,7 +167,10 @@ class VideoEnhancement: "right": _("Right")}, default = "off") config.pep.split.addNotifier(setSplitMode) + else: + config.pep.split = NoSave(ConfigNothing()) + if os_path.exists("/proc/stb/vmpeg/0/pep_sharpness"): def setSharpness(config): myval = int(config.value*256) try: @@ -144,12 +179,15 @@ class VideoEnhancement: except IOError: print "couldn't write pep_sharpness." - if VideoEnhancement.firstRun is False: + if not VideoEnhancement.firstRun: self.setConfiguredValues() config.pep.sharpness = ConfigSlider(default=0, limits=(0,256)) config.pep.sharpness.addNotifier(setSharpness) + else: + config.pep.sharpness = NoSave(ConfigNothing()) + if os_path.exists("/proc/stb/vmpeg/0/pep_auto_flesh"): def setAutoflesh(config): myval = int(config.value) try: @@ -158,12 +196,15 @@ class VideoEnhancement: except IOError: print "couldn't write pep_auto_flesh." - if VideoEnhancement.firstRun is False: + if not VideoEnhancement.firstRun: self.setConfiguredValues() config.pep.auto_flesh = ConfigSlider(default=0, limits=(0,4)) config.pep.auto_flesh.addNotifier(setAutoflesh) + else: + config.pep.auto_flesh = NoSave(ConfigNothing()) + if os_path.exists("/proc/stb/vmpeg/0/pep_green_boost"): def setGreenboost(config): myval = int(config.value) try: @@ -172,12 +213,15 @@ class VideoEnhancement: except IOError: print "couldn't write pep_green_boost." - if VideoEnhancement.firstRun is False: + if not VideoEnhancement.firstRun: self.setConfiguredValues() config.pep.green_boost = ConfigSlider(default=0, limits=(0,4)) config.pep.green_boost.addNotifier(setGreenboost) + else: + config.pep.green_boost = NoSave(ConfigNothing()) + if os_path.exists("/proc/stb/vmpeg/0/pep_blue_boost"): def setBlueboost(config): myval = int(config.value) try: @@ -186,12 +230,15 @@ class VideoEnhancement: except IOError: print "couldn't write pep_blue_boost." - if VideoEnhancement.firstRun is False: + if not VideoEnhancement.firstRun: self.setConfiguredValues() config.pep.blue_boost = ConfigSlider(default=0, limits=(0,4)) config.pep.blue_boost.addNotifier(setBlueboost) + else: + config.pep.blue_boost = NoSave(ConfigNothing()) + if os_path.exists("/proc/stb/vmpeg/0/pep_dynamic_contrast"): def setDynamic_contrast(config): myval = int(config.value) try: @@ -200,26 +247,24 @@ class VideoEnhancement: except IOError: print "couldn't write pep_dynamic_contrast." - if VideoEnhancement.firstRun is False: + if not VideoEnhancement.firstRun: self.setConfiguredValues() config.pep.dynamic_contrast = ConfigSlider(default=0, limits=(0,256)) config.pep.dynamic_contrast.addNotifier(setDynamic_contrast) + else: + config.pep.dynamic_contrast = NoSave(ConfigNothing()) + + if VideoEnhancement.firstRun: + self.setConfiguredValues() - VideoEnhancement.firstRun = True + VideoEnhancement.firstRun = False def setConfiguredValues(self): try: print "--> applying pep values" open("/proc/stb/vmpeg/0/pep_apply", "w").write("1") - VideoEnhancement.firstRun = False except IOError: print "couldn't apply pep values." - -if config.usage.setup_level.index >= 2: # expert+ - hw_type = HardwareInfo().get_device_name() - if hw_type in ( 'dm8000', 'dm800', 'dm500hd' ): - video_enhancement = VideoEnhancement() - if video_enhancement.firstRun == True: - video_enhancement.setConfiguredValues() +VideoEnhancement()