> ...but what happens when I run an image codec that has higher bit value than 
> the core image chain or QC can handle? I'm not aware of documentation of 
> "what's going on" in that scenario.

You can't (realistically) have a codec with more precision than CoreImage.  CI 
internally uses 128 bit pixels (32 bits of each component, floating point), 
which is about as good as it gets (10-bit codecs and _maybe_ 12 bit codecs are 
high-end).  I suppose you could have 32 bit integer components (floating point 
wins on dynamic range, but not monotonic range like ints do), or 64 bit 
components, but virtually nothing will deal with that anyway.

QC will use whatever GL allows -- in the editor, this is generally 32 bit 
pixels (8 bits per component), but externally it can be deeper (With native 
Core Image Rendering enabled on billboards, you should get CI's full precision 
in the output if the destination can accept it).

Color conversion is a more subtle topic -- there are 601 and 709 matrices (that 
vade's alluded to) for YCbCr -> RGB and back, but there are also RGB->RGB 
conversions when tristimulus values change, or gamuts change, or when the 
source changes.  This gets complicated more quickly than one might thing.

Years ago, color conversions were avoided because they were expensive.  They're 
still expensive, but now they're avoided because everyone needs to be a good 
citizen, and the longer the processing pipeline gets, the more unlikely it is 
that everyone does the right thing.

When a source provides more data than QC can deal with (e.g., a floating point 
image via OpenEXR or TIFF or something), it simply discards the low bits.  
That's unrelated to color correction proper, but it can lead to subtle shifts 
if other pieces of the pipeline are deeper.  There's really nothing QC can do 
to preserve this data;  an 8 bit output context can only store 8 bits.

--
Christopher Wright
christopher_wri...@apple.com



 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      (Quartzcomposer-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to