diff options
author | Urvang Joshi <urvang@google.com> | 2014-04-17 18:59:30 -0700 |
---|---|---|
committer | Urvang Joshi <urvang@google.com> | 2014-04-18 02:06:32 +0000 |
commit | edf9b83e5df6e178e5bce7ffb0fe6ff0c9248a7c (patch) | |
tree | 3d0e31b31d9f7a1ed36c8bf9e3b711497d91e511 /framesequence | |
parent | ed900eafd6d38cddd01e31eb282165208e8c9171 (diff) | |
download | android_frameworks_ex-edf9b83e5df6e178e5bce7ffb0fe6ff0c9248a7c.tar.gz android_frameworks_ex-edf9b83e5df6e178e5bce7ffb0fe6ff0c9248a7c.tar.bz2 android_frameworks_ex-edf9b83e5df6e178e5bce7ffb0fe6ff0c9248a7c.zip |
GIF decode: rectify loop count extraction
Left-shift was missing earlier.
An example affected image: https://x20web.corp.google.com/~urvang/anim3/images/anim_icc.gif
Earlier code would have set mLoopCount to 125, while correct value is 32000.
Confirmed with ImageMagick:
identify -verbose anim_icc.gif | grep 'Iterations'
Iterations: 32000
Change-Id: I3fc9cc2febd0cc4f51c80ccf7ddcd98723881214
Diffstat (limited to 'framesequence')
-rw-r--r-- | framesequence/jni/FrameSequence_gif.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/framesequence/jni/FrameSequence_gif.cpp b/framesequence/jni/FrameSequence_gif.cpp index daa097b..f3e94df 100644 --- a/framesequence/jni/FrameSequence_gif.cpp +++ b/framesequence/jni/FrameSequence_gif.cpp @@ -89,7 +89,7 @@ FrameSequence_gif::FrameSequence_gif(Stream* stream) : && eb2->Function == CONTINUE_EXT_FUNC_CODE && eb2->ByteCount == 3 && eb2->Bytes[0] == 1) { - mLoopCount = (int)(eb2->Bytes[2] & 0xff) + (int)(eb2->Bytes[1] & 0xff); + mLoopCount = (int)(eb2->Bytes[2] << 8) + (int)(eb2->Bytes[1]); } } |