Skip to main content
Inspiring
September 3, 2017
Answered

PF_Pixel16 with 10-bit values

  • September 3, 2017
  • 1 reply
  • 1143 views

I am trying to write an output plugin for a restricted type of DPX file.  If I have a comp that has 16-bit pixels but contains 1-=bit Cineon or DPX values, is there anyway I can tell on the output whether the PF_Pixel16 contains 10-bit or 16-bit values?

Does every comp in After Effects work on floating point values with a maximum of 1.0 and then just translate that into 8-bt or 16-bit values to display for the user?  Is there anyway to have pixel values in excess of 1.0 in After Effects.  I am under the impression that proper EXR files can easily contain values above 1.0, but it is unclear to me how After Effects deals with them when it imports the image.

I have written DPX files where the header says the maximum value is 65535 rather than 32768 and when I import them into After Effects the values come in as half of what I thought they were written as.  This implies to me that After Effects interprets the max value in a DPX file as 1.0 and then scales all the values.  Is this true?

Thanks.

This topic has been closed for replies.
Correct answer Zac Lam

Hi RGPatt,

The working depth of an AE comp will be 8-bit, 16-bit, or 32-bit, depending on the Project Settings.  So the frames your AEIO output plug-in gets will be one of those formats.  From the frame itself, it's not apparent what the pixel depths of the source media are.  However, it is technically possible to programatically inspect the layers one by one.  However keep in mind that there are other factors such as effects applied.

Here's the Help article on Project color depth:

https://helpx.adobe.com/after-effects/using/color-basics.html#color_depth_and_high_dynamic_range_color

8-bit and 16-bit format do not contain super whites or super blacks.

The 16-bit format uses channels that go from black at 0 to white at 32768, like Premiere Pro and Photoshop 16-bit formats.

1 reply

Zac LamCorrect answer
Inspiring
September 7, 2017

Hi RGPatt,

The working depth of an AE comp will be 8-bit, 16-bit, or 32-bit, depending on the Project Settings.  So the frames your AEIO output plug-in gets will be one of those formats.  From the frame itself, it's not apparent what the pixel depths of the source media are.  However, it is technically possible to programatically inspect the layers one by one.  However keep in mind that there are other factors such as effects applied.

Here's the Help article on Project color depth:

https://helpx.adobe.com/after-effects/using/color-basics.html#color_depth_and_high_dynamic_range_color

8-bit and 16-bit format do not contain super whites or super blacks.

The 16-bit format uses channels that go from black at 0 to white at 32768, like Premiere Pro and Photoshop 16-bit formats.

RGPattAuthor
Inspiring
September 7, 2017

I appreciate your response.

I think After Effects may want to re-think some of this.  It is possible for DPX files to have either 10-bit or 16-bit values and it is possible for 16-bit DPX files to have superwhites, i.e. values that are the equivalent of greater than 1.0 in floating point.  There is a spec for a DPX file containing Academy Density Exchange (ADX) values based on Academy Printing Density.  It is not a widely used format, but it may become more widely used as archives digitize more of their film.

Inspiring
September 7, 2017

For now, this format could be supported if the project is in 32-bit float mode, and the importer would need to bring in the superwhites as 32-bit float frames.