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

Reply via email to