diff options
| author | Erik Kundiman <erik@megapahit.org> | 2025-05-29 11:54:56 +0800 |
|---|---|---|
| committer | Erik Kundiman <erik@megapahit.org> | 2025-05-29 11:54:56 +0800 |
| commit | 11d75418fce8372e9976b069070d9d0506766d0d (patch) | |
| tree | d0fc6b405dbcffefcd85f3ba52a8248c0128acde /indra/newview/lllocalbitmaps.cpp | |
| parent | b6c3d47c007c59cbd3c9913a0b99f9d42bdb8d75 (diff) | |
| parent | 0421e7b846b03d316740d759348c3aaa723d0b14 (diff) | |
Merge branch '2025.04'
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; |
