Rev 717 | Rev 783 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 717 | Rev 722 | ||
---|---|---|---|
Line 147... | Line 147... | ||
147 | movzx ecx, [ebx + gif.ImageDescriptor.Height] |
147 | movzx ecx, [ebx + gif.ImageDescriptor.Height] |
148 | stdcall img._resize_data, [img], eax, ecx |
148 | stdcall img._resize_data, [img], eax, ecx |
149 | or eax, eax |
149 | or eax, eax |
150 | jz .error |
150 | jz .error |
Line -... | Line 151... | ||
- | 151 | ||
- | 152 | xor ecx, ecx |
|
151 | 153 | mov eax, [edx + Image.Extended] |
|
152 | test [ebx + gif.ImageDescriptor.Packed], gif.ID.Packed.LocalColorTableFlag |
154 | test [ebx + gif.ImageDescriptor.Packed], gif.ID.Packed.LocalColorTableFlag |
153 | jz @f |
155 | jz @f |
154 | mov cl, [ebx + gif.ImageDescriptor.Packed] |
156 | mov cl, [ebx + gif.ImageDescriptor.Packed] |
155 | and cl, gif.ID.Packed.SizeOfLocalColorTableMask |
157 | and cl, gif.ID.Packed.SizeOfLocalColorTableMask |
Line 161... | Line 163... | ||
161 | lea eax, [ecx + sizeof.gif.Image] |
163 | lea eax, [ecx + sizeof.gif.Image] |
162 | invoke mem.realloc, [edx + Image.Extended], eax |
164 | invoke mem.realloc, [edx + Image.Extended], eax |
163 | or eax, eax |
165 | or eax, eax |
164 | jz .error |
166 | jz .error |
165 | mov [edx + Image.Extended], eax |
167 | mov [edx + Image.Extended], eax |
- | 168 | @@: mov esi, ebx |
|
166 | lea esi, [ebx + sizeof.gif.ImageDescriptor] |
169 | lea edi, [eax + sizeof.gif.GraphicsControlExtension] |
167 | lea edi, [eax + sizeof.gif.Image] |
170 | add ecx, sizeof.gif.ImageDescriptor |
168 | rep movsb |
171 | rep movsb |
Line 169... | Line 172... | ||
169 | 172 | ||
170 | @@: mov eax, [global_color_table] |
173 | mov eax, [global_color_table] |
171 | test [ebx + gif.ImageDescriptor.Packed], gif.ID.Packed.LocalColorTableFlag |
174 | test [ebx + gif.ImageDescriptor.Packed], gif.ID.Packed.LocalColorTableFlag |
172 | jz @f |
175 | jz @f |
173 | lea eax, [ebx + sizeof.gif.ImageDescriptor] |
176 | lea eax, [ebx + sizeof.gif.ImageDescriptor] |
174 | @@: mov ebx, esi |
177 | @@: mov ebx, esi |
Line 291... | Line 294... | ||
291 | add esi, gif.ApplicationExtension.ApplicationData |
294 | add esi, gif.ApplicationExtension.ApplicationData |
292 | stdcall img.decode.gif._.skip_data |
295 | stdcall img.decode.gif._.skip_data |
293 | jmp .next_ext_block |
296 | jmp .next_ext_block |
Line 294... | Line 297... | ||
294 | 297 | ||
295 | .next_ext_block: |
298 | .next_ext_block: |
296 | mov al, [ebx + gif.Block.Introducer] |
299 | mov al, [esi + gif.Block.Introducer] |
297 | cmp al, gif.Block.Introducer.EndOfData |
300 | cmp al, gif.Block.Introducer.EndOfData |
298 | jne .exit |
301 | jne .exit |
299 | inc ebx |
302 | inc esi |
Line 300... | Line 303... | ||
300 | jmp .next_block |
303 | jmp .next_block |
301 | 304 | ||
302 | .exit: |
305 | .exit: |