--- I want to use this chance to also discuss some points that I discussed with fellow hackers while working on this project: 0) Why use 16-Bits-per-channel all the time? Isn't this a total waste? Not when you take compression into account. To make this clearer, assume a paletted image with 5 colors and no transparency. So the data is only a set of regular chunks (color1, ..., color5) in a certain order. Compression algorithms have been designed to recognize those chunks and can even look at how these chunks interact. My testing has shown that farbfeld easily beats paletted PNG-images. Try for yourself and look at the bzipped results! There is no need for special Grayscale, Palette, RGB, 1-, 2-, 4-, 8-, 16-Bit subformats. Just store 16-Bit RGBA all the time and let compression take care of the rest. 1) Why is there no support for color spaces (Adobe RGB, ...)? The most widely-used color space is sRGB. I know it has its drawbacks, but there are excellent ressources[1][2] as to why you probably won't need Adobe RGB and other color spaces anyway. Additionally, AdobeRGB is very difficult to process and if you make one tiny mistake in your pipeline, you'll end up with very dull colors (which is because Adobe RGB just stretches the RGB values non-linearily). Most displays and printers are calibrated for sRGB. I have yet to see an example of an image which looked any different in the print depending on if it had been processed in a sRGB or Adobe RGB pipeline. Also, for smoother gradients, sRGB actually is better because for the same color depth the sRGB colors lie closer to each other. However, this is minor due to the fact that you can easily ramp up bit-depth. However, it helps you realize that Adobe RGB is just a tool like any other and it has no magic properties. Given most people don't even know what this stuff is all about anyway and unknowingly use sRGB, why not appease the 99%? The 1% wanting to use AdobeRGB is not forbidden to use it in farbfeld, nobody is stopping you. You just have to make it clear in your data interchange, which is not problematic given that you have to be very careful building your AdobeRGB-pipeline in the first place. There are exotic color spaces which try to fix some issues of the sRGB color space, but it doesn't look like they'll catch on in the near future. 2) Which compression should I use? I recommend bzip2 in the manpages, which is widely available and gives good results. As time will move forward and new algorithms hit the market, this recommendation might be rethought. --- I also want to thank Dimitris, Hiltjo, z3bra and all the other guys helping me debugging and testing the software across distros, unixes and endianesses. Have a nice evening and happy hacking! Cheers FRIGN [0]: http://git.suckless.org/farbfeld [1]: http://www.kenrockwell.com/tech/adobe-rgb.htm [2]: http://www.kenrockwell.com/tech/color-management/is-for-wimps.htm -- FRIGN <dev_AT_frign.de>Received on Wed Jan 06 2016 - 19:58:02 CET
This archive was generated by hypermail 2.3.0 : Wed Jan 06 2016 - 20:00:19 CET