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

📄 decoderengine.h

📁 symbian上的yuv视频文件处理程序 可对yuv的每一帧数据进行读取 处理 显示
💻 H
字号:
/*
 * DecoderEngine.h
 *
 * The MPEG4 Codec for Symbian Project
 *
 * Copyright (c) 2005-2008 for Cyansoft Studio (www.cyansoft.com.cn).
 * All Rights Reserved.
 *
 * Contributor(s): ______________________________________.
 *
 * $Cyansoft$
 * 
 */
#ifndef _DECODER_ENGINE_INC_
#define _DECODER_ENGINE_INC_

#include <e32base.h>
#include <w32std.h>
#include <f32file.h>
#include <s32file.h>
#include <e32svr.h>

class CDirectDraw;
class CYuv2Rgb;
class CScale;
class CMPEG4Decoder;

class CDecoderEngine : public CActive, public MDirectScreenAccess
{
public:
	CDecoderEngine();
	static CDecoderEngine* NewL( CDirectDraw* aDDraw );
	static CDecoderEngine* NewLC( CDirectDraw* aDDraw );
	void ConstructL( CDirectDraw* aDDraw );
	~CDecoderEngine();
	TInt CreateL( TFileName aFileToOpen, TUint32 aWidth, TUint32 aHeight, TUint32 aBytesPixel, CYuv2Rgb* aYuv2Rgb, CScale* aScale, HBufC8* aInputbuf, TUint32 aInputSize, HBufC8* aYuvbuf, TUint32 aYuvSize, HBufC8* aRgbbuf, CMPEG4Decoder* aDecoder );
	void StartL();
	TInt DecodeL();
	void PauseL( TBool fPause );
	void StopL( TBool fIgnoreReport );
    
public: // from MDirectScreenAccess
	virtual void Restart( RDirectScreenAccess::TTerminationReasons aReason );
	virtual void AbortNow( RDirectScreenAccess::TTerminationReasons aReason );
	
protected: // from CActive
    void DoCancel();
    void RunL();
    
private:	
	void DrawFrameL();
	
	CDirectDraw* iDDraw;
	TUint32 iWidth, iHeight, iBytesPixel;
	
	TFileName iFileToOpen;
	TInt iFileSize, iReadSize, iInputSize, iYuvSize;
	RFs* iFsSession;
	RFile* iFile;
	RFileReadStream* iInputStreamFile;
	
	CMPEG4Decoder* iDecoder;
	CYuv2Rgb* iYuv2Rgb;
	CScale* iScale;
	HBufC8* iYuvbuf;
	HBufC8* iRgbbuf;
	HBufC8* iInputbuf;
	
	TBool iPause, iStop;
	TUint32 iFrames, iTotalTime, iDecodeTime, iYuv2rgbTime, iScaleTime;
};

#endif /* _DECODER_ENGINE_INC_ */
/* End of file */

⌨️ 快捷键说明

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