ACES and ACEScc Intro and Tutorial for Sony Vegas Pro

ACES is a color encoding system and workflow for motion pictures.  The ACES and ACEScc working color spaces enable accurate exposure compensation and color balancing, and let you easily match between shots and cameras.  Sony Vegas Pro 12 and later support ACES by inclusion of the OpenColorIO color space conversion engine.

Short ACEScc demonstration video:

Detailed ACES and ACEScc Intro and Tutorial video:

Intro slides:

ACES and ACEScc OpenColorIO Configurations for Sony Vegas Pro

Sony Vegas Pro comes with an ACES configuration, but it doesn't map levels correctly during rendering.  I've corrected the level mapping and added new color spaces, and I've also created an ACEScc configuration.  I have tested these configurations in Sony Vegas Pro 13.0.428 through 13.0.453.  Installation instructions and detailed notes on the color spaces are contained inside the download files.

ACES configuration download: (6 MB)
ACEScc configuration download: (6 MB)
Test project download: (1 MB)

My added color spaces are shown in bold.

View transforms:
  • ACES RRT (sRGB computer monitor preview)
  • ACES RRT (Rec.709 HDTV monitor preview)
  • Log (ACEScc)
  • Standard (Rec.709 HDTV monitor preview)
File input and output color spaces (IDT/ODT):
  • ACES
  • ACESproxy
  • ADX 10-bit
  • ADX 16-bit
  • Arri Alexa Log C
  • Canon Log (C100/C300 daylight)
  • Canon Log (C100/C300 tungsten)
  • Sony S-Log1 with S-Gamut (F35/F3)
  • Sony S-Log2 with S-Gamut (F65 5500K)
  • Sony S-Log2 with S-Gamut (F65 3200K)
  • Sony S-Log2 with Rec.709 color
  • Sony Cine1 (HyperGamma 4)
  • Sony NEX-VG20
  • ACES RRT (Rec.709 video file)
  • ACES RRT (Rec.709 video file full_range) (input only)
  • ACES RRT (Rec.709 still image file)
  • ACES RRT (sRGB video file) (output only)
  • ACES RRT (sRGB still image file) (output only)
  • Panasonic GH2
  • Panasonic GH4 (Standard 16-255)
  • Panasonic V-Log
  • GoPro Protune (Flat sRGB)
  • Rec.709 video file
  • Rec.709 video file full_range (input only)
  • Rec.709 still image file

Change log:
  • v1:
    • initial release
  • v2:
    • new color space: ACES RRT (Rec.709 video file full_range)
    • new color space: Panasonic GH4
    • enabled Rec.709 and sRGB still image file color spaces for output
    • corrected an issue with ACESproxy rendering
  • v3:
    • updated the ACES RRT (Rec.709) color spaces to ACES 1.0.0
    • new color space: Sony Cine1 (HyperGamma 4)
    • new color space: Sony NEX-VG20
    • new color spaces: Rec.709 (standard, without the ACES RRT)
    • corrected an error in the calculation of the sRGB to ACES transformation matrix
  • v4:
    • new color spaces: Canon Log (C100/C300 daylight and tungsten)
    • new color space: Panasonic V-Log
    • renamed the Panasonic GH4 color space

ACES Discussions and Recommended Reading

ACES Test Videos

Sony a7S Cine1 (HyperGamma 4) ACES Exposure Test:

Panasonic GH4 ACES Exposure Test:

Panasonic GH2 ACES Exposure Test:

ACES workflow test: Sony a7S, Panasonic GH2, and Blackmagic Pocket Cinema Camera:

Why Sony Cine1 (HyperGamma 4) is Better than S-Log

Sony created the S-Log transfer function for its F23 and F35 cinema cameras, and later, S-Log2 and S-Log3 for the F65, PMW-F55, and PMW-F5. Each S-Log curve was designed to preserve the usable dynamic range of the sensor's output in a 10-bit recorded signal. This gives maximum flexibility in post to brighten or darken the entire image, or parts of the image. Middle grey is placed relatively low in the S-Log curves, providing huge highlight range. Sony provides ACES IDTs for S-Log, to accurately transform it into the ACES color space.

Now that S-Log2 has trickled down to Sony's more affordable cameras like the a7S, a7R II, and the RX100 IV, should you use it?

S-Log has one big problem: it was never meant to be viewed on a standard monitor. If you view it directly on the camera's monitor or an external Rec.709 monitor, the image will have very low contrast, making it very hard to judge the exposure. Sony's cinema cameras have a built-in monitor LUT that displays the image correctly on camera's monitor while simultaneously recording in S-Log. They even let you brighten or darken the monitor image according to how much exposure compensation you think you'll want to apply in post. The Sony a7S has that same MLUT, ITU709(800%), but the camera doesn't let you view the MLUT while simultaneously recording in S-Log2, and it doesn't let you shift the exposure of the MLUT image. Even if you wanted to flip between S-Log2 for recording and another gamma for monitoring, there's another big problem:

The a7S doesn't have nearly as much usable dynamic range as Sony's very expensive cinema cameras. The bottom part of the S-Log2 range is too noisy. Only the upper part of the range is usable, which means you need to overexpose by two to three stops to minimize the noise. And that raises the third problem:

There isn't a really good way to judge exposure on the a7S while recording in S-Log2. The S-Log2 image, when displayed on a standard monitor, exhibits very low contrast and represents a huge dynamic range. You won't be able to guess if the exposure is +0.0, +2.0, or +3.0 by looking at the monitor's image: all three of them will look o.k., and actually +0.0 will look the best. The camera's exposure meter is the best tool you have for judging exposure on the a7S, and unfortunately it only goes up to +2.0 in video mode. It leaves you short of the ideal +2.0 to +3.0 exposure, especially when the meter overestimates the exposure, which it sometimes does.

The Sony Cine1 transfer function, also known as HyperGamma 4 or HG4609G33 P3, captures an extended highlight range, 460% as high as Rec.709. Cine1 is designed to be close enough to Rec.709 that you can preview it on a monitor and properly judge the exposure. Cine1 isn't meant to be delivered directly. Like S-Log, it needs to be transformed in post into a proper Rec.709 signal. But being closer to Rec.709, Cine1 is more easily transformed and graded than S-Log is, using standard filters like levels and curves. Though Cine1 has less highlight range than S-Log, the usable dynamic range and the exposure latitude are just as good, being practically limited by the camera's shadow noise. Shadow noise is a function of the camera's sensor and processing, not the transfer function. Putting an expensive camera's transfer function in an inexpensive camera does not magically give the camera better dynamic range. Also, S-Log2 spreads the a7S's 8-bit code values thinly across a huge dynamic range, decreasing the precision and increasing banding. Cine1 distributes the code values more similarly to that of the final output, decreasing banding. Also, Cine1 is available at a minimum ISO setting of 100, compared to ISO 3200 for S-Log2 on the a7S. That translates into 3.5 stops of additional highlight range at the minimum ISO setting, reducing the need for a neutral density filter.

For working in ACES, a Cine1 IDT accurately transforms it into the ACES color space just as well as an IDT for S-Log does, giving you all of the advantages of ACES, like accurate exposure compensation and color balancing.

Rec.709, Cine1, and S-Log, in linear and log plots:

These test videos compare Cine1 and S-Log2 on the Sony a7S.

Cine1 advantages:

  • Judge exposure by looking at the monitor. When it looks correct, it is.
  • Judge exposure with the exposure meter, aiming for +0.0
  • Transform to Rec.709 more easily using standard filters
  • 3.5 more stops of highlight range at the minimum ISO setting
  • Higher precision (less banding)
  • Available on more cameras than S-Log, S-Log2, or S-Log3
Which color mode should you use with Cine1? My tests on the a7S show that a setting of Still produces the most accurate colors, by a significant margin. Sony's documentation suggests that Still is using the sRGB primaries, which are the same as the Rec.709 primaries. Pro color is the second-most accurate.  S-Gamut has significant color errors even when decoded with the S-Gamut(2) decoding matrix, for reasons that are not clear. Sony seems to have screwed up S-Gamut on this camera: it doesn't correspond very closely to any decoding matrix that I can find.  Also, S-Gamut has unnatural colors when viewed on a standard monitor without a decoding matrix, so it's not very convenient for previewing or setting the white balance. Movie and Cinema are undersaturated. ITU709 is oversaturated, for some strange reason. All of this might be different on another Sony camera.

Experimental ACES Workflow for CinemaDNG

This workflow for the Blackmagic Cinema Camera and the Pocket Cinema Camera (or any other raw camera image that dcraw can process) is slow and it creates large intermediate files, but in my testing it seems to produce fairly accurate colors, even better than what Davinci Resolve can.  For the intermediate color space transfer encoding, I've used a power function with gamma=4, which increases precision in the shadows and effectively increases the dynamic range compared to a standard gamma at the expense of precision in the highlights.  Of course a plain power curve isn't the ideal encoding for high dynamic range footage, but it's simple and easy to implement and my testing has shown that 8-bit precision is sufficient in this color space.  I haven't bothered to set the middle grey level correctly in this workflow.  Though the intermediate color space of this workflow resembles Rec.709, it is scene referred, not display referred: you will need to perform exposure compensation and color balancing on the converted video just like you would for any other video for which you have a camera-specific IDT.

You can download my config, including OpenColorIO configuration color spaces for a gamma=4 video file or a still image sequence, and a sample batch file to automate the entire conversion process. The batch file crops appropriately for the BMPCC and assumes 29.970 fps input. Download dcraw for Windows and ffmpeg for Windows.  Note the file paths for the dcraw and ffmpeg executables in the batch file.
  1. Shoot with a proper white balance setting in the camera, because we'll have dcraw decode to sRGB using that setting.  If you're not sure what setting to use, just use 4500K, which is close enough for most shooting.  You could also set white balance channel gain factors in the dcraw command.
  2. Convert DNG files to 8-bit TIFF with sRGB color, uncorrected brightness, camera white balance, and gamma=4  
    for %f in (*.dng) do dcraw -v -T -w -W -g 4 0 %f
  3. Convert the TIFF file sequence to a video file using ffmpeg, or directly open the TIFF file sequence in Vegas Pro, and then select one of the sRGB color, gamma 4 input color spaces in Vegas. If you open a TIFF file sequence directly in Vegas, don't forget to set the frame rate in the media properties.
My testing has shown that 8-bit precision with gamma=4 is adequate across a wide range of exposure settings.  Banding is not an issue, and even with h.264 compression, the quality is good.  Vegas can't read any 16-bit integer still image format correctly, so if you want precision greater than 8 bits, you can create 16-bit TIFFs and then convert them to something else like 10-bit YUV AVI or 16-bit floating point EXR.  Change the dcraw command to write 16-bit TIFF files by adding the -6 option, and then use ffmpeg to convert.  A sample ffmpeg command for 10-bit YUV AVI files is also included in the batch file.
This test video shows that the video matches the Sony a7S and Panasonic GH2 pretty closely.  But still, I think the color from the BMPCC is a bit funky, and it's harder to adjust than for the other cameras. When the colors are balanced for white, some greys have a blue tint.  I suspect that the sensor's primary color filters don't correspond well to human spectral cone responses, or the linearization curve specified in the DNG files is not accurate.

Though the Blackmagic Pocket Cinema Camera has a very large dynamic range, it's very hard to take advantage of the extra range since the camera doesn't have good tools for setting the exposure.  In practice you actually get more exposure latitude from a simple camera like the Panasonic GH2 when used with its ACES IDT, since that camera has very good tools for setting the exposure.  Davinci Resolve can't decode the Blackmagic cameras' CinemaDNG files correctly, forcing you to use 3rd-party software like Adobe Lightroom or dcraw if you want natural colors as a starting point for your color work.  I don't recommend the Blackmagic cameras.