Skip to content

Review: RLA overhaul#216

Merged
lgritz merged 3 commits intoAcademySoftwareFoundation:masterfrom
lgritz:lg-rla
Jan 23, 2012
Merged

Review: RLA overhaul#216
lgritz merged 3 commits intoAcademySoftwareFoundation:masterfrom
lgritz:lg-rla

Conversation

@lgritz
Copy link
Collaborator

@lgritz lgritz commented Jan 20, 2012

Requirements at work caused us to need more robust handling of non-8-bit RLA files. In the process, I did a lot of simplification, refactoring, and commenting.

I'm very confident in the reader now. Even handles things like 10-bit RLAs embedded in 16 bit containers.

I'm still testing the writer, I think there are a couple subtle bugs that I'm tracking down that leads to occasional LSB errors. I'll update when I have them fixed, but it's going to be very minor, so I think there's no reason not to start the review now for anyone who's interested.

@lgritz
Copy link
Collaborator Author

lgritz commented Jan 20, 2012

Fixed the bug. Tests pass now. For all of Jeremy's examples, I can "iconvert foo.rla foo-oiio.rla" and have "idiff foo.rla foo-oiio.rla" report identical images.

@lgritz
Copy link
Collaborator Author

lgritz commented Jan 21, 2012

One more fix -- although I can't find any documentation saying that this should be the case, our previous implementation just dumped float data without RLE compression at all, in order to match other RLA-using software at SPI. I honestly don't know if this is "correct", "incorrect", or "nobody else has ever used float RLA, so who cares." I'm erring on the side of preserving compatibility with what we had before.

Copy link
Contributor

Choose a reason for hiding this comment

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

I get a compile warning here:

[ 70%] /net/homedirs/jeremys/git/oiio.js/src/rla.imageio/rlainput.cpp: In member function 'void OpenImageIO_Arnold::v0_11::RLAInput::preview(std::ostream&)':
/net/homedirs/jeremys/git/oiio.js/src/rla.imageio/rlainput.cpp:131: warning: dereferencing type-punned pointer will break strict-aliasing rules
/net/homedirs/jeremys/git/oiio.js/src/rla.imageio/rlainput.cpp:132: warning: dereferencing type-punned pointer will break strict-aliasing rules

Not sure if this warning matters or not.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'll fix the warning before I check in.

@jeremyselan
Copy link
Contributor

Looks good to me! (Feel free to commit either with or without the warning fix).

@lgritz lgritz merged commit cca4800 into AcademySoftwareFoundation:master Jan 23, 2012
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.

2 participants