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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bmpi_32bit_decoder.c

?? bmp圖像文件解碼器的arm版本的源代碼
?? C
字號:
/*

*******************************************************************************
*
* FILE NAME:            
*   bmp_32bit_decoder.c
*
* DESCRIPTION:
*   source code for BMP decoder with 32-bit.
*
* MODULE: 
*   BMP (BitMaP) decoder.
* 

*  
*******************************************************************************
*/

/*
*******************************************************************************
* Include files
*******************************************************************************
*/

/* -- Include for BMP ressources -- */
#include "bmp_decoder_api.h"
#include "bmpi_decoder.h"

/*
*******************************************************************************
* 
* FUNCTION NAME:
*   BMPI_Decode32Bits()
*
* FUNCTION DESCRIPTION:
*   This function decodes a BMP image with 16-bit color.
*
* INPUTS:
*   pu8InputBuffer  : pointer to input buffer
*   pu8Mask         : pointer to color mask in palette
*   sImageInfo      : image information structure 
*   func            : pointer to callback function
*
* OUTPUTS:
*   psOutputBuffer  : pointer to output buffer (structure)
*   
* RETURN:
*   '0' if successful or '1' if failed.
*
* GLOBALS ACCESSED/MODIFIED:
*   < List all global variables this function accesses and/or modifies >
*
* SPECIAL NOTES:
*
*******************************************************************************
*/
OP_UINT8 BMPI_Decode32Bits
(
    OP_UINT8                     *pu8InputBuffer,
    OP_UINT8                     *pu8Mask,
    BMP_IMAGE_INFO               sImageInfo,
    OP_BOOLEAN                   func(OP_UINT16 x, OP_UINT16 y),
    IMAGE_DECODER_OUTPUT_TYPE    *psOutputBuffer)
{


    /*-----------------------------------------------------------------------*/
    /* DECLARE LOCAL VARIABLES                                                 */
    /*-----------------------------------------------------------------------*/

    OP_UINT16   u8RedMask;                           /* mask for red color */
    OP_UINT16   u8GreenMask;                         /* mask for green color */
    OP_UINT16   u8BlueMask;                          /* mask for blue color */
    OP_UINT32   u32XinvCnt;                          /* inverse counter on X-axis */
    OP_UINT32   u32YinvCnt;                          /* inverse counter on Y-axis */
    OP_UINT32   u32Temp;                             /* 32-bit temporary variable */


    /*-----------------------------------------------------------------------*/
    /* DECODE 32-BIT COLORS                                                   */
    /*-----------------------------------------------------------------------*/

    /* determine bit masks for each color plane */
    if(sImageInfo.u32Compression == BI_RGB)                /* no bit masking */
    {
        u8RedMask   = 0xff;
        u8GreenMask = 0xff;
        u8BlueMask  = 0xff;
    }
    else                                        /* with specific bit masking */
    {
        u32Temp = BMPI_ReadLittleEndianU32(pu8Mask);
        pu8Mask+=4;
        u8RedMask = BMPI_RetrieveBitMask32Bits(u32Temp);
        u32Temp = BMPI_ReadLittleEndianU32(pu8Mask);
        pu8Mask+=4;
        u8GreenMask = BMPI_RetrieveBitMask32Bits(u32Temp);
        u32Temp = BMPI_ReadLittleEndianU32(pu8Mask);
        u8BlueMask = BMPI_RetrieveBitMask32Bits(u32Temp);
    }

    /* -- Extract data in bitmap pixel by pixel -- */
    /* vertical loop */
    u32YinvCnt = sImageInfo.u32ImageHeight;
    while(u32YinvCnt--)
    {

        /* horizontal loop */
        u32XinvCnt = sImageInfo.u32ImageWidth;
        while(u32XinvCnt--)                      
        {
            psOutputBuffer->u8Blue  = (*pu8InputBuffer++) & u8BlueMask;
            psOutputBuffer->u8Green = (*pu8InputBuffer++) & u8GreenMask;
            psOutputBuffer->u8Red   = (*pu8InputBuffer++) & u8RedMask;
            pu8InputBuffer++;                 /* every 4th bytes are ignored */
            psOutputBuffer->u8Alpha = 0xff;      /* set to opaque as default */
            psOutputBuffer++;                  /* move pointer to next pixel */
        }

    }


    /*-----------------------------------------------------------------------*/
    /* DECODED SUCCESSFULLY                                                  */
    /*-----------------------------------------------------------------------*/

    return(0);
}



/*
*******************************************************************************
* 
* FUNCTION NAME:
*   BMPI_RetrieveBitMask32Bits()
*
* FUNCTION DESCRIPTION:
*   This function retrieves the bit mask of one color from a 32-bit data
*   in palette.
*
* INPUTS:
*   u32BitField : bit field from palette where mask is included. 
*
* OUTPUTS:
*   None.
*   
* RETURN:
*   u8Mask : bit mask for one color.
*
* GLOBALS ACCESSED/MODIFIED:
*   < List all global variables this function accesses and/or modifies >
*
* SPECIAL NOTES:
*
*******************************************************************************
*/
OP_UINT8 BMPI_RetrieveBitMask32Bits
(
    OP_UINT32   u32BitField
)
{
    /*-----------------------------------------------------------------------*/
    /* INITIALIZE RETURNED PARAMETERS                                          */
    /*-----------------------------------------------------------------------*/

    OP_UINT8    u8Mask;
    OP_UINT32   u32LoopCounter;                      /* loop counter */
    OP_UINT32   u32Temp;                             /* 32-bit temporary variable */

    /*-----------------------------------------------------------------------*/
    /* DETERMINE 8-bit MASK                                                   */
    /*-----------------------------------------------------------------------*/

    u32LoopCounter = 0;
    u32Temp = u32BitField & 0x00000001;
    while( (!u32Temp) && (u32LoopCounter < 32) )
    {
        u32BitField = (u32BitField >> 1) & 0x7fffffff;
        u32Temp = u32BitField & 0x00000001;
        u32LoopCounter++;
    }
    if(u32LoopCounter != 32)
    {
        u8Mask = (OP_UINT8)u32BitField;
    }
    else
    {
        u8Mask = 0x00;
    }

    return(u8Mask);

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久99久久精品国产片果冻| 欧美疯狂做受xxxx富婆| 日韩午夜在线播放| 成人免费在线观看入口| 精品一区二区三区视频在线观看| 91婷婷韩国欧美一区二区| 精品粉嫩aⅴ一区二区三区四区| 一区二区三区成人| aaa国产一区| 国产日韩欧美a| 国产一区福利在线| 日韩一区二区三区电影在线观看| 一二三区精品视频| 色婷婷激情久久| ...av二区三区久久精品| 国产精品一区专区| 久久久久久日产精品| 免费观看一级欧美片| 91精品国产手机| 亚洲3atv精品一区二区三区| 在线观看亚洲a| 尤物在线观看一区| 欧美午夜影院一区| 亚洲国产欧美在线| 欧美在线播放高清精品| 一区二区三区在线免费观看| 99re视频精品| 亚洲人成伊人成综合网小说| 波多野结衣一区二区三区| 国产精品三级av| thepron国产精品| 中文字幕在线一区免费| 99久久婷婷国产综合精品| 国产精品人人做人人爽人人添| 国内精品久久久久影院薰衣草| 日韩区在线观看| 国产一区二区三区在线看麻豆| 欧美精品一区二区三区高清aⅴ | 日日夜夜精品视频免费| 欧美丰满一区二区免费视频| 免费成人在线观看视频| 久久亚洲影视婷婷| 99久久久久免费精品国产| 亚洲人成网站色在线观看| 91官网在线免费观看| 五月天一区二区三区| 日韩一区二区三区在线视频| 国产另类ts人妖一区二区| 中文字幕乱码日本亚洲一区二区| youjizz国产精品| 夜夜操天天操亚洲| 日韩视频一区二区三区| 国产成人三级在线观看| 亚洲精品一二三| 91麻豆精品国产91久久久使用方法| 蜜臀av一级做a爰片久久| 国产亚洲精品7777| 欧美亚日韩国产aⅴ精品中极品| 日本视频中文字幕一区二区三区| 精品国产乱码久久久久久牛牛| 成人做爰69片免费看网站| 亚洲一级在线观看| 2020国产精品自拍| 在线观看av一区| 激情综合网av| 亚洲综合无码一区二区| 久久久激情视频| 欧美乱妇15p| 成人性生交大片免费看中文 | 中文字幕av一区二区三区免费看 | 午夜精品久久久| 国产亚洲成aⅴ人片在线观看| 972aa.com艺术欧美| 美腿丝袜亚洲一区| 一区免费观看视频| 精品国产一区二区三区久久影院 | 国产黄色精品网站| 亚洲综合区在线| 国产欧美精品区一区二区三区 | 一级中文字幕一区二区| 精品成a人在线观看| 欧美色图片你懂的| 大陆成人av片| 九色|91porny| 日本不卡中文字幕| 亚洲一区二区精品3399| 欧美国产精品久久| www一区二区| 日韩欧美国产电影| 欧美日韩亚洲综合在线 | 久久久久久久精| 欧美日本在线观看| 91黄色免费观看| k8久久久一区二区三区 | 欧美影院午夜播放| av亚洲精华国产精华精华| 国产精品主播直播| 国产在线观看免费一区| 久久成人免费日本黄色| 午夜日韩在线观看| 亚洲午夜成aⅴ人片| 亚洲蜜臀av乱码久久精品蜜桃| 久久久国产一区二区三区四区小说| 日韩一区二区三区三四区视频在线观看| 欧亚洲嫩模精品一区三区| 99久久99久久综合| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲乱码日产精品bd| 国产精品网站导航| 国产精品色眯眯| 国产精品乱人伦中文| 中文字幕欧美激情一区| 国产精品乱码一区二区三区软件 | 精品国产sm最大网站| 91精品蜜臀在线一区尤物| 欧美一级视频精品观看| 日韩精品一区二区三区三区免费| 这里只有精品99re| 日韩视频永久免费| 久久免费看少妇高潮| 欧美激情一区在线观看| 国产精品大尺度| 亚洲中国最大av网站| 婷婷夜色潮精品综合在线| 日韩高清中文字幕一区| 久久国产剧场电影| 国产成人高清在线| 91福利在线观看| 欧美精品xxxxbbbb| 精品久久人人做人人爰| 久久久久久久久久久久久久久99 | 中文在线一区二区| 亚洲色图.com| 日韩精品久久久久久| 麻豆精品久久久| av一区二区久久| 69堂亚洲精品首页| 国产精品丝袜91| 亚洲成人免费观看| 国产黄人亚洲片| 欧美三级电影在线观看| 久久看人人爽人人| 亚洲影视资源网| 国产乱码字幕精品高清av| 99re这里只有精品首页| 日韩午夜电影av| 亚洲婷婷国产精品电影人久久| 亚洲不卡av一区二区三区| 国产精品一区二区果冻传媒| 99久久777色| 26uuu久久天堂性欧美| 亚洲少妇中出一区| 久久99深爱久久99精品| 日本韩国一区二区三区| 精品乱人伦一区二区三区| 一区二区在线电影| 国产在线视频不卡二| 欧美探花视频资源| 亚洲国产精品ⅴa在线观看| 日韩成人免费在线| 色婷婷精品久久二区二区蜜臀av | 国产精品一区二区三区四区| 欧洲精品视频在线观看| 中文无字幕一区二区三区| 日本不卡一二三区黄网| 99精品久久只有精品| 26uuu精品一区二区| 午夜精品久久久久久久久久| 不卡电影一区二区三区| 精品免费国产二区三区| 亚洲大尺度视频在线观看| www.欧美色图| 久久久精品免费免费| 久久精品国产亚洲5555| 欧美日韩久久一区二区| 亚洲区小说区图片区qvod| 国产成人一区在线| 久久久影视传媒| 极品销魂美女一区二区三区| 欧美日本一区二区三区四区| 一区二区三区四区视频精品免费| 国产成人午夜视频| 精品国产一区二区三区久久影院| 日韩精品一区第一页| 欧美怡红院视频| 亚洲香肠在线观看| 一本久道久久综合中文字幕| 国产精品久久毛片| 成人动漫一区二区在线| 国产香蕉久久精品综合网| 国产精品一区在线| 国产三级欧美三级日产三级99| 精品亚洲免费视频| 欧美成人精品3d动漫h| 奇米色一区二区三区四区| 91麻豆精品国产91久久久资源速度| 亚洲成人一区二区| 91精品国产综合久久香蕉的特点| 三级欧美韩日大片在线看| 欧美一级精品在线|