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 + -
显示快捷键?