Add new comment

the pipeline of raw decoding

I have difficulty in clarifying how the pipeline of decoding a raw file goes. First, DNs of a raw file are scaled. I suppose that scaling consists of 5 elements: 1) linearization of curved values as far as an irreversible raw file is concerned, 2)setting of black level, 3) setting of white level, 4) subtraction of black level values from each pixel, and 5) mapping modified values to a logical range of 0-1. The logicalized values are mapped by way of matrix into a working color space before a final output space. My question is linked to dcraw's command -W -D. -W is described to kill brightening and scaling. You will see a pretty dark image result from -D -W, though with less contrast, which means no black level applied. Very dark in particular when a 12bit raw file is decoded. A14 bit raw would be brighter rhan the 12bit one, even though an almost identical scene was taken. Why is this ? A potential answer to this case might be that dcraw boost values in default mode, making 12 and 14bit as if 16bit in terms of pixel values, then execute scaling. But such an intervention would be quite unnecessary because all the values are mapped to the logical 0-1 in th end, regardless of that intervention. I hope responses from somebody who knows about it.