diff options
Diffstat (limited to 'cmds/bootanimation/BootAnimation.cpp')
| -rw-r--r-- | cmds/bootanimation/BootAnimation.cpp | 13 | 
1 files changed, 10 insertions, 3 deletions
| diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp index d816e7ce639b..154dbb873575 100644 --- a/cmds/bootanimation/BootAnimation.cpp +++ b/cmds/bootanimation/BootAnimation.cpp @@ -42,6 +42,7 @@  #include <surfaceflinger/ISurfaceComposerClient.h>  #include <core/SkBitmap.h> +#include <core/SkStream.h>  #include <images/SkImageDecoder.h>  #include <GLES/gl.h> @@ -150,9 +151,15 @@ status_t BootAnimation::initTexture(void* buffer, size_t len)      //StopWatch watch("blah");      SkBitmap bitmap; -    SkImageDecoder::DecodeMemory(buffer, len, -            &bitmap, SkBitmap::kRGB_565_Config, -            SkImageDecoder::kDecodePixels_Mode); +    SkMemoryStream  stream(buffer, len); +    SkImageDecoder* codec = SkImageDecoder::Factory(&stream); +    codec->setDitherImage(false); +    if (codec) { +        codec->decode(&stream, &bitmap, +                SkBitmap::kRGB_565_Config, +                SkImageDecoder::kDecodePixels_Mode); +        delete codec; +    }      // ensure we can call getPixels(). No need to call unlock, since the      // bitmap will go out of scope when we return from this method. |