Bit depth issue, help me guys!


Hey all !

I had to do a paint job for which I got my input as .dpx files and I supposed to deliver the output in .exr format according to the client’s need.

so I had to do the conversion of .dpx to .exr format of the output which I did and delivered (in shake).

but now client has a issue where my .exr output has some bit depth issue where part of the shot is in 8 bit and part are in 16 bit which really I could’nt able to trace it out.

can you guys help me on this issue …

your help is very much appreciated




I am guessing that you are doing from log .dpx to linear or vid .exr ?

if so what is your linearisation process ? are you using a bytes node to get to float before logLin conversion ?

what are you logLin numbers?

Do you understand the basics of working with film colour space and handling .dpx scans?


None of this is written in stone but in theory dpx files would be in logarithmic color space and exrs in linear space. So all you need to do is take your dpx add a bytes node and set it to float then use a log2lin node to convert the log images to linear space and render it out like that.
However, as Aneks suggested it might not be as trivial as this, cause some facilities use slightly different values for the log2lin conversion. Plus your dpx files might not be in “standard” logarithmic colorspace, cause in some rare cases the source is different from standard filmworkflows (i.e. Panalog, Vipers Filmstream) or it is actually in video colorspace and just saved out as dpx.



Aneak, Kai thanks man!

The thing is that I never converted these files to linear space , coz I used only viewing LUT

in my workflow and rendered …




Shake doesn’t have a 10bit mode, so it will promote a .dpx to 16 bit on import and then treat it as a 16bit image.

Writing back out to .dpx it will produce a 10bit image (well technically this is a 16bit but that’s a whole other discussion).

So if you import a .dpx file comp it in log without conversion and put it out to .exr then you are promoting to 16 on import and then writing out to a 32bit container. Exr’s can be different bit depths but the container is 32 bit. Make usre that you have enhanced node view activated in your globals and you should be able to keep track of the colour bit depth throughout your comp. Doing this will let you check if you are clipping to 8bit anywhere.

good luck.


This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.