You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have a unit test in MayaUSD that reads OpenEXR images with 1, 2, and 4 channels in both half and float format to make sure every image type loads correctly.
Initially logged as issue #2800 which was fixed in 24.03/24.05. However the issue is back again in 24.08.
Looking at recent changes, replacing strIsRed() with a combined strIsComponent() suddenly lost the capability to decode a Y channel as being a potential red channel. Don't know if this is sufficient to cause the error we see though. Change is here.
The following patch gets us to:
diff --git a/pxr/imaging/hio/OpenEXR/openexr-c.c b/pxr/imaging/hio/OpenEXR/openexr-c.c
index 5c39b5adb..11464923d 100644
--- a/pxr/imaging/hio/OpenEXR/openexr-c.c
+++ b/pxr/imaging/hio/OpenEXR/openexr-c.c
@@ -657,7 +657,8 @@ static exr_result_t _nanoexr_rgba_decoding_initialize(
for (int c = 0; c < decoder->channel_count; ++c) {
int channelIndex = -1;
decoder->channels[c].decode_to_ptr = NULL;
- if (strIsComponent(layerName, decoder->channels[c].channel_name, "red")) {
+ if (strIsComponent(layerName, decoder->channels[c].channel_name, "red")
+ || strIsComponent(layerName, decoder->channels[c].channel_name, "y")) {
rgba[0] = c;
channelIndex = 0;
}
So the only thing now missing is the expansion from "YA" to "YYYA" for the RG16F and RG32F images.
Yes sure. In MayaUsd we have a unit test for this. It is part of our testVP2RenderDelegateMaterialX test, specifically the DemoQuads test which is failing. The reference image is DemoQuads_render.png. The usd file it loads is DemoQuads.usda
Description of Issue
We have a unit test in MayaUSD that reads OpenEXR images with 1, 2, and 4 channels in both half and float format to make sure every image type loads correctly.
Initially logged as issue #2800 which was fixed in 24.03/24.05. However the issue is back again in 24.08.
Looking at recent changes, replacing
strIsRed()
with a combinedstrIsComponent()
suddenly lost the capability to decode a Y channel as being a potential red channel. Don't know if this is sufficient to cause the error we see though. Change is here.The following patch gets us to:
So the only thing now missing is the expansion from "YA" to "YYYA" for the RG16F and RG32F images.
@meshula Would you be able to help with this?
Steps to Reproduce
System Information (OS, Hardware)
Windows: heap corruption crash before the scene shows
Linux: Corrupted images
Package Versions
USD v24.08 with MaterialX v1.38.10
Build Flags
The text was updated successfully, but these errors were encountered: