亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? blob.c

?? gif圖像文件軟件解碼器的arm版本的源代碼程序
?? C
字號:
///////////////////////////////////////////////////////////////////////////////
//
//  blob.c
//
//  DESCRIPTION
//        Define functions to read binary data
//
//
///////////////////////////////////////////////////////////////////////////////


/*
  Include declarations.
*/

#include "gifcommon.h"

/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                             %
%                                                                             %
%                                                                             %
%   G e t B l o b I n f o                                                     %
%                                                                             %
%                                                                             %
%                                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  GetBlobInfo() initializes the BlobInfo structure.
%
%  The format of the GetBlobInfo method is:
%
%      void GetBlobInfo(BlobInfo *blob_info)
%
%  A description of each parameter follows:
%
%    o blob_info: Specifies a pointer to a BlobInfo structure.
%
%
*/
void GetBlobInfo
(
    BlobInfo    *blob_info
)
{
    (void) memset(blob_info, 0, sizeof(BlobInfo));
    blob_info->quantum = 65536;
}

/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                             %
%                                                                             %
%                                                                             %
%   C l o n e B l o b I n f o                                                 %
%                                                                             %
%                                                                             %
%                                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Method CloneBlobInfo makes a duplicate of the given blob info structure,
%  or if blob info is NULL, a new one.
%
%  The format of the CloneBlobInfo method is:
%
%      BlobInfo *CloneBlobInfo(const BlobInfo *blob_info)
%
%  A description of each parameter follows:
%
%    o clone_info: Method CloneBlobInfo returns a duplicate of the given
%      blob info, or if blob info is NULL a new one.
%
%    o quantize_info: a structure of type info.
%
%
*/
BlobInfo *CloneBlobInfo
(
    const BlobInfo      *blob_info, 
    AllocateMemory      getmemory
)
{
    BlobInfo    *clone_info;

    clone_info = (BlobInfo *) getmemory(sizeof(BlobInfo));
    
    if (clone_info == (BlobInfo *) OP_NULL)
    {
        return OP_NULL;
    }
    if (blob_info == (BlobInfo *) OP_NULL)
    {
        GetBlobInfo(clone_info);
        return(clone_info);
    }
    *clone_info=(*blob_info);
    
    return(clone_info);
}

/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                             %
%                                                                             %
%                                                                             %
+   O p e n B l o b                                                           %
%                                                                             %
%                                                                             %
%                                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Method OpenBlob opens a file associated with the image.  A file name of
%  '-' sets the file to stdin for type 'r' and stdout for type 'w'.  If the
%  filename suffix is '.gz' or '.Z', the image is decompressed for type 'r'
%  and compressed for type 'w'.  If the filename prefix is '|', it is piped
%  to or from a system command.
%
%  The format of the OpenBlob method is:
%
%      unsigned int OpenBlob(const ImageInfo *image_info,Image *image,
%        const char *type,ExceptionInfo *exception)
%
%  A description of each parameter follows:
%
%    o status:  Method OpenBlob returns True if the file is successfully
%      opened otherwise False.
%
%    o image_info: The image info..
%
%    o image: The image.
%
%    o type: 'r' for reading; 'w' for writing.
%
*/
unsigned int OpenBlob
(
    Image           *image, 
    const char      *type
)
{
    return 1;
}

 /*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                             %
%                                                                             %
%                                                                             %
+   C l o s e B l o b                                                         %
%                                                                             %
%                                                                             %
%                                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Method CloseBlob closes a file associated with the image.  If the
%  filename prefix is '|', the file is a pipe and is closed with PipeClose.
%
%  The format of the CloseBlob method is:
%
%      void CloseBlob(Image *image)
%
%  A description of each parameter follows:
%
%    o image: The image.
%
%
*/
void CloseBlob
(
    Image   *image
)
{
}

/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                             %
%                                                                             %
%                                                                             %
%   D e s t r o y B l o b I n f o                                             %
%                                                                             %
%                                                                             %
%                                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  DestroyBlobInfo() deallocates memory associated with an BlobInfo structure.
%
%  The format of the DestroyBlobInfo method is:
%
%      void DestroyBlobInfo(BlobInfo *blob)
%
%  A description of each parameter follows:
%
%    o blob: Specifies a pointer to a BlobInfo structure.
%
%
*/
void DestroyBlobInfo
(
    BlobInfo            *blob, 
    LiberateMemory      freememory
)
{
    freememory((void *) blob);
}

/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                             %
%                                                                             %
%                                                                             %
+  R e a d B l o b                                                            %
%                                                                             %
%                                                                             %
%                                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Method ReadBlob reads data from the blob or image file and returns it.  It
%  returns the number of bytes read.
%
%  The format of the ReadBlob method is:
%
%      unsigned int ReadBlob(Image *image,const unsigned int length,void *data)
%
%  A description of each parameter follows:
%
%    o count:  Method ReadBlob returns the number of bytes read.
%
%    o image: The image.
%
%    o length:  Specifies an integer representing the number of bytes
%      to read from the file.
%
%    o data:  Specifies an area to place the information requested from
%      the file.
%
%
*/
unsigned int ReadBlob
(
    Image               *image,
    const unsigned int  length,
    unsigned char       **data
)
{
    unsigned int count;

    count=Min(length,image->blob->length-image->blob->offset);
    if(count != 0)
    {
        *data = image->blob->data+image->blob->offset;
        image->blob->offset+=count;
    }
    return(count);
}

/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                             %
%                                                                             %
%                                                                             %
+  R e a d B l o b B y t e                                                    %
%                                                                             %
%                                                                             %
%                                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Method ReadBlobByte reads a single byte from the image file and returns it.
%
%  The format of the ReadBlobByte method is:
%
%      int ReadBlobByte(Image *image)
%
%  A description of each parameter follows.
%
%    o value: Method ReadBlobByte returns an integer read from the file.
%
%    o image: The image.
%
%
*/
int ReadBlobByte
(
    Image   *image
)
{
    unsigned char     *tp;
    unsigned char     **p;
    unsigned int      count;

    p = &tp;

    count = ReadBlob(image, 1, p);
    if (count == 0)
    {
        return(EOF);
    }
    return(*tp);
}
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                             %
%                                                                             %
%                                                                             %
+  R e a d B l o b L S B S h o r t                                            %
%                                                                             %
%                                                                             %
%                                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Method ReadBlobLSBShort reads a short value as a 16 bit quantity in
%  least-significant byte first order.
%
%  The format of the ReadBlobLSBShort method is:
%
%      unsigned short ReadBlobLSBShort(Image *image)
%
%  A description of each parameter follows.
%
%    o value:  Method ReadBlobLSBShort returns an unsigned short read from
%      the file.
%
%    o image: The image.
%
%
*/
unsigned short ReadBlobLSBShort
(
    Image   *image
)
{
    unsigned char       *tp;
    unsigned char       **p;

    unsigned short      value;

    p = &tp;

    value = ReadBlob(image, 2, p);
    if (value == 0)
    {
        return((unsigned short) ~0);
    }
    value = tp[1] << 8;
    value |= tp[0];
    return(value);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线一二三| 北条麻妃国产九九精品视频| 欧美精品久久一区二区三区| 日本中文字幕一区二区视频 | 亚洲va韩国va欧美va| 欧洲日韩一区二区三区| 亚洲高清在线精品| 91精品久久久久久久91蜜桃| 六月丁香综合在线视频| 中文字幕国产精品一区二区| 日本乱码高清不卡字幕| 三级成人在线视频| 久久久亚洲精华液精华液精华液| 成人午夜电影小说| 亚洲国产成人91porn| 精品国产麻豆免费人成网站| www.激情成人| 日韩中文字幕不卡| 国产精品天美传媒沈樵| 欧美日韩精品二区第二页| 久久国产婷婷国产香蕉| 国产精品电影一区二区| 欧美一区二区免费| 成人网在线免费视频| 日日摸夜夜添夜夜添精品视频| 精品1区2区在线观看| 色婷婷av一区二区三区gif| 日韩电影一区二区三区四区| 国产蜜臀av在线一区二区三区| 色婷婷av一区二区| 国产精品资源网| 一区二区三区加勒比av| 久久久噜噜噜久噜久久综合| 色猫猫国产区一区二在线视频| 极品瑜伽女神91| 一区二区久久久久久| 久久免费视频色| 欧美三级在线播放| 99在线精品免费| 精品夜夜嗨av一区二区三区| 亚洲综合在线观看视频| 国产婷婷精品av在线| 欧美一区二区三区视频在线| 91小视频在线免费看| 国产乱色国产精品免费视频| 天涯成人国产亚洲精品一区av| 国产精品嫩草影院com| 欧美一级视频精品观看| 欧美午夜精品一区二区蜜桃| 成人看片黄a免费看在线| 久久se这里有精品| 午夜精品福利一区二区蜜股av | 精品一区二区三区在线观看| 亚洲黄一区二区三区| 国产情人综合久久777777| 日韩美女一区二区三区| 91精品午夜视频| 欧美日韩一区二区三区高清| 91美女视频网站| 成人app下载| 东方欧美亚洲色图在线| 国产一区二区福利视频| 极品美女销魂一区二区三区免费| 午夜电影久久久| 亚洲综合区在线| 一区二区三区四区在线免费观看| 国产精品区一区二区三| 国产精品免费视频网站| 亚洲国产精品99久久久久久久久 | 精品免费视频.| 日韩欧美一二三区| 欧美一级国产精品| 欧美一区二区精品| 8v天堂国产在线一区二区| 欧美高清视频在线高清观看mv色露露十八| 日本高清不卡aⅴ免费网站| 色噜噜狠狠一区二区三区果冻| 色菇凉天天综合网| 欧美怡红院视频| 在线不卡免费欧美| 日韩欧美综合一区| 久久人人超碰精品| 亚洲国产精品v| 亚洲柠檬福利资源导航| 亚洲成人免费观看| 日本va欧美va欧美va精品| 久久99精品久久只有精品| 黄色成人免费在线| 国产成人午夜电影网| 成人av片在线观看| 在线精品视频小说1| 欧美一区二区三区在线观看| 精品精品欲导航| 中文字幕成人网| 一区二区三区视频在线观看| 五月婷婷久久综合| 国产麻豆精品theporn| 成人精品免费看| 91国偷自产一区二区三区成为亚洲经典| 欧美亚洲免费在线一区| 日韩精品一区二| 国产精品无遮挡| 亚洲国产中文字幕| 精品夜夜嗨av一区二区三区| 99国产精品99久久久久久| 欧美亚洲愉拍一区二区| 精品国产乱码久久久久久浪潮| 国产欧美1区2区3区| 伊人色综合久久天天人手人婷| 日本va欧美va精品发布| bt欧美亚洲午夜电影天堂| 精品1区2区3区| 久久久久久99精品| 亚洲在线免费播放| 狠狠狠色丁香婷婷综合激情| 日本高清视频一区二区| 久久毛片高清国产| 亚洲综合激情小说| 国产成人午夜精品5599| 在线播放/欧美激情| 国产精品久久久一本精品| 日韩制服丝袜av| 99久久99久久精品国产片果冻| 日韩一区二区三区电影| 亚洲精品欧美二区三区中文字幕| 蜜乳av一区二区三区| 91蜜桃婷婷狠狠久久综合9色| 欧美一级生活片| 亚洲男同性视频| 成人一区在线看| 欧美xxxx在线观看| 一区二区日韩电影| 高清不卡一区二区在线| 日韩三级在线免费观看| 亚洲高清视频中文字幕| 99在线精品视频| 国产清纯白嫩初高生在线观看91| 午夜精品久久久久久久久久久| av网站免费线看精品| 久久综合九色综合欧美98| 无码av中文一区二区三区桃花岛| 色综合久久久网| 国产欧美精品在线观看| 精品一区中文字幕| 日韩免费福利电影在线观看| 亚洲国产综合人成综合网站| 91网页版在线| 亚洲欧洲国产日本综合| 成人av在线资源网| 国产亚洲欧美一级| 国产在线精品不卡| 欧美白人最猛性xxxxx69交| 秋霞午夜av一区二区三区| 欧美日韩国产高清一区| 亚洲电影第三页| 一本大道久久精品懂色aⅴ| 国产精品三级在线观看| 国产aⅴ综合色| 中文乱码免费一区二区| 成人丝袜视频网| 亚洲国产成人一区二区三区| 国产寡妇亲子伦一区二区| 久久亚洲春色中文字幕久久久| 久久国产生活片100| 欧美成人伊人久久综合网| 六月丁香婷婷久久| 久久影视一区二区| 国产91精品精华液一区二区三区| 久久精品在线观看| 国产99久久久国产精品潘金网站| 欧美国产综合色视频| www.视频一区| 一区二区三区四区在线免费观看| 在线观看日韩电影| 亚瑟在线精品视频| 在线综合视频播放| 日本最新不卡在线| 久久综合狠狠综合久久综合88 | 国内成+人亚洲+欧美+综合在线 | 理论电影国产精品| 亚洲精品一区二区在线观看| 国产一区二区免费看| 国产精品久久久久影院亚瑟| kk眼镜猥琐国模调教系列一区二区| 亚洲摸摸操操av| 在线播放视频一区| 国产麻豆9l精品三级站| 国产精品色哟哟网站| 精品视频1区2区3区| 麻豆91精品视频| 国产欧美一区二区精品性| 91小视频免费观看| 偷窥少妇高潮呻吟av久久免费| 日韩一区二区在线观看| 成人一级视频在线观看| 亚洲国产精品影院| 亚洲精品一区二区三区蜜桃下载| 波多野结衣精品在线| 亚瑟在线精品视频| 中文字幕免费不卡在线|