My goal was to match the conversion done in After Effects when using the "DCDM X'Y'Z'(Gamma 2.6) 5900K (by Adobe)" profile, but other programs seem to perform this conversion differently. Rather than debate whether I was doing it right or wrong, I decided the best thing to do was make my code visible and open for commentary and include a document describing the steps I was taking. You can see it here on GitHub.
Because a snippet of color conversion code isn't very interesting by itself, the repository also includes a plug-in for After Effects and Premiere Pro (CS5 and above) that you can download below. It can also convert from XYZ back to RGB, so that will let you view your DCI files properly in Premiere. (If you use this plug-in to convert to XYZ in Premiere, make sure you turn off the XYZ conversion in j2k.)
Update: It has been called to my attention that a step was missing from my conversion process: XYZ normalization. Hooray for open source! You can learn about it in the ReadMe, but a new parameter has been added and I'm leaving it on by default. This means DCI Converter's default settings no longer exactly match Adobe's. I've also spread the change to j2k in Premiere.
Update: Been talking with Adobe, and it's becoming more clear that using the Rec. 709 response curve is not the right choice for most people. According to BT.1886, a professional HDTV broadcast monitor has a simple gamma 2.4. So if you approve the final look of your video on such a monitor, that's the transfer function you should be using. If you approved it on an sRGB computer monitor, than use that curve. For now I'm not going to change the plug-in's defaults, which would introduce some technical issues in AE. We'll still adhere to the original design goal of matching Adobe's profile even as we cast doubt upon it, but I suggest you at least try using gamma 2.4.
Date: 3 September 2014
Mac | Win