⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pgifdec.h

📁 瑞星微公司RK27XX系列芯片的SDK开发包
💻 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 + -