diff options
author | Erik Kundiman <erik@megapahit.org> | 2025-05-29 12:35:27 +0800 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2025-05-29 12:35:27 +0800 |
commit | d046d7e0e1e3ccbffb42d22fe52aa73d0c170b8e (patch) | |
tree | 7c2023e55955c9aed55db9331bae164a386a2d21 /indra/newview/lllocalbitmaps.cpp | |
parent | 6641e36082f27faa282a0af6f88f381ffc97e179 (diff) | |
parent | 11d75418fce8372e9976b069070d9d0506766d0d (diff) |
Merge branch 'main' into 2025.05
Diffstat (limited to 'indra/newview/lllocalbitmaps.cpp')
-rw-r--r-- | indra/newview/lllocalbitmaps.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/indra/newview/lllocalbitmaps.cpp b/indra/newview/lllocalbitmaps.cpp index 101ee215cb..e31fbb188a 100644 --- a/indra/newview/lllocalbitmaps.cpp +++ b/indra/newview/lllocalbitmaps.cpp @@ -38,6 +38,7 @@ /* image compression headers. */ #include "llimagebmp.h" #include "llimagetga.h" +#include "llimagej2c.h" #include "llimagejpeg.h" #include "llimagepng.h" @@ -106,6 +107,10 @@ LLLocalBitmap::LLLocalBitmap(std::string filename) { mExtension = ET_IMG_JPG; } + else if (temp_exten == "j2c" || temp_exten == "jp2") + { + mExtension = ET_IMG_J2C; + } else if (temp_exten == "png") { mExtension = ET_IMG_PNG; @@ -354,6 +359,21 @@ bool LLLocalBitmap::decodeBitmap(LLPointer<LLImageRaw> rawimg) break; } + case ET_IMG_J2C: + { + LLPointer<LLImageJ2C> jpeg_image = new LLImageJ2C; + if (jpeg_image->load(mFilename)) + { + jpeg_image->setDiscardLevel(0); + if (jpeg_image->decode(rawimg, 0.0f)) + { + rawimg->biasedScaleToPowerOfTwo(LLViewerFetchedTexture::MAX_IMAGE_SIZE_DEFAULT); + decode_successful = true; + } + } + break; + } + case ET_IMG_PNG: { LLPointer<LLImagePNG> png_image = new LLImagePNG; |