strmdec.h

来自「ESS3890+SL原代码(1*16内存)」· C头文件 代码 · 共 99 行

H
99
字号
/* Copyright 1997, ESS Technology, Inc.                                 *//* SCCSID @(#)strmdec.h	1.1 01/23/02 *//* Based on DVD code version  	1.4 06/28/01 */#ifndef __STRMDEC_WMA_H_#define __STRMDEC_WMA_H_#define VALID				0#define END_OF_FILE			1#define ILLEGAL_PATTERN		3#ifndef EOF#define EOF                 (-1)#endif#define NONSUPER_WRAPAROUND 1024#if 0 /*GMGM */extern const UInt getMask [33];#endif#if defined(_DEBUG) || defined(BITRATE_REPORT)extern Int g_cBitGet;#endif  /* _DEBUG || BITRATE_REPORT */#if 0 /* GMGM */typedef WMARESULT (*PFNGETMOREDATA)(U8 **ppBuffer, U32 *pcbBuffer, U32 user_data);#endiftypedef struct CWMAInputBitStream {/*wchen: add for streaming mode */#if 0 /* GMGM */    PFNGETMOREDATA  m_pfnGetMoreData;#endif    U32             m_dwUser;    U32             m_dwOwner;    U32     m_dwHeaderBuf;      /* hold the packet header data */    U8	    *m_pBufferBegin;    /* begining of packet for reset */    U32	    m_cbBuflenBegin;    /* used in association of m_pBufferBegin	 */    U8		*m_pBuffer;    Int		m_cbBuflen;    UInt	m_dwDot;    UInt	m_dwBitsLeft;    Int     m_iPrevPacketNum;    Bool    m_fAllowPackets;    Bool    m_fSuppressPacketLoss;#if 0 /* GMGM */    WMARESULT (*ibstrmpfnPeekBits) (struct CWMAInputBitStream *pibstrm, register UInt dwNumBits,                                    U32 *piNumBits);#endif} CWMAInputBitStream;#if 0 /* GMGM */Void        ibstrmInit (CWMAInputBitStream* pibstrm, Bool fAllowPackets);Void        ibstrmAttach(CWMAInputBitStream *pibstrm, U32 dwDot, U32 dwBitsLeft, U8* pbSrc, I32 cbSrc);Void ibstrmReset(CWMAInputBitStream *pibstrm);INLINE UInt ibstrmBitsLeft (const CWMAInputBitStream* pibstrm) {return pibstrm->m_dwBitsLeft;}INLINE U32  ibstrmDwBuf (const CWMAInputBitStream* pibstrm) {return pibstrm->m_dwDot;}INLINE U8*  ibstrmBuf (const CWMAInputBitStream* pibstrm) {return pibstrm->m_pBuffer;}INLINE Int  ibstrmBufLen (const CWMAInputBitStream* pibstrm) {return pibstrm->m_cbBuflen;}INLINE Void ibstrmSetGetMoreData(CWMAInputBitStream *pibs, PFNGETMOREDATA pfnGetMoreData)                        { pibs->m_pfnGetMoreData = pfnGetMoreData; }INLINE Void ibstrmSetUserData(CWMAInputBitStream *pibs, U32 dwUser)                         { pibs->m_dwUser = dwUser; }INLINE Void ibstrmSetOwner(CWMAInputBitStream *pibs, U32 dwOwner)                         { pibs->m_dwOwner = dwOwner; }INLINE U32  ibstrmGetPacketHeader(CWMAInputBitStream *pibs)                         { return pibs->m_dwHeaderBuf; }INLINE Void ibstrmSetPacketHeader(CWMAInputBitStream *pibs, U32 iVal)                         { pibs->m_dwHeaderBuf = iVal; }Void        ibstrmResetPacket(CWMAInputBitStream *pibstrm); /* reset to the beginning of packet */WMARESULT   ibstrmGetMoreData(CWMAInputBitStream *pibstrm, U32 *piBufLen);WMARESULT   ibstrmPeekBitsNonStop (CWMAInputBitStream *pibstrm, register UInt dwNumBits,                                   U32 *piNumBits);WMARESULT   ibstrmPeekBits (CWMAInputBitStream *pibstrm, register UInt dwNumBits,                            U32 *piNumBits);WMARESULT   ibstrmLookForBits (CWMAInputBitStream *pibstrm, UInt dwNumBits);WMARESULT   ibstrmFlushBits (CWMAInputBitStream *pibstrm, register UInt dwNumBits);INLINE Void ibstrmFlush (CWMAInputBitStream* pibstrm)                         { pibstrm->m_dwBitsLeft -= (pibstrm->m_dwBitsLeft % 8); } /*private */WMARESULT prvFinalLoad(CWMAInputBitStream* pibstrm,                       UInt             dwRetval,                       UInt             dwBitsToAdd,                       U32             *piResult);/*INLINE*/ WMARESULT ibstrmGetBits (CWMAInputBitStream* pibstrm, register UInt dwNumBits,                                    U32 *piResult);#endifU32  ibstrmGetPacketHeader(CWMAInputBitStream *pibs);WMARESULT ibstrmGetMoreData(CWMAInputBitStream *pibs, U32 *piBufLen);#define WMA_set_fNoMoreData(val)        (pAudDecoder->m_fNoMoreData = val)U8 WMA_get_nHdrBits(void);#endif /* __STRMDEC_WMA_H_ */

⌨️ 快捷键说明

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