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

📄 osdcp_loadbitmap.c

📁 mstar 776 开发的车载dvd
💻 C
字号:
#define OSDCP_LOADBITMAP_C

///////////////////////////////////////////////////////////////////////////////
//
//  File name: OSDcp_loadbitmap.c
//  Version:
//  Date:
//
//  Author:
//  Company: MStarSemi Inc.
//
//  Description:
//
///////////////////////////////////////////////////////////////////////////////

/******************************************************************************/
/*                            Header Files                                    */
/* ****************************************************************************/
#include "OSDcp_loadbitmap.h"
#include "OSDcp_global.h"
#include "OSDcp_readbin.h"

#include "drvflash.h"
#include "msAPI_MIU.h"

/********************************************************************************/
/*      			   Macro						*/
/* ******************************************************************************/
/********************************************************************************/
/*      			   Local					*/
/* ******************************************************************************/
BMPHANDLE  Osdcp_bmpHandle[512];
/********************************************************************************/
/*                   Functions     												*/
/********************************************************************************/

//*************************************************************************
//Function name:
//Passing parameter:
//Return parameter:
//Description:
//*************************************************************************

#define BITMAP_FMT_ARGB4444     2
#define BITMAP_FMT_YUV422   3

void OSDcp_LoadBitmap_init(void)
{
    BINFORMAT BinInfo;
    U32 osdcp_bmp_addr;
    U16 index;
    U16 bitmap_no;
    U32 bitmap_id_addr=0;
    OSDcp_loadbitmap_info_table loadbitmap_info_table;
    BitmapBinaryInfo info;
    U8 u8Fmt;
    GE_Buffer_Format fmt;
    BinInfo.B_ID = BIN_ID_OSDCP_BMP;

    if (msAPI_MIU_Get_BinInfo(&BinInfo) == PASS)
    {
	      osdcp_bmp_addr = BinInfo.B_FAddr;
    }

    MDrv_Flash_Read(osdcp_bmp_addr,sizeof(info),(U8 *)&info);
    MDrv_Flash_Read(osdcp_bmp_addr+INFO_SIZE, sizeof(bitmap_no), (U8 *)&bitmap_no);

    for (index=0; index<bitmap_no; index++)
    {
       MDrv_Flash_Read(osdcp_bmp_addr+INFO_SIZE+sizeof(bitmap_no)+index*sizeof(OSDcp_loadbitmap_info_table), sizeof(OSDcp_loadbitmap_info_table), (U8 *)&loadbitmap_info_table);
       // MDrv_Flash_Read(osdcp_bmp_addr+bitmap_no*sizeof(OSDcp_loadbitmap_info_table)+index, 1, &u8Fmt);
        MDrv_Flash_Read(osdcp_bmp_addr+INFO_SIZE+sizeof(bitmap_no)+bitmap_no*sizeof(OSDcp_loadbitmap_info_table)+index, 1, &u8Fmt);
        switch (u8Fmt)
        {
            case BITMAP_FMT_YUV422:
                fmt = GE_FMT_YUV422;
                break;

            case BITMAP_FMT_ARGB4444:
                fmt = GE_FMT_ARGB4444;
                break;

            default:
                fmt = GE_FMT_ARGB1555;
                break;
    }

        //printf("\r\nu8fmt = %bx", u8Fmt);
    
       Osdcp_bmpHandle[index]=msAPI_MIU_LoadFlashBitmap_Osdcp(osdcp_bmp_addr+info.headerSize+bitmap_id_addr, loadbitmap_info_table.width, loadbitmap_info_table.height, fmt);
       bitmap_id_addr = bitmap_id_addr+((U32)loadbitmap_info_table.width)*((U32)loadbitmap_info_table.height)*2;
    }
}

#undef OSDCP_LOADBITMAP_C

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -