Am 03.01.2013 07:32, schrieb Ulrich Pegelow: > Am 26.12.2012 19:18, schrieb Tobias Ellinghaus: >> Am Mittwoch, 26. Dezember 2012, 18:04:31 schrub Ulrich Pegelow: >>> Hi guys, >> >> Hi. >> >> [...] >> >>> For that reason I developed a general dithering module which comes late >>> in pixelpipe, just before gamma. It supports random dither and error >>> diffusion (Floyd-Steinberg). The latter with just a few output options. >>> I left some room for future enhancements. Namely one could think about >>> dithering into a user-defined color palette and such. >> >> Very nice. Since I had general banding issues lately I thought about >> something >> like that, too. My idea was to make it more like a core feature (technically >> it would probably sit in the code that changes color depth from float to >> $WHATEVER) and trigger it when exporting to anything but 32bit float AND >> some >> option in the export module is checked. Not sure if that is a good idea, but >> dithering certainly isn't needed when exporting to high bit depth formats. >> > > After our discussion yesterday on IRC here comes a proposal. > > I suggest to add a dither option "floyd-steinberg auto" to the module. > This should be the new default value, and module dithering should also > be switched on by default - similarly to module sharpen. > > When in auto mode, the module receives the desired output format via a > value that is put in piece->pipe when the pixelpipe is initialized. This > way we could transparently handle all standard cases without needed > actions on users side. Display output, JPEG and such are dithered to > 8-bit. 16-bit TIFFs and PNGs are handled properly and 32-bit float > openEXR are not dithered at all. > > As this would be handled in a normal module, users are still free to set > other defaults (like b&w dithering) and we are free to add new creative > dithering techniques in future (like dithering into indexed colors). > > Not fully sure in which module group dithering should go. Maybe into the > correction group. Most frequently the module is needed to avoid banding > artifacts - from user's perspective that's a correction. >
Update: implementation can be found in branch dither. Ulrich ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_122712 _______________________________________________ darktable-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/darktable-devel
