diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2025-03-28 21:49:58 +0200 | 
|---|---|---|
| committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2025-03-31 09:56:10 +0300 | 
| commit | 8d5dab9f67d54ce20768c0ccda58f27693cb20c9 (patch) | |
| tree | 0fe79bf228132552160f2b0dd60dfa389a5c9035 /indra/newview/lllocalbitmaps.cpp | |
| parent | b1822e36e531a3c423404f0aa875cbf6949061a0 (diff) | |
#3809 Fix J2C Upload
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 31c9eb8966..72a7fe8814 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; @@ -356,6 +361,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; | 
