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

📄 bitpool.h

📁 完整的MP3播放器源码
💻 H
字号:
#ifndef __BITPOOL_H_
#define __BITPOOL_H_

#include "resource.h"       // main symbols
#include "datatables.h"		// PROM DATA



#define BUFSIZE 4096


class CBitPool 
{
public:

	CBitPool();
	~CBitPool();

	DWORD	GetReadBits() const { return(m_PlayedBits); }
	DWORD	GetBits(DWORD dwBits);
	_inline DWORD	GetFastOneBit()
	{
		DWORD dwRetVal PURE;
		m_PlayedBits++;
		if (m_restBits == 0) 
		{
			m_restBits = 8;
			m_playedOctets++;
		}
		DWORD xmask = 0xFFFFFFFF >> (32 - m_restBits);
		dwRetVal = m_pDwBuff[m_playedOctets & 0xfff] & xmask;
		m_restBits--;
		dwRetVal = dwRetVal >> m_restBits;
		return dwRetVal;
	}

	_inline void AddTail(int dwRetVal)
	{
		m_pDwBuff[m_offset] = (BYTE)dwRetVal;
		m_offset = (m_offset + 1) & 0xfff;
	}

	void	GoBackBits(int dwBits);
	void	GoBackOctets(int bites = BUFSIZE);
	// void	ShowBin	(DWORD val); // debug purpose MCO
	
	

private:
	DWORD		m_offset;
	DWORD		m_PlayedBits;
	DWORD		m_playedOctets;
	DWORD		m_restBits;
	DWORD		m_InWordAcumulated;
	DWORD*		m_pDwBuff;
};
#endif //__BITPOOL_H_

⌨️ 快捷键说明

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