Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build correctly against OCIO 2.x (in progress) #2530

Merged
merged 1 commit into from Mar 30, 2020

Conversation

lgritz
Copy link
Collaborator

@lgritz lgritz commented Mar 27, 2020

And incorporate a build against OCIO master into the "bleeding edge" CI test, so we don't drift out of sync again.

And incorporate a build against OCIO master into the "bleeding edge"
CI test, so we don't drift out of sync again.
@lgritz
Copy link
Collaborator Author

lgritz commented Mar 27, 2020

Just to clarify, OCIO v2 won't be released for months. This is just ensuring that we can build OIIO against OCIO's master at all times.

Copy link

@doug-walker doug-walker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I notice you do some Processor caching in color_ocio.cpp. I realize this is a WIP, but at some point you may want to discuss that with Patrick as he has been looking at that subject recently and may have some suggestions.

return OCIO::BIT_DEPTH_UINT16;
if (type == TypeDesc::UINT32)
return OCIO::BIT_DEPTH_UINT32;
// N.B.: OCIOv2 also supports 10, 12, and 14 bit int, but we won't

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure exactly what you use this function for, but I just wanted to clarify something in case it may be helpful ... The OCIO BitDepth enum is unchanged from v1. What has changed is that we can now process image buffers that are not F32. However we did not add support for all of the BitDepths that v1 declared. The pixel types we support in v2 are UINT8, UINT10, UINT12, UINT16, F16, and F32. Note that we do not support (that is, are unable to process) the UINT14 or UINT32 pixel types.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, that's good to know. I will adjust the comments.

Currently, the rest of OIIO's interface with OCIO assumes (from v1) that it can only handle float, so that's the only kind of buffer that's passed into this section. But when v2 is released, there are probably places where I can accommodate that without needing to do data type conversions first.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In case it could help OCIOv2 now supports the channel ordering for PackedImageDesc:

enum ChannelOrdering
{
    CHANNEL_ORDERING_RGBA = 0,
    CHANNEL_ORDERING_BGRA,
    CHANNEL_ORDERING_ABGR,
    CHANNEL_ORDERING_RGB,
    CHANNEL_ORDERING_BGR
};

@lgritz lgritz merged commit b2f0e40 into AcademySoftwareFoundation:master Mar 30, 2020
@lgritz lgritz deleted the lg-ocio2 branch March 30, 2020 23:22
lgritz added a commit to lgritz/OpenImageIO that referenced this pull request Mar 31, 2020
…tion#2530)

And incorporate a build against OCIO master into the "bleeding edge"
CI test, so we don't drift out of sync again.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants