forked from KolibriOS/kolibrios
libimg: fixed processing of some interlaced GIFs
git-svn-id: svn://kolibrios.org@1121 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
c9b2d4590c
commit
3d9673dba4
@ -290,7 +290,7 @@ img.decode.gif.cur_color_table_size_child equ ebp + 4 + 4 + 4*3 + 4
|
|||||||
test edx, edx
|
test edx, edx
|
||||||
jz .nofreeprev
|
jz .nofreeprev
|
||||||
mov ebx, [edx + Image.Extended]
|
mov ebx, [edx + Image.Extended]
|
||||||
cmp [ebx + gif.Image.gce.DelayTime], 0
|
cmp [edx + Image.Delay], 0
|
||||||
jnz .nofreeprev
|
jnz .nofreeprev
|
||||||
mov esi, [prev_palette]
|
mov esi, [prev_palette]
|
||||||
cmp esi, [edx + Image.Palette]
|
cmp esi, [edx + Image.Palette]
|
||||||
@ -698,8 +698,6 @@ img.decode.gif._.process_image.output:
|
|||||||
mov [img.decode.gif.max_color_child], al
|
mov [img.decode.gif.max_color_child], al
|
||||||
@@: stosb
|
@@: stosb
|
||||||
|
|
||||||
cmp edi, [img_end]
|
|
||||||
jz .done
|
|
||||||
cmp edi, [row_end]
|
cmp edi, [row_end]
|
||||||
jb .norowend
|
jb .norowend
|
||||||
mov eax, [width]
|
mov eax, [width]
|
||||||
@ -718,6 +716,8 @@ img.decode.gif._.process_image.output:
|
|||||||
jb .nextrow
|
jb .nextrow
|
||||||
mov edi, [img_start]
|
mov edi, [img_start]
|
||||||
inc [pass]
|
inc [pass]
|
||||||
|
cmp [pass], 4
|
||||||
|
je .done
|
||||||
add edi, eax
|
add edi, eax
|
||||||
cmp [pass], 3
|
cmp [pass], 3
|
||||||
je @f
|
je @f
|
||||||
@ -734,6 +734,8 @@ img.decode.gif._.process_image.output:
|
|||||||
xor eax, eax
|
xor eax, eax
|
||||||
|
|
||||||
.norowend:
|
.norowend:
|
||||||
|
cmp edi, [img_end]
|
||||||
|
jz .done
|
||||||
loop .loop2
|
loop .loop2
|
||||||
pop edx eax esi
|
pop edx eax esi
|
||||||
retn
|
retn
|
||||||
|
Loading…
Reference in New Issue
Block a user