Comments (6)
Yes, they do exist in the wild and people are using them. Tthat's how we got aware of the issue: a component in the software stack replaced FreeImage by OpenImageIO and now customers report that their content does not work anymore.
from openimageio.
This support would be great as luminance/chroma images can often be smaller in size for similar visual quality.
from openimageio.
Does anybody actually use subsampled Luminance/Chroma exr images, aside from testing conformance with the openexr-images examples? Do they exist in the wild?
They have a number of disadvantages -- in addition to being lossy, they only work for scanline images, and you have to read and buffer the whole image at once (to be able to interpolate, you can't process single scanlines at once). The RGBA interface only supports subsamples 1,1 or 2,2 (no other combinations) and doesn't support extra channels (including "layers").
Nuke doesn't read the RY/BY channels correctly, and doesn't support subsampled channels. Apple's Preview.app and Quickview also don't work with it. I've never seen an exr file with lum/chroma and/or subsampling used in real life, and in 15 years of OIIO history, I don't recall anybody complaining about lack of support.
It's definitely possible to add support for this, but before doing so, I want us to think carefully about whether the additional complexity is worth it, if it's not a file type anybody will ever encounter outside of trying to conformance test against the openexr-images samples.
For people who want to take advantage of chroma subsampling, I think the openexr team believes you should be using DWA compression. "I think anyone tempted to try chroma subsampling for efficiency might be better looking at DWA lossy compression of RGB, as that also does YCbCr conversion and is smarter than just blindly throwing away a bunch of chroma data in the hope that nobody will notice," is how Peter Hilman put it.
from openimageio.
Just for clarification, when you see in-the-wild images that are Luma/Chroma, are they also subsampled?
from openimageio.
Yes, the subsampling is what makes OIIO fail currently. I guess that without subsampling it would just present the plain Y/RY/BY channel values.
from openimageio.
Would it be possible to get some feedback on the corresponding PR? Is this a possible way to go, or is this approach too much of a kludge? What do you think about the open questions?
from openimageio.
Related Issues (20)
- Last release doesn't appear in master HOT 1
- Raise C++ standard minimmum to C++17 for OIIO 3.0
- Raise OpenEXR/Imath minimum to 3.1 for OIIO 3.0
- Raise Python minimum to 3.7 for OIIO 3.0
- Dump Boost from dependencies HOT 1
- Using span and string_view instead of raw pointers
- Convert the rest of ImageBufAlgo to use KWArgs where helpful
- Roadmap goal: Clean up color management for OIIO 3.0 HOT 3
- Feature request: improve sRGB parsing HOT 7
- [BUG] 2.5.9.0 tries to link libxml2 but it looks like cmake doesnt check for the library HOT 2
- [BUG] CMYK is being saved as RGB on export
- [BUG] glTexImage3D not in QOpenGLFunctions but in QOpenGLExtraFunctions HOT 2
- [BUG] When using ImageBuf, this file reports a divide-by-zero exception error. Please take a look
- an example program using OIIO's batched environment lookup HOT 1
- making a stab at generated images by bending the null image plugin HOT 3
- [FEATURE REQUEST] Metadata OpenEXR HOT 2
- [BUG] Photoshop files currently dont load 16- and 32- bit files' image data HOT 2
- [BUG] Wrong data type HOT 3
- [BUG] ensure proper constexpr of string hashing fix fails to build on 32-bit archs HOT 5
- black lanes in batched texture lookup HOT 13
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 openimageio.