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

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

?? gif.c

?? gif圖像文件軟件解碼器的arm版本的源代碼程序
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
                /*
                  The Application Extension contains application-specific information; 
                  it conforms with the extension block syntax, as described below, 
                  and its block label is 0xFF.
                */
                case 0xff:
                {
                    int   loop;
        
                    /*
                      Read Netscape Loop extension.
                    */
                    loop = OP_FALSE;
                    if (ReadBlobBlock(image, pp) != 0)
                    {
                        header = *pp;
                        loop = !LocaleNCompare((char *) header, "NETSCAPE2.0", 11);
                    }
                    while (ReadBlobBlock(image, pp) != 0)
                    {
                        header = *pp;
                        if (loop)
                        {
                            iterations = (header[2] << 8) | header[1];
                        }
                    }
                    break;
                }
                default:
                {
                    while (ReadBlobBlock(image, pp) != 0) header = *pp;
                    break;
                }
            }
        }
        if (c != ',')   /* 0x2C */
        {
            continue;
        }
        if (image_count != 0)
        {
            /*
              Allocate next image structure.
            */
            AllocateNextImage(image);
            if (image->next == (Image *) OP_NULL)
            {
                return((Image *) OP_NULL);
            }
            image = image->next;
        }
        image_count++;
        /*
          Read image attributes.
        */
        image->page.x = ReadBlobLSBShort(image);
        image->page.y = ReadBlobLSBShort(image);
        image->columns = ReadBlobLSBShort(image);
        image->rows = ReadBlobLSBShort(image);
        image->depth = 8;
        flag = ReadBlobByte(image);
        image->interlace = BitSet(flag,0x40) ? PlaneInterlace : NoInterlace;
        image->colors = !BitSet(flag,0x80) ? global_colors : 1 << ((flag & 0x07)+1);

        if (opacity >= (long) image->colors)
        {
            image->colors = opacity+1;
        }

        image->trans_flag = trans_flag;
        image->delay = delay;
        image->dispose = dispose;
        image->iterations = iterations;
        image->matte = opacity >= 0;
        delay = 0;
        dispose = 0;

        if ((image->columns == 0) || (image->rows == 0))
        {
            if(image != inputimage)
            {
                DestroyImage(image);
            }
            return OP_NULL;
        }

        image->pixeldata = (PixelPacket *)outbuf;

        /*
          Inititialize colormap.
        */
        if (!AllocateImageColormap(image, image->colors))
        {
            if(image != inputimage)
            {
                DestroyImage(image);
            }
            return OP_NULL;
        }

        if (!BitSet(flag, 0x80))
        {
            /*
              Use global colormap.
            */
            p = global_colormap;
            for (i=0; i < (long) image->colors; i++)
            {
                image->colormap[i].red = Upscale(*p++);
                image->colormap[i].green = Upscale(*p++);
                image->colormap[i].blue = Upscale(*p++);
            }
            image->background_color = image->colormap[Min(background, image->colors-1)];
        }
        else
        {
            /*
              Read local colormap.
            */
            (void) ReadBlob(image, 3*image->colors, pp);
            p = *pp;
            for (i=0; i < (long) image->colors; i++)
            {
                image->colormap[i].red = Upscale(*p++);
                image->colormap[i].green = Upscale(*p++);
                image->colormap[i].blue = Upscale(*p++);
            }
        }

        /*
          Decode image.
        */
        /* decide if we need to decode */
        if(!skipdecoding)
        {
            status = DecodeGIFImage(image,opacity,func);
            if (status == OP_FALSE)
            {
                if(image != inputimage)
                {
                    DestroyImage(image);
                }
                return OP_NULL;
            }
            if(saveimage != OP_NULL) 
            {
                saveimage(image);
            }
        }
        else if (only_info)
        {
            status = skip_decoding_datablock(image);
            if (status == OP_FALSE)
            {
                if(image != inputimage)
                {
                    DestroyImage(image);
                }
                return OP_NULL;
            }
        }
        return(image);
    }

    /* 
    * added DestoryImage because of 
    * remove the free momery routine in gifDecodeImage()
    */
    if ( image->next != OP_NULL )
    {
        DestroyImage(image->next);
        op_debug_msg(SP_DEBUG_GROUP_MMI, DEBUG_HIGH, "Image Decoder DestoryImage() in ReadGIFFrame() \n" );
    }

    if(image != inputimage)
    {
        DestroyImage(image);
    }
    return OP_NULL;
}

/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                             %
%                                                                             %
%                                                                             %
%   R e a d G I F H e a d e r                                                 %
%                                                                             %
%                                                                             %
%                                                                             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
Image *ReadGIFHeader
(
    const Image     *image_info
)
{
    unsigned char     c;
    unsigned char     *magick;
    unsigned char     *tp;
    unsigned char     **pp;
    unsigned int      count;
    int               status;
    Image             *image;



    pp = &tp;
    /*
    Open image file.
    */
    image = AllocateImage(image_info);

    /* 
      Investigate about status(OpenBlob()) routine
      Always return OP_TRUE now in the OpenBlob().
    */

    status = OpenBlob(image, ReadBinaryType);
    if (status == OP_FALSE)
    {
        DestroyImage(image);
        return OP_NULL;
    }
    

    /* 
      6 -> for read the file format(GIF87a or GIF89a -> first six character)
      Determine if this is a GIF file.
    */
    count = ReadBlob(image, 6, pp);
    magick = *pp;

    /* Neither GIF87, GIF89 */
    if ((count == 0) || ((LocaleNCompare((char *) magick,"GIF87",5) != 0) &&
            (LocaleNCompare((char *) magick,"GIF89",5) != 0)))
    {
        DestroyImage(image);
        return OP_NULL;
    }
    global_colors = 0;
    global_colormap = (unsigned char *) OP_NULL;
    image->page.width = ReadBlobLSBShort(image);
    image->page.height = ReadBlobLSBShort(image);
    flag = ReadBlobByte(image);

    /* background -> background color num of image in file */
    background = ReadBlobByte(image);

    c = ReadBlobByte(image);  /* reserved */

    /* c -> only GIF89a, c != 0 -> ratio of width and height (c+15)/64 */

    /* 
      (flag & 0x07)+1 -> bit num of pallete
      (1<<(flag>>4)+1) -> color bit num of source image
    */

    global_colors = 1 << ((flag & 0x07)+1);
    if (BitSet(flag, 0x80))
    {
        (void) ReadBlob(image, 3*global_colors, pp);
        global_colormap = *pp;
    }
    delay = 0;
    dispose = 0;
    iterations = 0;
    opacity = (-1);
    image_count = 0;
    trans_flag = OP_FALSE;

    return image;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲国产日本综合| 国产精品美女久久久久久久久久久| 国产在线乱码一区二区三区| 中文字幕在线免费不卡| 精品久久久久香蕉网| 欧美性一级生活| 波多野结衣视频一区| 久久福利视频一区二区| 亚洲精品大片www| 国产精品伦一区二区三级视频| 日韩一区二区三区电影| 欧洲精品在线观看| 成人app网站| 国产一区二区不卡在线| 日韩国产成人精品| 亚洲午夜久久久| 综合在线观看色| 中文字幕二三区不卡| 久久影视一区二区| 宅男在线国产精品| 精品视频在线免费观看| 色综合天天综合| 成人午夜精品在线| 狠狠网亚洲精品| 天堂一区二区在线免费观看| 亚洲一区电影777| 亚洲黄色尤物视频| 亚洲人成影院在线观看| 国产精品乱人伦一区二区| 久久久美女艺术照精彩视频福利播放| 91精品国产综合久久精品麻豆 | 成人欧美一区二区三区黑人麻豆| 日韩欧美亚洲另类制服综合在线| 欧美电影影音先锋| 欧美高清hd18日本| 欧美欧美欧美欧美| 欧美刺激脚交jootjob| 欧美三级资源在线| 欧美日韩在线直播| 欧美日韩电影一区| 91麻豆精品国产91久久久久| 欧美揉bbbbb揉bbbbb| 欧美日韩在线电影| 欧美老女人第四色| 91麻豆精品国产91久久久久久 | 成人涩涩免费视频| 成人免费视频app| www.av精品| proumb性欧美在线观看| av一区二区久久| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 精品日韩一区二区三区| 精品成人免费观看| 国产日韩欧美a| 国产精品久久久久久久久晋中 | 成人a免费在线看| 99re视频这里只有精品| 91黄视频在线观看| 欧美日韩高清一区| 日韩一区二区三区视频| 日韩久久久久久| 国产欧美日韩麻豆91| 亚洲人成人一区二区在线观看| 亚洲国产精品自拍| 久久se精品一区精品二区| 国产成人小视频| 91福利区一区二区三区| 91精品国模一区二区三区| 精品国产乱子伦一区| 国产精品嫩草久久久久| 亚洲综合999| 蜜桃av一区二区三区电影| 国产一区二区三区黄视频| 波多野结衣视频一区| 欧美男生操女生| 精品福利在线导航| 亚洲欧美视频一区| 麻豆免费精品视频| 91麻豆精品在线观看| 欧美一二三在线| 国产精品久久一卡二卡| 亚州成人在线电影| 国产一区不卡在线| 日韩欧美国产综合在线一区二区三区| 精品国产精品网麻豆系列| 中文无字幕一区二区三区| 丝袜国产日韩另类美女| 国产精品一区二区黑丝| 欧美日韩一区二区三区在线看| 久久天天做天天爱综合色| 亚洲精品国久久99热| 麻豆久久久久久| 91黄色在线观看| 精品成人在线观看| 亚洲一区二区美女| av日韩在线网站| 精品va天堂亚洲国产| 亚洲小说欧美激情另类| 成人久久18免费网站麻豆 | 中文字幕在线观看不卡视频| 青青青爽久久午夜综合久久午夜| 91亚洲男人天堂| 久久综合狠狠综合久久激情| 亚洲成人动漫精品| 北条麻妃一区二区三区| 日韩久久久久久| 亚洲成av人**亚洲成av**| 成人av午夜电影| 久久理论电影网| 久久国产综合精品| 欧美乱妇20p| 亚洲乱码国产乱码精品精可以看 | 欧美精品久久一区二区三区| 亚洲视频免费看| 成人免费看黄yyy456| 精品三级在线看| 看片网站欧美日韩| 制服丝袜亚洲网站| 午夜精品久久久久久久久| 91美女片黄在线观看91美女| 国产欧美一区二区三区在线看蜜臀| 精品一区二区日韩| 日韩一区二区麻豆国产| 丝袜美腿亚洲色图| 欧美日韩国产天堂| 亚洲一级电影视频| 在线观看欧美黄色| 亚洲女女做受ⅹxx高潮| 色婷婷av久久久久久久| 亚洲欧美国产毛片在线| 91丨九色丨黑人外教| 国产精品视频在线看| 成人高清av在线| 国产精品拍天天在线| 国产不卡视频一区| 国产欧美日韩一区二区三区在线观看| 国产黄人亚洲片| 国产欧美精品一区二区色综合| 精品一区二区三区香蕉蜜桃| 精品成人在线观看| 国产精品一区二区在线观看不卡 | 国产人成一区二区三区影院| 国产.精品.日韩.另类.中文.在线.播放| 欧美草草影院在线视频| 精品影视av免费| 国产三级久久久| av成人动漫在线观看| 亚洲色图19p| 欧美日韩在线不卡| 青青草国产成人av片免费| 日韩欧美国产午夜精品| 国产乱人伦偷精品视频免下载 | 91视频xxxx| 亚洲成av人片在线| 日韩欧美一区在线观看| 精品一区二区三区视频| 日本一区二区三级电影在线观看 | 粉嫩久久99精品久久久久久夜| 国产精品家庭影院| 欧美专区日韩专区| 美腿丝袜亚洲综合| 日本一区二区综合亚洲| 91免费看`日韩一区二区| 视频一区国产视频| 国产偷国产偷精品高清尤物| 91日韩一区二区三区| 日韩国产在线观看| 欧美韩国日本不卡| 色狠狠一区二区三区香蕉| 男人的j进女人的j一区| 国产日韩综合av| 欧美综合欧美视频| 国产一区二区精品在线观看| 亚洲人123区| 精品久久人人做人人爱| 色悠久久久久综合欧美99| 蜜臀久久99精品久久久久宅男 | 中日韩av电影| 欧美日韩在线一区二区| 国产一区二区免费在线| 一片黄亚洲嫩模| 久久久久久黄色| 欧美亚洲动漫制服丝袜| 国产v日产∨综合v精品视频| 亚洲国产视频一区| 国产日韩亚洲欧美综合| 欧美性大战久久久久久久蜜臀| 国产精品中文有码| 亚洲地区一二三色| 国产色产综合色产在线视频| 欧美日韩一卡二卡三卡| 国产aⅴ精品一区二区三区色成熟| 亚洲资源在线观看| 中文字幕+乱码+中文字幕一区| 宅男在线国产精品| 在线观看日韩毛片| 99免费精品视频| 激情六月婷婷久久| 日产精品久久久久久久性色| 亚洲男人的天堂在线aⅴ视频|