📄 pgifdec.h
字号:
/******************************************************************************
Copyright(C)2007,Rockchip Co., Ltd. All Rights Reserved.
File:glib.h
Desc:
Note:
Author:evan wu
$Log:
Revision 1.0 2007/09/01 evan wu
*****************************************************************************/
#include "..\application\ImageWin\ImageWin.h"
#ifndef GIFDEC_H
#define GIFDEC_H
#define BI_RGB 0
#define BI_RLE8 1
#define BI_RLE4 2
#define BI_BITFIELD 3
#define ERROR_MARKER -4
#define GIF_MAX_WIDTH 3000
#define GIF_MAX_HEIGHT 3000
/* Various error codes used by decoder */
#define OUT_OF_MEMORY -10
#define BAD_CODE_SIZE -20
#define READ_ERROR -1
#define WRITE_ERROR -2
#define OPEN_ERROR -3
#define CREATE_ERROR -4
#define MAX_CODES 4095
#define GIFBUFTAM 16383
#define TRANSPARENCY_CODE 0xF9
#define DECODING_SKIP 100
//#define DECODING_COMPLETED 101
#define DECODING_COMPLETED 102
#define DECODING_CONT 102
#define BUF_SIZE 2560
struct gifhandle_s;
typedef struct gifhandle_s *gifhandle_t;
typedef struct tagExtensionInfo *ExtensionInfo;
struct palette_s
{
unsigned char blue;
unsigned char green;
unsigned char red;
};
struct palette_in
{
unsigned char blue;
unsigned char green;
unsigned char red;
};
typedef struct
{
unsigned short usImageWidth;//该变量表示图像高度
unsigned short usImageHeight;//该变量表示图像宽度
unsigned char ucImageBitDepth;//该变量表示图像位深度
unsigned long ulImageFrameNum;//该变量表示图像帧数
unsigned short usImageHoriResolu;//该变量表示图像水平分辨率
unsigned short usImageVertResolu;//该变量表示图象垂直分辨率
} tGIF;
struct tag_image_s /* Image Descriptor */
{
INT32U l;
INT32U t;
INT32U w;
INT32U h;
INT8U pf;
} ;
struct gifhandle_s
{
/* gif global_header contents */
char header[6]; /* Firma and version */
INT32S scrwidth;
INT32S scrheight;
char pflds;
char bcindx;
char pxasrat;
/* Image Descriptor */
INT32U left;
INT32U top;
INT32U width;
INT32U height;
INT8U pf;
INT8U local_pf;
/* Tabla de colores */
short colres; /* color resolution */
short sogct; /* size of global color table */
short local_sogct;
int global_color_table_on;
int local_color_table_on;
int global_color_table_num;
int global_local_table_num;
int INT8Us_per_line;
int interlaced;
struct palette_s *palette;
struct palette_in *palette_local;
unsigned char *data;
struct bgrpixel(*getpixel)(gifhandle_t, unsigned char);
unsigned bsize_blue, bsize_green, bsize_red;
unsigned boffset_blue, boffset_green, boffset_red;
long nFrame; /*used for TIF, GIF, MNG : actual frame*/
long nNumFrames ; /*used for TIF, GIF, MNG : total number of frames*/
};
typedef struct
{
unsigned int (*read_func)(void *ptr, unsigned int size, unsigned int nmemb, void *datasource);
} GIF_CALLBACKS_INIT;
typedef struct
{
unsigned int (*seek_func)(void *stream, long offset, int origin);
void (*write_func)(IM_PIX_INFO output_info);
void (*write_func_2)(GIF_PIX_INFO output_info);
void (*dly_func)(unsigned int tick);
} GIF_CALLBACKS_DECODE;
typedef struct tagGDI
{
unsigned char r;
unsigned char g;
unsigned char b;
}GDBUF;
struct bgrpixel
{
unsigned char b, g, r;
};
struct bgrpixel gif_getpixel(gifhandle_t gh, unsigned char *pixels);
extern unsigned long GIFFunction(unsigned long ulSubFn, unsigned long ulParam1,
unsigned long ulParam2, unsigned long ulParam3,
unsigned long ulParam4);
extern unsigned long GIFMiniatureFunction(unsigned long ulSubFn, int MiniatureWidth,
int MiniatureHeight, unsigned char*MiniatureOutBuf,
unsigned long ulParam4);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -