summaryrefslogtreecommitdiff
path: root/indra/llkdu/llimagej2ckdu.h
AgeCommit message (Collapse)Author
2024-01-08replace boost library to standardAiraYumi
2016-11-03DRTVWR-418: Update KDU and llimagej2ckdu* with certain clang fixes.Nat Goodspeed
2016-11-03Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat 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-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-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-05-19Automated merge with tip of viewer-release to pick up 4.0.5callum_linden
2016-04-25DRTVWR-418: Fix indra/llkdu wrapper for changes in KDU 7.8 API.Nat Goodspeed
KDU 7.8 introduces a number of changes to its API, most notably by moving public symbols into a variety of kdu_something namespaces. While this is laudable in a general sense, it does require quite a bit of diagnostic building and patching to update legacy code. Since llimagej2ckdu_test.cpp lamentably stubs out pretty much the entire KDU API, we must also fix those stubs for signature changes even to functions we don't otherwise reference. NOTE: This commit still leaves four symbols undefined. Below I have taken the liberty of juxtaposing the error line with the output from dumpbin /exports build-vc120/packages/lib/release/kdu.lib. I see no differences. unresolved symbol (?kdu_convert_ycc_to_rgb_rev16@kdu_core@@3P6AXPAF00H@ZA) "void (__cdecl* kdu_core::kdu_convert_ycc_to_rgb_rev16)(short *,short *,short *,int)" ?kdu_convert_ycc_to_rgb_rev16@kdu_core@@3P6AXPAF00H@ZA (void (__cdecl* kdu_core::kdu_convert_ycc_to_rgb_rev16)(short *,short *,short *,int)) unresolved symbol (?kdu_convert_ycc_to_rgb_irrev16@kdu_core@@3P6AXPAF00H@ZA) "void (__cdecl* kdu_core::kdu_convert_ycc_to_rgb_irrev16)(short *,short *,short *,int)" ?kdu_convert_ycc_to_rgb_irrev16@kdu_core@@3P6AXPAF00H@ZA (void (__cdecl* kdu_core::kdu_convert_ycc_to_rgb_irrev16)(short *,short *,short *,int)) unresolved symbol (?kdu_convert_ycc_to_rgb_rev32@kdu_core@@3P6AXPAH00H@ZA) "void (__cdecl* kdu_core::kdu_convert_ycc_to_rgb_rev32)(int *,int *,int *,int)" ?kdu_convert_ycc_to_rgb_rev32@kdu_core@@3P6AXPAH00H@ZA (void (__cdecl* kdu_core::kdu_convert_ycc_to_rgb_rev32)(int *,int *,int *,int)) unresolved symbol (?kdu_convert_ycc_to_rgb_irrev32@kdu_core@@3P6AXPAM00H@ZA) "void (__cdecl* kdu_core::kdu_convert_ycc_to_rgb_irrev32)(float *,float *,float *,int)" ?kdu_convert_ycc_to_rgb_irrev32@kdu_core@@3P6AXPAM00H@ZA (void (__cdecl* kdu_core::kdu_convert_ycc_to_rgb_irrev32)(float *,float *,float *,int)) 24>C:\Users\Nat\linden\viewer64\build-vc120\newview\RelWithDebInfo\secondlife-bin.exe : fatal error LNK1120: 4 unresolved externals
2015-11-10remove execute permission from many files that should not have itOz Linden
2014-12-10Fix for incorrectly formatted #if statements (worked on clang FWIW!)callum_linden
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-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2012-06-08Merge pull from vir/dranoMerov 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-03-25SH-3050 : Parse an input codestream without decompressing it to find discard ↵Merov Linden
levels boundaries (test only).
2012-02-27SH-1998 : Compatible API changes KDU v6.4.1 / v7.0.0Merov Linden
2011-05-04EXP-664 : Make encoding parameters more resilient to bad entries, add levels ↵Merov Linden
as encoding parameters, update test applet to support this
2011-04-04STORM-746 : add precincts and blocks arguments taken into account in j2c outputMerov Linden
2011-04-04STORM-746 : add new arguments for precincts and blocks on output, region and ↵Merov Linden
level on input, add code for input loading restriction
2010-12-24STORM-744 : Took code review into account, moving stuff back in protected or ↵Merov Linden
even private, fix things to work in debug mode, some clean up in j2coj also
2010-12-17STORM-744 : Add llkdu unit tests, turn on and fix llworldmap unit tests in ↵Merov Linden
newview
2010-12-15STORM-151 : Suppress unused code, clean up code formating, fix typosMerov Linden
2010-11-12STORM-151 : Got decompression to work, compression disabled, simplified ↵Merov Linden
llkdu building
2010-11-11STORM-151 : merge kdu static linking, add indra/llkdu implementation. ↵Merov Linden
Doesn't build yet.