Comments (2)
This issue may have been introduced when the 32 bps output file option was added.
When specifying an integral input and output file type ctlrender will, by default, match the bit depth of the input file. That's not supposed to be the case for floating point file types. Prior to adding 32f exr files, specifying -format exr caused the files to scale and write as expected. Now it seems as if ctlrender is trying to match the bit depth of the 10-bit input file and write a 10-bit EXR, hence the error.
16-bit exr should be the default for the .exr extension and scaling should happen automatically regardless of the bit depth of the integral input file.
Alex
Alexander Forsythe - Imaging Engineering Manager - Science and Technology Council
Academy of Motion Picture Arts and Sciences - Tel 310-247-3000 x3310
Fax 310-247-3611 - www.oscars.org - [email protected]
On Feb 3, 2014, at 3:10 PM, Scott Dyer [email protected] wrote:
When input file is 10-bit, and output file is 16-bit OpenEXR, the following error is received:
"exception thrown (oops...): EXR files only support 16 or 32 bps at the moment."This may actually be the intended behavior, but it seems like ctlrender should automatically scale correctly when the input format is an integral file and the output file is floating point. Adding an explicit -format exr16 works but the default behavior seems different than it was prior to CTL 1.5.
To reproduce, run the following line using the Sony F35 IDT available from aces-dev on the SonyF35.StillLife.dpx file available from the reference images 'camOrig' directory also available on aces-dev. For testing, I have used the 10-bit S-Log DPX file through the Sony F35 IDT.
This throws the exception:
ctlrender -ctl ~/aces-dev/transforms/ctl/idt/vendorSupplied/sony/F35/idt-SonyF35-10i.ctl -param1 aIn 1.0 SonyF35.StillLife.dpx test_idt.exr
This will work:
ctlrender -ctl ~/aces-dev/transforms/ctl/idt/vendorSupplied/sony/F35/idt-SonyF35-10i.ctl -param1 aIn 1.0 SonyF35.StillLife.dpx test_idt.exr -format exr16
—
Reply to this email directly or view it on GitHub.
from ctl.
In lieu of a default of 16-bits and automatic scaling regardless of the bit depth of the input file, the error message “EXR files only support 16 or 32 bps at the moment.” could be changed to say (since the code throwing the error clearly has knowledge of the requested bit depth)
“EXR files only support 16 or 32 bits per sample; the implicitly requested 10 bits per sample is unsupported. Use -format exr16 or -format exr32 to explicitly request 16-bit or 32-bit floating-point EXR output.”
However, adding automatic scaling and allowing for override using -format exr32
seems the more elegant solution.
from ctl.
Related Issues (20)
- Not having a main() function causes a crash on Windows HOT 1
- ctlrender tests not working on Windows HOT 3
- CTL cmake does not find required dependencies when using apt-get install libilmbase-dev libopenexr-dev HOT 1
- EXR output resolutions are incorrect
- ctl_render dpx_read() should give error message when trying to open invalid filename
- install locations of a few files could be improved HOT 2
- Refactor exr_write() into a single function
- typo in include guard in dpx_raw.hh
- missing unit tests for code in directory /CTL/OpenEXR_CTL/exr_ctl_exr/ HOT 2
- missing unit tests for code in directory /CTL/OpenEXR_CTL/exrdpx/
- typo in \CTL\doc\CtlManual.pdf section 2.4 Arrays, Static Data and Lookup Tables
- typo in dpxToExr.cpp and exrToDpx.cpp
- Tiff read error when reading EXR file HOT 25
- LeakSanitizer: detected memory leaks when using -float argument with exr_ctl_exr HOT 2
- deprecation warning: 'uint32' is deprecated HOT 1
- 5 compile warnings on MacOs
- "Bad magic number" error on known valid OpenEXR files HOT 7
- New CTL programs HOT 6
- Build fails with strict-aliasing violations HOT 5
- Segmentation fault can result in ctlrender when the number of instructions gets too large
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ctl.