summaryrefslogtreecommitdiff
path: root/indra/llkdu
AgeCommit message (Collapse)Author
2016-08-06MAINT-6584: Don't crash on inconsistent dims in a JPEG-2000 image.Nat Goodspeed
Previous code would crump with LL_ERRS. But a bad image file should fail only the image load -- not crash the viewer. While at it, validate all components present, not just 0, 1, 2. While at it, make the failure message report which component and what the mismatched dimensions are, not just "Components don't have matching dimensions!"
2016-08-05MAINT-6584: Introduce KDUError exception from other viewer project.Nat Goodspeed
Specifically, manually apply changesets b4db8a8 and b98371d from nat_linden/viewer-mac-mainloop. We need to throw from a new place, but if we threw const char* (current convention), the new throw wouldn't be patched when we merge to new exception convention.
2016-08-05MAINT-6584: Add explanatory comments to LLImageJ2CKDU implementation.Nat Goodspeed
These comments are inherently fragile, in that they enumerate all present callers of certain methods. Adding, removing or relocating calls would invalidate these comments. However, the LLImageJ2CKDU implementation is probably pretty stable by now.
2016-08-05MAINT-6584: Clarify LLKDUMessageError::flush() throwing exception.Nat Goodspeed
2016-08-04MAINT-6584: Comment out completely unused LLImageJ2CKDU code.Nat Goodspeed
The only call to the findDiscardLevelsBoundaries() method was commented out inside initDecode(), with a comment: // Merov : Test!! DO NOT COMMIT!! This was the only caller of copy_tile(), which was the only caller of copy_block(). Commented out all three of these (biggish!) functions, since I have no idea what any of them were supposed to do or when it might be useful to call them. In other words, I can't yet rule out the possibility that I might have to uncomment them.
2016-07-27MAINT-4327/MAINT-6584 Supress the crash on memory allocation error when ↵AndreyL ProductEngine
decoding J2C images
2016-08-03MAINT-6584: Use RAII classes to manage helper object lifespans.Nat Goodspeed
Use boost::scoped_ptr instead of raw pointers to LLKDUMemSource, LLKDUDecodeState, kdu_coords and kdu_dims so cleanup is simpler, and automated on destruction of LLImageJ2CKDU. Replace pointer to kdu_codestream with a custom RAII class. kdu_codestream is itself an opaque handle, so we don't need to add another layer of indirection. Just wrap it to ensure its destroy() method is reliably called when needed. Make static instances of LLKDUMessageWarning and LLKDUMessageError self-register, eliminating the companion static bool and explicit checks in code.
2016-07-22MAINT-6584: Convert LLImage class hierarchy to standard 'bool'Nat Goodspeed
instead of legacy BOOL.
2016-07-22MAINT-6584: Rationalize custom KDU error/warning message classes.Nat Goodspeed
Derive them both from a common base class that does the message logging, instead of having each handler class log redundantly -- especially since the put_text() override accepting const kdu_uint16* was simply streaming the kdu_uint16 pointer to the log file, which would log the hex value of the pointer. Although we want a static instance of each of these handler classes, pull it out rather than nesting the instance within the class itself.
2016-07-21MAINT-6584: Streamline static LLImageJ2C implementation API.Nat Goodspeed
Specifically, remove unused function pointer types CreateLLImageJ2CFunction, DestroyLLImageJ2CFunction and EngineInfoLLImageJ2CFunction. Also eliminate static fallbackDestroyLLImageJ2CImpl() and fallbackEngineInfoLLImageJ2CImpl(), leaving only static fallbackCreateLLImageJ2CImpl(). We do need a factory function to instantiate the appropriate LLImageJ2CImpl subclass, so leave the fallbackCreateLLImageJ2CImpl() link seam in place. However, given that every known LLImageJ2CImpl subclass is cheap to instantiate, make getEngineInfo() a pure virtual method on that subclass: the static LLImageJ2C::getEngineInfo() method can temporarily construct an instance to query. While we're at it, make getEngineInfo() return std::string like LLImageJ2C::getEngineInfo(). It's ridiculous that fallbackEngineInfoLLImageJ2CImpl() implementations constructed a static std::string and returned its c_str(), only to have LLImageJ2C::getEngineInfo() construct ANOTHER std::string from the returned const char*. fallbackDestroyLLImageJ2CImpl() never did anything useful: it merely deleted the passed LLImageJ2CImpl subclass pointer as the specific subclass type. But since LLImageJ2CImpl's destructor is virtual, LLImageJ2C's destructor could simply delete the stored LLImageJ2CImpl*. In fact, make mImpl a boost::scoped_ptr<LLImageJ2CImpl> so we don't even have to delete it manually.
2016-07-21DRTVWR-427: Remove engineInfoLLImageJ2CKDU(), createLLImageJ2CKDU(),Nat Goodspeed
destroyLLImageJ2CKDU(). These were apparently intended as simple C-style DLL entry points. But as nobody calls them, and as we decided against building the viewer from DLLs, they only clutter the code.
2016-04-04merge with 4.0.3-releaseOz Linden
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-01-16Linux llimagej2ckdu_test.cpp no longer needs obsolete stubs.Nat Goodspeed
Use the same signatures as for the other platforms.
2014-12-16Fix another empty #elif to plain #else.Nat Goodspeed
2014-12-10Fix for incorrectly formatted #if statements (worked on clang FWIW!)callum_linden
2014-10-22Update to build on Xcode 6.0 (fix unit tests): fix function stubbing in KDUcallum_linden
2014-10-21Update to build on Xcode 6.0 (fix unit tests): turn off warnings for ↵callum_linden
multiple unused private members
2014-10-20Update to build on Xcode 6.0: remove #pragmas from code to deal with tut ↵callum_linden
warnigs/errors (moved to package) AND bracket clang #pragmas in #if LL_DARWIN
2014-10-17Update to build on Xcode 6.0: explicitly supress certain warnings in KDU ↵callum_linden
package files
2013-10-01BUILDFIX: another unit test link seam with out of date codeRichard Linden
2013-09-05BUILDFIX: unit tests still using old sMemStat declarationsRichard Linden
2013-08-09second phase summer cleaningRichard Linden
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-07-01BUILDFIX: reverted changes that attempted to automate mem trackRichard Linden
stat definition as they don't work on gcc/clang
2013-07-01SH-4294 FIX Interesting: Statistics Texture cache hit rate is always 0%Richard Linden
also, removed LLTrace::init and cleanup removed derived class implementation of memory stat for LLMemTrackable is automatic now
2013-06-05merge with viewer-releaseRichard Linden
2013-04-19merge changes for DRTVWR-294Oz Linden
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-03-22merge with viewer-releaseRichard Linden
2013-03-21SH-3931 WIP Interesting: Add graphs to visualize scene load metricsRichard Linden
copied over scene load frame differencing changes from viewer-interesting made periodicrecording flexible enough to allow for indefinite number of periods added scene loading stats floater fixed collapsing behavior of container views
2013-01-24merging in viewer-beta.Nyx Linden
Most of the merge was clean, a couple conflicts. Brought over a couple patches manually for llpolymesh.
2013-01-06SH-3468 WIP add memory tracking base classRichard Linden
fix for unit test failures...cleanup apr without destroying pools, allowing LLProxy to clean itself up as a singleton (and avoiding spurious dependencies associated with manually destorying singletons that rely on apr pools)
2012-09-13Fleshed out target_link_libraries dependencies between libraries. ↵Don Kjer
Appearance utility now reads avatar_lad.xml during stubbed out params processing.
2012-09-06Automated merge with http://bitbucket.org/lindenlab/viewer-developmentRichard Linden
2012-09-05Merge in latest viewer-developmentsimon@Simon-PC.lindenlab.com
2012-07-20MAINT-570 Remove unused memory tracking system LLMemTypeKelly Washington
follow up to fix test compiles.
2012-06-26v-r to drano merge conflicts wipBrad Payne (Vir Linden)
2012-06-08Merge pull from vir/dranoMerov Linden
2012-05-09SH-3075 : Fix reversible compression for very small textures. Also supress ↵Merov Linden
the forcing to reversible for small textures.
2012-05-09SH-3075 : Fix reversible compression for very small textures. Also supress ↵Merov Linden
the forcing to reversible for small textures.
2012-05-08SH-3047 : Fix lossless compression for small textures.Merov Linden
2012-05-08SH-3047 : Fix lossless compression for small textures.Merov Linden
2012-04-06SH-3060 : Complete new byte range computation, clean up and back pedal on ↵Merov Linden
some changes that didn't pay of.
2012-04-06SH-3060 : Fix kdu unit test I broke while changing mRate init policyMerov Linden
2012-04-05SH-3060 : Implement new byte range computation, cleaned up use of ↵Merov Linden
compression rate as well.
2012-04-04SH-3060 : New byte range implementation. Intermediate (not working) state.Merov Linden
2012-04-04SH-3075 : Fix encoding for reversible images and small texturesMerov Linden
2012-04-02SH-3060 : Preliminary implementation of the new byte range computation, ↵Merov Linden
implement setting to turn it on or off
2012-03-30SH-3050 : Add a call to set_max_bytes() and some clean upMerov Linden
2012-03-25SH-3050 : Parse an input codestream without decompressing it to find discard ↵Merov Linden
levels boundaries (test only).