summaryrefslogtreecommitdiffstats
path: root/framesequence
diff options
context:
space:
mode:
authorUrvang Joshi <urvang@google.com>2014-04-17 18:59:30 -0700
committerUrvang Joshi <urvang@google.com>2014-04-18 02:06:32 +0000
commitedf9b83e5df6e178e5bce7ffb0fe6ff0c9248a7c (patch)
tree3d0e31b31d9f7a1ed36c8bf9e3b711497d91e511 /framesequence
parented900eafd6d38cddd01e31eb282165208e8c9171 (diff)
downloadandroid_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.cpp2
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]);
}
}