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

📄 jzbmpdecode.cpp

📁 君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图片解码,浏览,电子书,录音,想学ucos,识货的人就下吧 russblock fmradio explore set
💻 CPP
字号:
/********************** BEGIN LICENSE BLOCK ************************************
 *
 * JZ4740  mobile_tv  Project  V1.0.0
 * INGENIC CONFIDENTIAL--NOT FOR DISTRIBUTION IN SOURCE CODE FORM
 * Copyright (c) Ingenic Semiconductor Co. Ltd 2005. All rights reserved.
 * 
 * This file, and the files included with this file, is distributed and made 
 * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 
 * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, 
 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS 
 * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 
 * 
 * http://www.ingenic.cn 
 *
 ********************** END LICENSE BLOCK **************************************
 *
 *  Author: <dsqiu@ingenic.cn> <hlyu@ingenic.cn>
 *
 *  Create:   2008-03-04, by dsqiu
 *  Maintain: 2008-06-23, by hlyu
 *            
 *******************************************************************************
 */

#if JZ4740_PMP16
#include "JzImage.h"
#include "xiofile.h"
#include "JzImageBmp.h"
#include "JzImageInfo.h"

extern "C"{
	//result: 0 -- error
	//result: 1 -- finish
	 #include "excpt.h"
       //void ShowGIF( CJzImage * );


       static IVSETIMAGEINFO ivSetImageInfo = NULL;

       void ivSetImageBuf( IVSETIMAGEINFO func)
       {
           ivSetImageInfo = func;
       }

	

	BOOL C_DecodeImage(char *filename, void *p);
	static unsigned int saveregister[2];
	BOOL DecodeImage(char *filename, void *p)
	{
		#if EXCEPTION_XIMAGE
		SAVE_PROCESS_REGISTER(saveregister);
		#endif
		C_DecodeImage(filename,p);
	}
	#if EXCEPTION_XIMAGE			
	static void image_excpt()
	{
		  iv_memory_deinit( 0 );
		  excpt_exit(FALSE, saveregister);	
		
	}
	#endif
	BOOL C_DecodeImage(char *filename, void *p)
	{ 
                int excptid;
                iv_memory_init( 0 );
                #if EXCEPTION_XIMAGE	
                excptid = AddExcept(image_excpt,saveregister);
				#endif
		PSCRINFO pscr = (PSCRINFO)p;
		char *ext;
		BOOL decodeOk = FALSE;
		CJzImage *image;
   	CxIOFile *file;
    printf("    ^^^^^^^^^ filename decode: %s \n", filename );
		image = new CJzImageBmp(pscr);
		if(image)
		{
			file = new CxIOFile(NULL);
			if(file->Open(filename,"rb"))
			{	
				decodeOk = image->Decode((CxFile *)file);
				file->Close();
				delete image;
				image = 0;
	    }
		   delete file;
		   file = 0;
		}
		if(image)
			delete image;
		if(file)
			delete file;
                iv_memory_deinit( 0 );
     #if EXCEPTION_XIMAGE	
    DecExcept(excptid,saveregister);
		excpt_exit(decodeOk,saveregister);            
	#endif
		return decodeOk;
	}

IVSETIMAGEINFO ivGetImageInfoCallback( void )
{
    return ivSetImageInfo;
}
}//end extern "C"



#endif

⌨️ 快捷键说明

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