Re: Technical Introduction update ?

Piotr Stanczyk <[email protected]> Mon, 28 Mar 2016 15:16:39 -0700
Newsgroups gmane.comp.video.openexr.devel
Message-ID <CALVgk2orb_BkitN_RUkuOKceO3hck0Kd4sF9EKRpZ08F6gO8MA@mail.gmail.com>
+1 .. there is nothing that the client code really has to do. It's purely
based off the channel names.

-Piotr


On 28 March 2016 at 15:05, Karl Rasche <[email protected]> wrote:

> Deke -
>
> All the channel rule setup should happen automagically; there isn't
> anything for Nuke to setup.
>
> That said, if your channels are all named RGB going into the write node,
> they'll all be handled the same by the compressor.
>
> Karl
>
> On Monday, March 28, 2016, Deke Kincaid <[email protected]> wrote:
>
>> Thanks for the info Karl.  Currently Nuke doesn't follow these rules and
>> when you pick DWAA and just compresses all channels the same instead of
>> selectively based on channel names. So we are having to write some hackery
>> to work around it at the moment.
>>
>> I'll put this into my feature request/bug to the Foundry.
>>
>> On Mon, Mar 28, 2016 at 2:15 PM, Karl Rasche <[email protected]>
>> wrote:
>>
>>>
>>> This won't help on the documentation front, but for your question about
>>> how channels are handled...
>>>
>>> This is setup in initializeChannelRules()
>>> <https://github.com/openexr/openexr/blob/master/OpenEXR/IlmImf/ImfDwaCompressor.cpp#L3120>.
>>> That logic is basically saying:
>>>
>>>
>>>    - If the channel name is A, use a lossless RLE compression on it
>>>    - If the channel name is {Y, BY, RY}, and the data is {FLOAT, HALF},
>>>    lossy compress the channel
>>>    - If the channel name is {R, G, B}, and the data is {FLOAT, HALF},
>>>    lossy compress the channels.
>>>    - If we have R, G, and B channels, convert to a color difference
>>>    format prior to quantization. Otherwise, deal with the channels
>>>    independently as-is.
>>>    - Otherwise, use a lossless compression on the data
>>>
>>> So channels named {y, u, U, v, V} should not be lossy compressed.
>>>
>>> The rule set that Jonathan is referring to is in
>>> initializeLegacyChannelRules()
>>> <https://github.com/openexr/openexr/blob/master/OpenEXR/IlmImf/ImfDwaCompressor.cpp#L3149>,
>>> and are slightly different from what 2.2 does by default.
>>>
>>> Most of this is hold-over from the time before multi-part files allowed
>>> more control over compression on different channel sets.
>>>
>>> Karl
>>>
>>> On Mon, Mar 28, 2016 at 1:56 PM, Richard Hadsell <
>>> [email protected]> wrote:
>>>
>>>> There has been discussion on the [nuke-prerelease] e-mail list about
>>>> DWAA and DWAB compression with OpenExr 2.2.  I checked the OpenExr
>>>> Technical Introduction, but was disappointed to see that it has not been
>>>> updated since November 2013.  Is there any chance that someone is working
>>>> on an update?
>>>>
>>>> It is not difficult to use DWAA and DWAB compressions, which are
>>>> available in the compression header.  That is not the problem.  The
>>>> questions that I would like to see answered pertain more to lossy vs.
>>>> lossless compression.  The [nuke-prerelease] discussion included
>>>> interesting information like this:
>>>>
>>>> On Thu, Mar 17, 2016 at 1:03 PM, Jonathan Egstad <
>>>> [email protected]> wrote:
>>>> ...
>>>> > 3. Does the lossyness cause issues with data aov's, motion vectors,
>>>> uv, position, normals, etc...?
>>>>
>>>> Yup - it will destroy data AOVs like normals, positions, etc.  I
>>>> believe the codec recognizes typical color-channel names like
>>>> 'r/R/red/RED', etc and only lossy compresses those.  Channels it doesn't
>>>> recognize will get lossless compressed with I believe ZIP - alpha for
>>>> example is lossless compressed.
>>>> One gotcha is I think it traps 'Y/y, u/U, v/V' as valid color channels
>>>> and lossy-compresses those, which is a problem for xyz and uv channels...
>>>> This is how our internal codec works so you might want to check that
>>>> the one in the official OpenEXR2.2+ release has these behaviors.
>>>> ...
>>>> (end quote)
>>>>
>>>> It would be great to see a list of those special channel names.  Are
>>>> they the only channels that are compressed with DWAA/DWAB?  What
>>>> compression would be applied to the other channels?  Does this behavior
>>>> apply to all lossy compressions?
>>>>
>>>> I hope to see answers to these questions in an updated Technical Intro
>>>> (eventually).
>>>>
>>>> --
>>>> Dick Hadsell			203-992-6320  Fax: 203-992-6001
>>>> Reply-to:			[email protected]
>>>> Blue Sky Studios                http://www.blueskystudios.com
>>>> 1 American Lane, Greenwich, CT 06831-2560
>>>>
>>>>
>>>> _______________________________________________
>>>> Openexr-devel mailing list
>>>> [email protected]
>>>> https://lists.nongnu.org/mailman/listinfo/openexr-devel
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Openexr-devel mailing list
>>> [email protected]
>>> https://lists.nongnu.org/mailman/listinfo/openexr-devel
>>>
>>>
>>
> _______________________________________________
> Openexr-devel mailing list
> [email protected]
> https://lists.nongnu.org/mailman/listinfo/openexr-devel
>
>

_______________________________________________
Openexr-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/openexr-devel