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

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

?? rmvdemux.h

?? SigmDesign SMP8634 media decode chip development SDK
?? H
字號:
/***************************************** Copyright ? 2001-2003   Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//**  @file   rmvdemux.h  @brief  Simple Interface to an MPEG2 system demux.  Typical use will be like this:  RMvdemux * pvdemux = (RMvdemux *)RMCreateInstance (RM_CID_VDEMUXMOD);  pvdemux->SetCallbackData (...);  pvdemux->SetType (...);  if (type == transport) {      pvdemux->SetTransportChannel (...);  } else if (type == dvd) {      pvdemux->SetDvdAudioSubStreamId ();      pvdemux->SetDvdSubPictureSubStreamId ();  }  do {      pvdemux->Demux (...); // Here, your callback is called.  } while (notEndOfStream);  pvdemux->Reset ();    pvdemux->Release ();  @author Mathieu Lacage  @date   2001-12-03*/#ifndef __RMVDEMUX_H__#define __RMVDEMUX_H__#include "../../rmcore/include/rmcore.h"#include "../../rmproperties/include/rmexternalproperties.h"/** Maximum number of streams supported by the demux */#define MAX_DEMUX_STREAM_TYPE	32#ifdef RMVDEMUX_LOCAL_RMOBJECT/* Don't inherit from RMobject to  remove dependency of external definitions of * RMobject and RMdemuxBase from  caribeean project and add a "C" interface for * RMvdemux */class RMdemuxBase{ public:	RMdemuxBase();	virtual ~RMdemuxBase();	virtual RMuint32 Demux (RMuint8 *buffer, RMuint32 length) PURE_VIRTUAL;	virtual void Reset (void) PURE_VIRTUAL; 	virtual void ResetState (void) PURE_VIRTUAL;};#include "../include/rmvdemuxapi.h"#else // no RMVDEMUX_LOCAL_RMOBJECT#include "../../rmmpeg2_framework/include/rmdemuxbase.h"typedef enum {	RMVDEMUX_16BITS = 16,	RMVDEMUX_20BITS = 20,	RMVDEMUX_24BITS = 24} RMvdemuxQuantization;/// /**   PESOffset is different from the offset pointed to by buffer across   multiple RMvdemuxDemux() calls.   @param RMvdemuxCallback         @return */typedef void (*RMvdemuxCallback) (RMuint8 *buffer, 				  RMuint32 length, 				  RMuint64 PTS, 				  RMbool isPtsValid,				  RMvdemuxDataType dataType, 				  RMuint64 PESOffset, 				  void *context);typedef void (*RMvdemuxAC3DTSCallback) (RMuint8 numberOfFrameHeaders,					RMuint16 firstAccessUnitPointer,					void *context);typedef void (*RMvdemuxLPCMCallback) (RMuint8 numberOfFrameHeaders,				      RMuint16 firstAccessUnitPointer,				      RMuint32 frequency,				      RMuint8 numberOfChannels,				      RMvdemuxQuantization quantizationWordLength,				      void *context);typedef void (*RMvdemuxAOBPCMCallback) (RMuint16 firstAccessUnitPointer, 					RMvdemuxQuantization quantizationGr1,					RMvdemuxQuantization quantizationGr2,					RMuint32 samplingFreqGr1,					RMuint32 samplingFreqGr2,					RMuint8 bitShift,					RMuint8 channelAssign,					void * context);typedef void (*RMvdemuxMLPCallback) (RMuint16 firstAccessUnitPointer, 				     RMuint8 forwardAUSearchPointer,				     RMuint8 backwardAUSearchPointer,				     void *context);#endif	// RMVDEMUX_LOCAL_RMOBJECTtypedef void (*RMvideotypeCallback) (RMDemuxStreamTypeEnum streamType, void* context);#ifdef RMVDEMUX_LOCAL_RMOBJECTclass RMvdemux#elseclass RMvdemux : public RMobject#endif{ public:	RMvdemux ();	virtual ~RMvdemux ();        /**	   Must be called before any call to Demux ().           @param callback                 @param context		*/	virtual void SetCallbackData (RMvdemuxCallback callback, void *context); 	/**	   Must be called to set the type of data to demux after	   SetCallbackData(...) and before any call to Demux(). It	   always resets the demux.           @param type		*/	virtual void SetType (RMsystemType type);	virtual RMsystemType GetType(void);	/**	   Must be called to reset the demux' state, when	   changing the decoding bitstream.           @param void		*/	virtual void Reset ();	virtual void ResetState (void);        /**	   Demuxes the data.           @param buffer                   @param length		*/	virtual void Demux (RMuint8 *buffer, RMuint32 length);	/**	   Must be called to set the channel to demux when demuxing 	   transport data, after SetType () and before Demux ().	 */	virtual void SetTransportChannel (RMuint16 channelNumber);		/**	   Must be called after SetType and before Demux to get	   to the user-selected audio or subpicture stream.	   These functions can be called anytime afterwards to change	   the audio and subpicture SubStreamIds.	   see VI 5-6, DVD Video spec, part 3, version 1.0	   These functions take the low-order bits of the stream or substream ids.	*/	virtual void SetDvdSubPictureStreamNumber (RMuint8 subPictureSubStreamNumber);	/**	   Must be called before calls to Demux if you want to get	   DVD-specific audio-related data.	   !!! This callback will be called before the usual data callback.	   However, more than one call to the data callback can be done	   if data is split across boundaries.	 */	virtual void SetAudioCallbacks (RMvdemuxAC3DTSCallback ac3Callback,					RMvdemuxLPCMCallback lpcmCallback,					RMvdemuxAOBPCMCallback aobPcmCallback, 					RMvdemuxMLPCallback mlpCallback);	/**	   Must be called to set change the video type (MPEG2 or MPEG4) when demuxing 	   transport data.	 */	virtual void SetVideoTypeCallbacks (RMvideotypeCallback videotypeCallback);	virtual void EnableIndex(RMbool enable); 	virtual void GetVideoStream(RMuint16 *videoPid, RMuint8 *videoSubId);	virtual void GetAudioStream(RMuint16 *audioPid, RMuint8 *audioSubId);	virtual void SetVideoStream(RMuint16 videoPid, RMuint8 videoSubId);	virtual void SetAudioStream(RMuint16 audioPid, RMuint8 audioSubId);	virtual RMuint64 GetLastVideoPTS(void);	virtual RMuint64 GetLastAudioPTS(void);	virtual RMuint64 GetLastNPT_REFERENCE(void);	virtual RMuint64 GetLastSTC_REFERENCE(void);				/** Get the number of streams found by the demux */	virtual RMuint32 GetNumberOfStreams();		/** Get the stream type referenced by StreamNumber (inside RMDemuxStreamType) */	virtual RMstatus GetStreamType(RMdemuxStreamType *pdemuxStreamType);	/** Remve all reference to previous detected streams */	virtual void ResetStreams(void); private:	// vincent's demuxes.	RMdemuxBase *m_demux;	RMdemuxBase *m_audioPesDemux;	RMdemuxBase *m_videoPesDemux;	// user callback data.	RMvdemuxCallback m_callback;	void *m_context;	RMvdemuxAC3DTSCallback m_ac3Callback;	RMvdemuxLPCMCallback m_lpcmCallback;	RMvideotypeCallback m_videotypeCallback;	RMvdemuxAOBPCMCallback m_aobPcmCallback;	RMvdemuxMLPCallback m_mlpCallback;	// transport data.	RMuint16 m_channelNumber;	RMuint16 m_audioPid;	RMuint16 m_audioSubId; // Should be 8 bit but we use 0xFFFF as invalid value	RMuint16 m_videoPid;	RMuint8 m_videoSubId;	RMuint8 *m_pDescriptor;	RMvdemuxDataType m_demuxType;		// dvd data.	RMuint8 m_subPictureStreamNumber;	// stream type.	RMsystemType m_systemType;		// Enumerate the streams:	RMcoreQueue m_demuxStreamTypeQueue;	//Store the last PTS and PN	RMuint64 m_lastAudioPTS;	RMuint64 m_lastVideoPTS;	RMuint64 m_lastNPT_REFERENCE;	RMuint64 m_lastSTC_REFERENCE;					RMcoreList m_demuxList;	RMuint64 m_videoPesLength;	RMbool m_noIndex;	RMbool m_waitVideoPESstart;	RMbool m_waitAudioPESstart; private:	void DeleteDemux(void);		// Stream List function	RMbool NewStreamFound (RMuint16 streamPID, RMuint8 streamSubID, RMDemuxStreamTypeEnum demuxStreamTypeEnum);	// Mpeg2 transport callbacks.	static void PES2TCallback    (RMuint8 *pData, RMuint32 Length, RMuint8 StreamId, 				      RMuint8 SubStreamId, RMint64 Pts, RMint64 Dts, 				      RMuint8 Flags, RMuint64 unused, void *Context);	static void M2TCallback    (RMuint8 *pData, RMuint32 Length, RMuint16 PID, 				    RMuint8 Flags, RMuint64 TransportOffset, void *Context);	static RMbool    M2TPMTCallback (RMuint16 wPID, 					 RMuint16 wType, 					 void *Context);	static RMuint16  M2TPATCallback (RMuint16 wPID, 					 RMuint16 wProgramNumber, 					 void *Context);	static void  M2TDESCRIPTORCallback (RMuint16 wProgramInfoLength, 					 RMuint16 wPosition, 					 RMuint8 bByte,					 void *Context);	// mpeg1 callback.	static void Mpeg1Callback (RMuint8 *pData, RMuint32 Length, RMuint8 PacketId,				   RMint64 Scr, RMint64 Pts, 				   RMint64 Dts, RMuint8 Flags,				   RMuint64 PESOffset,				   void *Context);	// Mpeg2 program callbacks.	static void PES2PCallback    (RMuint8 *pData, RMuint32 Length, RMuint8 StreamId, 				      RMuint8 SubStreamId, RMint64 Pts, RMint64 Dts, 				      RMuint8 Flags, RMuint64 PESOffset, void *Context);	static void PSMCallback    (RMuint8 streamType, 				    RMuint8 streamId, 				    void *Context);	// DVD audio callbacks.	static void AC3DTSCallback (RMuint8 numberOfFrameHeaders,				    RMuint16 firstAccessUnitPointer,				    void *context);	static void LPCMCallback (RMuint8 numberOfFrameHeaders,				  RMuint16 firstAccessUnitPointer,				  RMuint32 frequency,				  RMuint8 numberOfChannels,				  RMuint8 quantizationWordLength,				  void *context);	static void AOBPCMCallback (RMuint16 firstAccessUnitPointer, 				    RMuint8 quantizationGr1,				    RMuint8 quantizationGr2,				    RMuint32 samplingFreqGr1,				    RMuint32 samplingFreqGr2,				    RMuint8 bitShift,				    RMuint8 channelAssign,				    void * context);	static void MLPCallback (RMuint16 firstAccessUnitPointer, 				 RMuint8 forwardAUSearchPointer,				 RMuint8 backwardAUSearchPointer,				 void *context);};#endif // __RMVDEMUX_H__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲乱码中文字幕| 亚洲成a人片在线不卡一二三区| 国产精品污www在线观看| 国产精品盗摄一区二区三区| 九一九一国产精品| 在线视频欧美区| 欧美国产日本韩| 久久精品噜噜噜成人88aⅴ| 色老头久久综合| 久久精品视频一区二区| 日本va欧美va瓶| 在线观看不卡一区| 亚洲欧美激情一区二区| 国产成人精品网址| 久久天堂av综合合色蜜桃网| 性感美女久久精品| 欧美怡红院视频| 亚洲人成在线播放网站岛国 | 久久久一区二区三区| 日韩在线a电影| 欧美三区在线观看| 亚洲精品乱码久久久久久| 波多野洁衣一区| 国产精品美女久久久久久久久久久| 久久激五月天综合精品| 91精品国产综合久久久蜜臀图片| 亚洲综合色网站| 在线观看国产91| 天天综合网 天天综合色| 欧美视频一区二区在线观看| 亚洲一区二区在线免费观看视频| av在线不卡电影| 亚洲色欲色欲www在线观看| 97aⅴ精品视频一二三区| 国产精品伦一区| 99精品久久只有精品| 亚洲手机成人高清视频| 一本色道久久综合精品竹菊| 亚洲人123区| 欧美性做爰猛烈叫床潮| 午夜视频在线观看一区二区三区| 欧美精品一二三| 奇米色一区二区| 久久综合精品国产一区二区三区| 激情丁香综合五月| 国产视频一区二区在线观看| 国产suv精品一区二区三区 | 26uuu国产一区二区三区| 国产一区激情在线| 国产亚洲欧美日韩俺去了| 成人性生交大片| 亚洲黄色免费电影| 欧美一级在线观看| 国产精品一区久久久久| 亚洲视频香蕉人妖| 欧美三级日韩三级国产三级| 免费成人在线观看| 国产精品免费久久| 精品视频999| 国产麻豆精品久久一二三| 国产精品久久久久四虎| 51午夜精品国产| 粉嫩av亚洲一区二区图片| 亚洲自拍都市欧美小说| 精品国产一区二区三区久久影院 | 欧美精品在线一区二区三区| 国产精品一区二区三区99| 一区二区三区不卡视频| 精品伦理精品一区| 91在线porny国产在线看| 日韩不卡手机在线v区| 国产精品久久毛片av大全日韩| 精品视频一区三区九区| 国产激情91久久精品导航| 亚洲国产视频网站| 国产精品色婷婷| 日韩一区二区在线免费观看| 不卡视频一二三| 激情五月婷婷综合网| 亚洲成人精品在线观看| 中文字幕乱码亚洲精品一区| 4hu四虎永久在线影院成人| eeuss鲁一区二区三区| 捆绑调教美女网站视频一区| 一区二区高清免费观看影视大全 | 国产精品五月天| 日韩一区二区三区电影| 91影院在线观看| 国产精品主播直播| 日本午夜精品视频在线观看| 亚洲精品综合在线| 久久精品一区八戒影视| 日韩午夜激情视频| 欧美体内she精高潮| 99久久精品情趣| 国产成人在线观看| 国模套图日韩精品一区二区| 石原莉奈在线亚洲三区| 一区二区高清免费观看影视大全 | 舔着乳尖日韩一区| 国产精品国产成人国产三级 | 亚洲乱码中文字幕| 香蕉影视欧美成人| 狠狠色伊人亚洲综合成人| 成人毛片老司机大片| 一本高清dvd不卡在线观看| 欧美日韩成人在线一区| 久久精品日韩一区二区三区| 亚洲色图一区二区| 日韩电影在线免费| 风间由美一区二区三区在线观看| 91色在线porny| 日韩欧美国产不卡| 中文字幕在线观看不卡视频| 亚洲v中文字幕| 国产成人午夜电影网| 欧美色图第一页| 国产视频一区在线播放| 午夜不卡在线视频| 成人国产精品免费网站| 337p亚洲精品色噜噜狠狠| 国产色一区二区| 香蕉影视欧美成人| 99久久精品国产麻豆演员表| 欧美一级高清大全免费观看| 日韩伦理电影网| 国产一区二区伦理| 欧美日韩成人综合在线一区二区| 欧美高清在线精品一区| 青青国产91久久久久久| 一本一本大道香蕉久在线精品| 日韩欧美久久一区| 午夜精品久久久久久久99水蜜桃 | 久久精品国产亚洲高清剧情介绍 | 色又黄又爽网站www久久| 久久午夜羞羞影院免费观看| 一区二区三区免费| 99re这里只有精品视频首页| 精品久久久久av影院| 午夜电影网亚洲视频| 色美美综合视频| 国产精品久久久久桃色tv| 精彩视频一区二区| 欧美一卡二卡三卡四卡| 天天免费综合色| 日本道在线观看一区二区| 中文字幕国产一区| 国产精品一线二线三线| 亚洲精品在线网站| 另类小说图片综合网| 91精品一区二区三区在线观看| 一区二区三区中文在线观看| 波多野结衣中文一区| 久久久久久久久久美女| 韩国女主播一区二区三区| 666欧美在线视频| 性感美女久久精品| 欧美日韩久久久久久| 亚洲制服丝袜av| 色婷婷激情久久| 亚洲免费电影在线| 91黄视频在线| 一区二区三区**美女毛片| 一本高清dvd不卡在线观看| 亚洲精品一卡二卡| 91国产视频在线观看| 亚洲综合偷拍欧美一区色| 欧美中文字幕一二三区视频| 一区二区三区四区在线播放| 91黄色小视频| 日韩电影一二三区| 日韩一区二区三区电影在线观看| 美女精品自拍一二三四| 亚洲精品在线网站| 成人午夜激情在线| 亚洲日本电影在线| 欧洲av一区二区嗯嗯嗯啊| 午夜成人免费视频| 精品88久久久久88久久久| 国产精品99久久久久久宅男| 国产精品精品国产色婷婷| 欧美中文字幕久久 | 国产毛片精品国产一区二区三区| 久久久国产综合精品女国产盗摄| 国产高清久久久| 亚洲青青青在线视频| 欧美日韩视频在线第一区| 热久久久久久久| 国产婷婷一区二区| 在线看国产一区二区| 秋霞成人午夜伦在线观看| 久久精品一区二区三区四区| 91农村精品一区二区在线| 亚洲成av人片一区二区| 久久久久综合网| 91欧美一区二区| 美女一区二区视频| 中文欧美字幕免费| 欧美日韩免费在线视频| 狠狠狠色丁香婷婷综合久久五月|