White level values in RAW data


When I look at histograms for different cameras/sensors in RAWDigger, the white clipping level seems to vary considerably and is less than 16383 for a 14 bit encoded signal or 8191 for a 12 bit encoded signal.

For example, the clipping level for the 5D Mk II seems to be about 14736 and they are about 11535 on my 600D. For the G12 they are about 3968.

This suggests to me that they are not normalised to the maximum possible value for a 12 or 14 bit encode. (whereas an 8 bit jpeg always has the same maximum value of 255). If this is the case, how does the RAW processing software know what value to use for the white clipping point. Surely a value for this must be included in the raw file ?

I would much appreciate some advice on this thank you.


Yes, many cameras/vendors do

Yes, many cameras/vendors do not use full 14-bit (or 12-bit) range due to

  1. Black Level subtraction: 'black current' values are subtracted from ADC value. It may be done by camera itself, or by raw processing software
  2. Some cameras do not use full range for low ISO values, while using it for higher ISO (e.g. Canon cameras). 
  3. Some cameras (e.g. latest Nikon D800/D4) use full range for red/blue channels, while green is clipped 100-500 levels below.

So, you're right. Software should know real maxmum for given camera to accurate raw processing. These values are *not* included in RAW in many cases, so software authors should use some kind of guessing.

Thanks lexa for your prompt

Thanks lexa for your prompt reply. These RAW files are a lot more complicated than I imagined.


White level values in RAW data

OK, so if I understand correctly, in order to prepare data for demosaicing one needs first to subtract the Black Level (if necessary), then to scale the four channels according to the individual White Level, then apply White Balance?

For instance, my D90 shows saturation of 4095 for R and B and 3840 for G1 and G2. Should R&B be scaled down by 3840/4095 or should we simply assume that once Black Level has been applied (if necessary) the resulting values are fine without White Level scaling?

Thanks for your help.

Yes, before demosaicing you

Yes, before demosaicing you should subtract black level, apply white balance and scale values to fit all range.

In Nikon case things are simple, because Black Level is always 0 in Nikon cameras (subtracted in camera before RAW file is stored)

Where is the 14-bit data in Sony RX1/A99?

Thanks for a fabulous program.

After experiencing some unwanted posterization with light processing, I took my RX1 raw files, and compared against files I have found on the web for A99 and D600 (and D3). What I found with raw digger is that my most sample-rich raw file contains only 1530 unique values on a scale of 0-4093 (93!), rather than something more like approximately 0-16383, I was expected. The values were continuous from 0-800, with about 320 only 320 unique values in the 801-1424 range, and only 258 unique values in the 2030-4093 range. The A99 sample I found was similar, and the Nikon files I found (same daylight scene, all base ISO, EV-0, btw) showed 14 bits worth of data, unlike the Sony.

Is this explained somehow by only Raw digger only partially decoding the ARW files (lower order bits), or is there a real difference here?


For Sony A99/RX1 the '14 bit'

For Sony A99/RX1 the '14 bit' clause corresponds only to data range.

The data precision is another story: only 1/8 of pixels are stored with 11-bit precision, while remaining 7/8 of pixels are stored with 7-bit precision.

I've wrote small article about Sony 'ARW2' format. Unfortunately, it is in Russian, you may try Google translate to read it. It is here:


I'll translate this article to English sometimes in future (1-2 week I hope)

P.S. Sorry for delayer answer, Christmas and New Year holidays held me out of Internet

Add new comment