Wednesday, October 3, 2012

Magic Export for Lightroom

ImageMagick is a swell open source package that can do all manor of things to images, including save them in many different file formats. I was asked for a way to save files out of Lightroom into production-oriented formats like DPX, so I wired ImageMagick into a Lightroom plug-in that you can download for free.

So far it just lets you save into six additional file formats and pick the bit depth. ImageMagick has many more formats and other capabilities that could be added in the future, so let me hear your requests!

Version: 0.5
Date: 11 November 2014
(includes Mac & Win)

Friday, June 22, 2012

DPX Plus

Occasionally I hear an After Effects user asking how they can read a DPX that doesn't conform to AE's expectation of a 10-bit RGB file. The DPX spec allows for 8, 10, 12, or 16-bit images, and also supports alpha channels. Since even After Effects CS6 can't read these files, I decided enough was enough and pushed out a free plug-in, which I'm calling DPX Plus. Fortunately this was a pretty easy project thanks to Patrick Palmer's open source DPX library.

When DPX Plus is installed, it becomes AE's default DPX reader, which is not ideal. I'd rather you had to go out of the way to use DPX Plus, but as it stands you have to manually designate AE's internal reader if you don't want your project to rely on a 3rd party plug-in. If you're worried about this, perhaps just use DPX Plus to convert your DPXs to 16-bit PNG or some other format AE can read natively and then remove the plug-in when done.


Update: DPX Plus now includes Photoshop and Premiere Pro plug-ins as well.

Update 2: DPX Plus can now write DPX files out of Premiere and After Effects.

Update 3: After Effects CC is now shipping with read support for all the DPX varieties that DPX Plus can read. It can also write specific varieties of 8, 10, 12, and 16-bit DPX. Premiere Pro CC can read 16-bit DPX too.

Version: 0.8
Date: 20 December 2012
Mac | Win

Monday, June 4, 2012

dataWindow and displayWindow in OpenEXR files

All OpenEXR files contain two required attributes, dataWindow and displayWindow. Each gives the coordinates for a rectangle, the former describing the pixels stored in the file and the latter describing the viewer that the pixel data lives in. You can see these and other OpenEXR file attributes by viewing the ProEXR File Description in Photoshop.

For a standard OpenEXR file (including all files written by the ProEXR plug-ins), the dataWindow and displayWindow are the same, so you simply have pixels filling the view as you would for regular image files like JPEG or PNG.

But in some cases the dataWindow and the displayWindow may not match. For example, a 3D program with only a small object in the middle of frame might only have to store a 400x400 image within a full 1920x1080 frame, so the dataWindow will be smaller than the displayWindow.

Or an image may be rendered overscan, with pixels that stretch beyond the area you normally view. These pixels might be used if camera shake is added or to provide real edge pixels to use if the image is blurred. So you could have a 2120x1280 image and a 1920x1080 view.
(images borrowed from the Technical Introduction to OpenEXR on

Neither Photoshop nor After Effects have the notion of a display window from the perspective of a file importer, so ProEXR always reads in the full dataWindow, giving you access to all the pixels in the file. But once the file is imported, you can match the displayWindow by floating the Photoshop or After Effects layer inside a differently sized comp. ProEXR includes a Photoshop script and an After Effects plug-in to do the math for you and set this up automatically and precisely.

In Photoshop, run the "ProEXR displayWindow" script, included with ProEXR. It will scan the ProEXR File Description for the window data and automatically enter it into the dialog for you. If you have this information through some other method, you can enter it manually. When you click OK, the Photoshop canvas will be resized so that the original layer floats properly within it, all the original pixels maintained.

In After Effects with the ProEXR AE plug-in installed, select the EXR file and run File > Create ProEXR Layer Comps. In addition to everything this command usually does, a "display comp" will be created that matches the displayWindow and contains the assemble comp floating within it. A display comp will only be created if the displayWindow is different from the dataWindow.

If you have an image sequence in After Effects where the dataWindow changes every frame (perhaps because a small object is being animated), this presents a problem for After Effects, which usually expects every image in a sequence to be the same size. The easiest thing to do is force your renderer to store the whole frame if possible. Otherwise, the way to deal with it is to import the sequence as individual files—select all the files and uncheck the "OpenEXR Sequence" checkbox in the Import Dialog. Then select all these files in your project, hold down option/alt, and go back to the Comp Creator command which will now be renamed "ProEXR DisplayWindow Comp". The result will be a comp with all the files lined up in time, placed inside the comp appropriately. Use this comp as you would a piece of footage.

Update: ProEXR 1.9 for After Effects will handle displayWindow for you without using the Comp Creator.

If you'd like a sample of displayWindow behavior to experiment with, download the file at the bottom of the fnord OpenEXR page.

Thursday, May 31, 2012

j2k 2.7

Now that I've figured out how to make a Premiere plug-in, someone suggested I add JPEG 2000 support to that program as well. Good idea. So that's what's new in j2k 2.7: a plug-in for Premiere Pro and Media Encoder. Just like in After Effects, the Premiere plug-in supports auto-proxy, so working at a lower resolution in Premiere can dramatically speed up frame load times. It also supports the choose-your-own bit depth and DCI features found in Photoshop and AE.

There are a few other optimizations and minor bug fixes for the other plug-ins too, so everyone should update. Yes, it's free. Enjoy!

Wednesday, May 9, 2012

OpenColorIO for After Effects

OpenColorIO ("OCIO") is an open source system for managing color in film production pipelines. It was originally created for internal use at Sony Pictures Imageworks, who then released it publicly in July 2010. It now includes an After Effects plug-in that I contributed.

The main advantage of OpenColorIO is that it will function identically across all programs that support it. So if you want to make sure that your color transformations in After Effects match those in Nuke (now shipping with OCIO), this is a way to do it.

Of course, like any open source project, the plug-in is free. Anyone is free to download the code, build it themselves, or contribute a change. Here I've got pre-built versions for you, which I'll try to keep up to date with the evolving OCIO library. A PDF manual is also included.

Plug-in version: 1.1.0
Date: 14 March 2018
Mac | Win

Sample Project

Thursday, April 26, 2012

ProEXR 1.7 available

Another six months, another two seasons, and another free 0.1 update to ProEXR. Version 1.7 includes some pretty nifty improvements and additions. They are:

1. Premiere Pro plug-in
OpenEXR is beginning to spread beyond the rarified world of 3D rendering and digital compositing. More and more it is being used to send images between editing software and color correction tools, and OpenEXR is also the foundation for the upcoming ACES digital cinema workflow. ProEXR for Premiere lets you import and export OpenEXR sequences in Premiere Pro. It supports timecode, all the EXR compression options, and takes advantage of Premiere's native floating point pipeline.

2. After Effects performance boost
More work has been put into getting performance gains out of the AE plug-ins. In some tests, the new plug-ins are twice as fast as what was released in version 1.6, which was already an improvement over 1.5, the version currently shipping in After Effects. The new OpenEXR, EXtractoR, and IDentifier plug-ins are project-compatible and free, so don't waste any time replacing your current After Effects versions with the latest and greatest.

3. ProEXR EZ is free
No longer be held captive by fnord software's greedy capitalists! More information below.

4. VRimg support
Many VRay users convert their multipass VRimg files to OpenEXR and then open them with ProEXR. Now they can skip a step and open VRimg files directly in Photoshop and After Effects. (Both programs prefer you use the 3-letter file extension ".vri" instead of ".vrimg".)


ProEXR EZ is Free

A fact of life for plug-in developers is that a good idea for a plug-in today may become a new feature in the main program tomorrow. If you have saved an OpenEXR file out of the Photoshop CS6 public beta, you will have seen this dialog:
Which might remind you of another dialog:
So thank you, Adobe, I'm glad that you decided to give Photoshop users some more options for saving EXR files. And I'm glad I could help them out in the meantime with ProEXR EZ, which I'm now making free. Download ProEXR 1.7 and run ProEXR EZ without a serial number, even in versions of Photoshop prior to CS6.

But even if you're using CS6 and don't need to read or write multi-channel EXR files, you'll still want to use ProEXR EZ instead of Photoshop's built-in OpenEXR module. Our plug-in has these advantages:
  • Photoshop's input options dialog comes up every time, while ProEXR EZ's only comes up if you hold down the shift key. You can also set a preference to make it come up every time if you want and set your own default settings.
  • ProEXR EZ lets you write Luminance/Chroma images, while Photoshop can only read them.
  • ProEXR EZ let you write files with Zip16, B44, and B44A compression, which Photoshop has left out for some reason.
  • ProEXR lets you write out files in 32-bit float for the rare time when EXR's 16-bit float is not enough.
  • ProEXR EZ includes the ProEXR File Description that tells you about all the channels and metadata in the EXR file you're using.
  • ProEXR EZ reads and writes EXR color space information while Photoshop does not.

As a refresher, the following plug-ins are free in ProEXR:
  • ProEXR EZ for Photoshop
  • OpenEXR, EXtractoR, IDentifier plug-ins for After Effects
  • OpenEXR for Premiere
  • ProEXR Comp Creator for After Effects (part of ProEXR AE)
The following ProEXR features require a license:
  • ProEXR for Photoshop (read/write layered EXR files)
  • ProEXR AE (write layered EXR files out of After Effects)
  • VRimg support (part of ProEXR for Photoshop and ProEXR AE)