#include "../config.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include "gif_lib.h"
#include "gif_lib_private.h"
Go to the source code of this file.
Defines | |
#define | COMMENT_EXT_FUNC_CODE 0xfe |
#define | READ(_gif, _buf, _len) |
Functions | |
static int | DGifGetWord (GifFileType *GifFile, int *Word) |
static int | DGifSetupDecompress (GifFileType *GifFile) |
static int | DGifDecompressLine (GifFileType *GifFile, GifPixelType *Line, int LineLen) |
static int | DGifGetPrefixChar (unsigned int *Prefix, int Code, int ClearCode) |
static int | DGifDecompressInput (GifFileType *GifFile, int *Code) |
static int | DGifBufferedInput (GifFileType *GifFile, GifByteType *Buf, GifByteType *NextByte) |
GifFileType * | DGifOpen (void *userData, InputFunc readFunc) |
int | DGifGetScreenDesc (GifFileType *GifFile) |
int | DGifGetRecordType (GifFileType *GifFile, GifRecordType *Type) |
int | DGifGetImageDesc (GifFileType *GifFile) |
int | DGifGetLine (GifFileType *GifFile, GifPixelType *Line, int LineLen) |
int | DGifGetExtension (GifFileType *GifFile, int *ExtCode, GifByteType **Extension) |
int | DGifGetExtensionNext (GifFileType *GifFile, GifByteType **Extension) |
int | DGifCloseFile (GifFileType *GifFile) |
int | DGifGetCode (GifFileType *GifFile, int *CodeSize, GifByteType **CodeBlock) |
int | DGifGetCodeNext (GifFileType *GifFile, GifByteType **CodeBlock) |
#define COMMENT_EXT_FUNC_CODE 0xfe |
#define READ | ( | _gif, | |||
_buf, | |||||
_len | ) |
Value:
(((GifFilePrivateType*)_gif->Private)->Read ? \ ((GifFilePrivateType*)_gif->Private)->Read(_gif,_buf,_len) : \ fread(_buf,1,_len,((GifFilePrivateType*)_gif->Private)->File))
Definition at line 42 of file dgif_lib.c.
Referenced by DGifBufferedInput(), DGifGetCodeNext(), DGifGetExtension(), DGifGetExtensionNext(), DGifGetImageDesc(), DGifGetRecordType(), DGifGetScreenDesc(), DGifGetWord(), DGifOpen(), and DGifSetupDecompress().
static int DGifBufferedInput | ( | GifFileType * | GifFile, | |
GifByteType * | Buf, | |||
GifByteType * | NextByte | |||
) | [static] |
Definition at line 735 of file dgif_lib.c.
References _GifError, D_GIF_ERR_READ_FAILED, GIF_ERROR, GIF_OK, and READ.
int DGifCloseFile | ( | GifFileType * | GifFile | ) |
Definition at line 380 of file dgif_lib.c.
References _GifError, GifImageDesc::ColorMap, D_GIF_ERR_CLOSE_FAILED, D_GIF_ERR_NOT_READABLE, fclose(), GifFilePrivateType::File, File, free(), FreeMapObject(), FreeSavedImages(), GIF_ERROR, GIF_OK, if(), GifFileType::Image, IS_READABLE, NULL, GifFileType::Private, GifFileType::SavedImages, and GifFileType::SColorMap.
Referenced by ASImage2gif(), and gif2ASImage().
static int DGifDecompressInput | ( | GifFileType * | GifFile, | |
int * | Code | |||
) | [static] |
Definition at line 692 of file dgif_lib.c.
References GifFileType::Private.
Referenced by DGifDecompressLine().
static int DGifDecompressLine | ( | GifFileType * | GifFile, | |
GifPixelType * | Line, | |||
int | LineLen | |||
) | [static] |
Definition at line 546 of file dgif_lib.c.
References _GifError, GifFilePrivateType::BitsPerPixel, GifFilePrivateType::ClearCode, ClearCode, D_GIF_ERR_EOF_TOO_SOON, D_GIF_ERR_IMAGE_DEFECT, DGifDecompressInput(), DGifGetPrefixChar(), GifFilePrivateType::EOFCode, EOFCode, GIF_ERROR, i, if(), j, GifFilePrivateType::LastCode, LZ_MAX_CODE, GifFilePrivateType::MaxCode1, NO_SUCH_CODE, GifFilePrivateType::PixelCount, Prefix, GifFilePrivateType::Prefix, GifFileType::Private, GifFilePrivateType::RunningBits, GifFilePrivateType::RunningCode, GifFilePrivateType::Stack, GifFilePrivateType::StackPtr, Suffix, and GifFilePrivateType::Suffix.
Referenced by DGifGetLine().
int DGifGetCode | ( | GifFileType * | GifFile, | |
int * | CodeSize, | |||
GifByteType ** | CodeBlock | |||
) |
Definition at line 455 of file dgif_lib.c.
References _GifError, GifFilePrivateType::BitsPerPixel, D_GIF_ERR_NOT_READABLE, DGifGetCodeNext(), GIF_ERROR, if(), IS_READABLE, and GifFileType::Private.
int DGifGetCodeNext | ( | GifFileType * | GifFile, | |
GifByteType ** | CodeBlock | |||
) |
Definition at line 475 of file dgif_lib.c.
References _GifError, GifFilePrivateType::Buf, D_GIF_ERR_READ_FAILED, fseek, GIF_ERROR, GIF_OK, if(), NULL, GifFilePrivateType::PixelCount, GifFileType::Private, READ, SEEK_END, and GifFileType::UserData.
Referenced by DGifGetCode(), and DGifGetLine().
int DGifGetExtension | ( | GifFileType * | GifFile, | |
int * | ExtCode, | |||
GifByteType ** | Extension | |||
) |
Definition at line 328 of file dgif_lib.c.
References _GifError, D_GIF_ERR_NOT_READABLE, D_GIF_ERR_READ_FAILED, DGifGetExtensionNext(), GIF_ERROR, if(), IS_READABLE, GifFileType::Private, and READ.
Referenced by get_gif_saved_images().
int DGifGetExtensionNext | ( | GifFileType * | GifFile, | |
GifByteType ** | Extension | |||
) |
Definition at line 354 of file dgif_lib.c.
References _GifError, GifFilePrivateType::Buf, D_GIF_ERR_READ_FAILED, GIF_ERROR, GIF_OK, if(), NULL, GifFileType::Private, and READ.
Referenced by DGifGetExtension(), and get_gif_saved_images().
int DGifGetImageDesc | ( | GifFileType * | GifFile | ) |
Definition at line 206 of file dgif_lib.c.
References _GifError, ColorMapObject::ColorCount, GifImageDesc::ColorMap, D_GIF_ERR_NOT_ENOUGH_MEM, D_GIF_ERR_NOT_READABLE, D_GIF_ERR_READ_FAILED, DGifGetWord(), FreeMapObject(), GIF_ERROR, GifImageDesc::Height, i, if(), GifFileType::Image, GifFileType::ImageCount, GifImageDesc::Interlace, IS_READABLE, GifImageDesc::Left, MakeMapObject(), NULL, GifFileType::Private, READ, realloc(), GifFileType::SavedImages, GifImageDesc::Top, GifImageDesc::Width, and x80.
Referenced by get_gif_image_desc().
int DGifGetLine | ( | GifFileType * | GifFile, | |
GifPixelType * | Line, | |||
int | LineLen | |||
) |
Definition at line 284 of file dgif_lib.c.
References _GifError, D_GIF_ERR_DATA_TOO_BIG, D_GIF_ERR_NOT_READABLE, DGifDecompressLine(), DGifGetCodeNext(), GIF_ERROR, GIF_OK, if(), GifFileType::Image, IS_READABLE, NULL, GifFilePrivateType::PixelCount, GifFileType::Private, and GifImageDesc::Width.
Referenced by get_gif_saved_images().
static int DGifGetPrefixChar | ( | unsigned int * | Prefix, | |
int | Code, | |||
int | ClearCode | |||
) | [static] |
Definition at line 678 of file dgif_lib.c.
References i, and LZ_MAX_CODE.
Referenced by DGifDecompressLine().
int DGifGetRecordType | ( | GifFileType * | GifFile, | |
GifRecordType * | Type | |||
) |
Definition at line 167 of file dgif_lib.c.
References _GifError, D_GIF_ERR_NOT_READABLE, D_GIF_ERR_READ_FAILED, D_GIF_ERR_WRONG_RECORD, EXTENSION_RECORD_TYPE, GIF_ERROR, GIF_OK, if(), IMAGE_DESC_RECORD_TYPE, IS_READABLE, GifFileType::Private, READ, TERMINATE_RECORD_TYPE, and UNDEFINED_RECORD_TYPE.
Referenced by get_gif_saved_images().
int DGifGetScreenDesc | ( | GifFileType * | GifFile | ) |
Definition at line 121 of file dgif_lib.c.
References _GifError, ColorMapObject::ColorCount, D_GIF_ERR_NOT_READABLE, D_GIF_ERR_READ_FAILED, DGifGetWord(), GIF_ERROR, GIF_OK, i, if(), IS_READABLE, MakeMapObject(), NULL, GifFileType::Private, READ, GifFileType::SBackGroundColor, GifFileType::SColorMap, GifFileType::SColorResolution, GifFileType::SHeight, GifFileType::SWidth, and x80.
Referenced by DGifOpen().
static int DGifGetWord | ( | GifFileType * | GifFile, | |
int * | Word | |||
) | [static] |
Definition at line 435 of file dgif_lib.c.
References _GifError, c, D_GIF_ERR_READ_FAILED, GIF_ERROR, GIF_OK, int, and READ.
Referenced by DGifGetImageDesc(), and DGifGetScreenDesc().
GifFileType* DGifOpen | ( | void * | userData, | |
InputFunc | readFunc | |||
) |
Definition at line 60 of file dgif_lib.c.
References _GifError, D_GIF_ERR_NOT_ENOUGH_MEM, D_GIF_ERR_NOT_GIF_FILE, D_GIF_ERR_READ_FAILED, DGifGetScreenDesc(), GifFilePrivateType::File, FILE_STATE_READ, GifFilePrivateType::FileHandle, GifFilePrivateType::FileState, free(), GIF_ERROR, GIF_STAMP, GIF_STAMP_LEN, GIF_VERSION_POS, malloc(), NULL, GifFileType::Private, GifFilePrivateType::Read, READ, GifFileType::UserData, and VoidPtr.
Referenced by open_gif_read().
static int DGifSetupDecompress | ( | GifFileType * | GifFile | ) | [static] |
Definition at line 512 of file dgif_lib.c.
References GifFilePrivateType::BitsPerPixel, GifFilePrivateType::Buf, GifFilePrivateType::ClearCode, GifFilePrivateType::CrntShiftDWord, GifFilePrivateType::CrntShiftState, GifFilePrivateType::EOFCode, GIF_OK, i, GifFilePrivateType::LastCode, LZ_MAX_CODE, GifFilePrivateType::MaxCode1, NO_SUCH_CODE, Prefix, GifFilePrivateType::Prefix, GifFileType::Private, READ, GifFilePrivateType::RunningBits, GifFilePrivateType::RunningCode, and GifFilePrivateType::StackPtr.