Advertisement from Google AdSense

QUESTION: I'm choosing to use sRGB IEC61966-2.1 as my working color profile in AE. When I select this profile, the AE project colors immediately appears a little washed out. I add an adjustment layer to the final project and adjust the contrast, brightness and a couple of other color teaks to make it look the way I want in After Effects. Then I render it  and the resultant video looks completely wrong, with around 15% more contrast, and over-saturated.

Sometimes I think AE color management should be renamed "Color MANGLEment". LOL. The problem you’re describing relates specifically to either GAMMA or BLACK/WHITE levels, and also potentially your viewing environment in AE.

Most video is not "color managed" in most player applications, and despite the fact that Apple does allow for embedding ICC profiles in Quicktimes, After Effects (at least as of CS6 and some CC) does not allow embedding the ICC profile in QT, meaning the video clip you render out will not be color managed when played. (Not certain if the most recent CC will allow for embedding in QTs.)

I rarely use AVI, so I can't speak to it's specific quirks. 

But one other thing that is important is that when using color management in After Effects, is that no only do you set the working profile, you also need to set View -> Display Color Management to ON. Then you can also set to "Simulate Output" to see what the output will look like in an unmanaged device.


Charles Poynton relates the situation in detail here:

But here is a quick "nutshell" of the situation, using HDTV as the example.

HDTV (Rec709) tech specs define the camera gamma, sometimes called a SCENE REFERRED profile for program material. This profile defines the primaries, and also a gamma curve that is somewhat close to 1.9. This profile is called REC709*.

The Rec709 scene referred video (gamma ~1.9) is pumped into a display (gamma 2.4) and you get a *system gamma boost* of roughly 1.2. The output gamma, or display referred profile is defined in Rec1886.

Thus, Rec709 defines the source/capture/scene color transfer curve encoding, and Rec1886 defines the monitor/output/display transfer curve.

The system gamma boost is there intentionally, so that a scene-referred HDTV Camera, shooting a scene in daylight, will be "perceptually the same" once it is displayed on a screen in a darkened living room.

sRGB is an OUTPUT or DISPLAY REFERRED profile. It uses the same primaries as Rec709, but has a slightly different gamma curve, that is approx. 2.2.

Note that sRGB, an output referred profile, specifies a gamma of 2.2 instead of Rec709's lower 1.9, because sRGB was developed and intended for computer monitors, which are used in a brighter work environment, as opposed to a dark living-room viewing environment.

BOTH sRGB and Rec709 are assumed to be displayed on a monitor with a power transfer factor of around 2.4. sRGB's transfer function in intended for brighter viewing environments.

It is important to note there are a number of different ICC profiles floating about using markedly different gamma curves. There are profiles for instance of the display referred Rec1886 profile that are LABELED as Rec709, or sometimes Rec709 Display. These profiles cannot be used to correctly unwind true Rec709 into Scene Linear (gamma 1,0) space.

16/235 vs 0/255

Another critical issue is the black/white levels. Does your codec expect them to be 16/235 or 0/255? Some video players may not interpret one or the other correctly. And some encoders may force the video into 16/235 even if you are sending it 0/255.

Broadcast Rec709 has the black set at 16 and the white set at 235 for both RGB and YCbCr. If you try and send 0/255 into this system, you will have your blacks clipped and too dark, and the whites clipped or too bright.


Working Profile

Your working profile is not the critical problem here. Choosing the best working profile is another topic entirely, but in a nutshell, choose a profile that contains all of your colors without clipping. Larger profiles such as ProPhoto *require* the use of high bit depths (i.e. 32 bit). If you are headed for the web or for HDTV, then sRGB may be a good choice for your working profile.

Here at GT we mostly work in 32 bit with a linearized profile. We use linearized sRGB for anything intended for HD or Web. We may use other linearized profiles with different color primaries for other project types with different destinations (such as DCI P3).

Output Profile

If you were going to playback your video in a COLOR MANAGED player and you had embedded your profile in the video media, then it would probably not matter what output profile you chose, as the player would manage it and display it appropriately.

However as we said at the start, video is typically not "color managed" for the purposes of distribution (That is, it has no embedded color profile). You may notice that "Embed Profile" is greyed out when using most output modules in AE. And since you cannot control how people are viewing, you'd want your video to play correctly in the typical non-color-managed environments.

So, that means that we must choose an output profile in After Effects' output module that creates a video file with the kind of color/gamma that the PLAYER application EXPECTS to see.

And what would a player application usually expect? Typically a scene-referred video stream.

Since sRGB is an OUTPUT referred profile, it is "generally incorrect" to use sRGB to output your video if you are sending your video someplace that is expecting a scene referred profile such as Rec709.

Note that Adobe FLASH expects sRGB, so the implication there is to use sRGB as the output profile for FLASH as that is what the flash environment *expects*.

But most player apps are expecting either Rec601 or Rec709. As a result, Rec709 is usually the choice for a video output for streaming/web.

And Then the 16/235 thing:

Now as it happens, different codecs and different player apps may handle the 16/235 and 0/255 levels,  and gamma issues, differently. Some do not correctly interpret the correct black/white levels.

Since I don't use the AVI container much, and don't know which variant of "uncompressed" you are using, I can't say definitively - BUT from what you describe it sounds like you are outputting to a 0/255 black/white point colorspace (sRGB), and the codec & player you are using wants to see a 16/235.

So do this: TRY USING the colorspace: Rec709 16-235 as your OUTPUT colorspace in the output module. Note that while Rec709 has a lower gamma (which increases contrast for darker environments) than sRGB, using the 16-235 variant should fix your black levels if this is what the codec you are using is expecting.

Here are some links with some discussion on scene vs output referred colorspaces, gamma, and color:


This little tidbit from page 6 of the gamma FAQ is salient:

Ambient lighting is rarely taken into account in the exchange of computer images. If an image is created in a dark environment and transmitted to a viewer in a bright environment, the recipient will find it to have excessive contrast.

Our Workflow and Things That Work For Us:

  1. We work in a 32 bit linearized working space, using a profile with color primaries that match our eventual final output. For HD or Web, or for elements with simple color (such as white on black titles) this is sRGB. For more complex material outputting to film, we may use linearized P3 primaries, or as directed by the DI facility to match their workflow. 
  2. The advantage of working in a 32 bit linearized space are many. Math operations mirror the way light woks in the real world. For instance, if using the Levels plug in you cut the output in half from 1.0 to 0.5, you have a reduction by one stop. Blending operations such as ADD work much as it would in a real-world environment. It is also the best space to be in when the output will be EXR, which is natively gamma 1.0 and is increasingly the interchange format of choice.
  3. We typically set our output modules to "Preserve RGB", and then use an adjustment layer on the top of the final output comp that has the appropriate conversion-to-profile for the desired output. By using an adjustment layer instead of assigning a profile in the output module, we can see the effect of the conversion before output, and adjust as needed. 
  4. Among other things, handling profile conversion as an adjustment layer instead of in the output module allows for finer control of the conversion, such as adjusting the transfer curve of an alpha channel, clipping the black point at a certain level, or rolling off highlights using curves. Plus it makes it easier to see the result of more complex functions like baking in a LUT.
  5. And lastly, doing the conversion as an adjustment layer makes it easier to confirm the correct conversion is taking place, and is properly tracked via our automated slating system.
  6. Placed on top of the conversion adjustment layer is another adjustment layer set as a guide layer, that converts from the output profile back to the working space, so we can see a round-trip and catch problems like color channel clipping, wrap arounds, and other potential problems.
  7. The one exception is if we are outputting titles to a gamma-encoded format such as TIFF or PNG and with an embedded alpha channel, we may work in 16 bit not-linearized (gamma encoded) space. This is because when working in linear space, the alpha channel as output from After Effects into a gamma encoded file such as TIFF will not function as expected in most other compositing environments (the alpha channel is not corrected or compensated on output to match the gamma curve of the image data). Working in 16 bit gamma encoded space is more predictable than adjusting the alpha curve out of a linearized environment.

In summary, working in AE's color-managed environment can be a very good way to see exactly how the final result will look - if you've set up the workflow properly. But an inappropriate choice early on can have some bad consequences by the time you get to final output. As such, your workflow should be checked and tested before any real work is performed. And it's advisable to develop a template with all the color spaces and outputs already set up for a consistent working environment.

This article was originally written circa 2012, and was revised July 2018.

Advertisement from Google AdSense

Help | Legal | Contact Us

Copyright © 2012-2018. All Rights Reserved.