Giter Club home page Giter Club logo

Comments (3)

scottdyer avatar scottdyer commented on July 2, 2024

Yes, the problem is ctlrender's handling of scaling values when writing various file formats. There is a note warning about this on lines 69-80:

  // **NOTE**: The scaling step below is NOT a part of the ACESlog conversion. 
  //
  // This step is only required when using ctlrender to process the images. 
  // When ctlrender sees a floating-point file as the input and an integral file 
  // format as the output, it assumes that values out the end of the transform 
  // will be floating point, and so multiplies the output values by 
  // (2^outputBitDepth)-1. Therefore, although the values of acesLog16i are the 
  // correct integer values, they must be scaled into a 0-1 range on output 
  // because ctlrender will scale them back up in the process of writing the 
  // integer file.
  // The ctlrender option -output_scale could be used for this, but it 
  // currently this option does not appear to function correctly.
  const float scalar = pow(2.,16)-1.;
  rOut = acesLog16i[0] / scalar;
  gOut = acesLog16i[1] / scalar;
  bOut = acesLog16i[2] / scalar;

To get what you're after, either remove the scalar or set it equal to 1.

from aces-dev.

irieger avatar irieger commented on July 2, 2024

For my use-case it's the other way round. I like that aces_to_aceslog16i.ctl scles the values to a 0-1 range but don't understand why on the other side acesLog16i_to_aces.ctl is expecting values in the integer range 0-65535.

So it either works with acesLog files written from ctlrender (for testing purpose) nor with a chain of "-ctl aces_to_acesLog16i.ctl -ctl acesLog16i_to_aces.ctl" which I would expect to be a unity function when combined.

I'm using modified acesLog and acesProxy CTL files now anyway but I think it should be one of two way:

  1. acesLog16i_to_aces is also expecting an input scale of 0-1 or
  2. aces_to_acesLog16i converts to 0-65535.

Just to have a consistent transform chain. And maybe an information somewhere for people looking into this. But just getting a fully black image when converting through acesLog16i_to_aces due to it's different input range shouldn't happen I'd say?

from aces-dev.

scottdyer avatar scottdyer commented on July 2, 2024

In ACES Version 1.0, ACESlog is replaced with ACEScc.

from aces-dev.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.