mirror of
https://github.com/jpd002/Play-.git
synced 2025-04-28 13:47:57 +03:00
76 lines
1.9 KiB
C++
76 lines
1.9 KiB
C++
#include <string.h>
|
|
#include "IPU_MacroblockAddressIncrementTable.h"
|
|
|
|
using namespace IPU;
|
|
using namespace MPEG2;
|
|
|
|
VLCTABLEENTRY CMacroblockAddressIncrementTable::m_pTable[ENTRYCOUNT] =
|
|
{
|
|
{0x0001, 1, 0x00010001},
|
|
{0x0003, 3, 0x00030002},
|
|
{0x0002, 3, 0x00030003},
|
|
{0x0003, 4, 0x00040004},
|
|
{0x0002, 4, 0x00040005},
|
|
{0x0003, 5, 0x00050006},
|
|
{0x0002, 5, 0x00050007},
|
|
{0x0007, 7, 0x00070008},
|
|
{0x0006, 7, 0x00070009},
|
|
{0x000B, 8, 0x0008000A},
|
|
{0x000A, 8, 0x0008000B},
|
|
{0x0009, 8, 0x0008000C},
|
|
{0x0008, 8, 0x0008000D},
|
|
{0x0007, 8, 0x0008000E},
|
|
{0x0006, 8, 0x0008000F},
|
|
{0x0017, 10, 0x000A0010},
|
|
{0x0016, 10, 0x000A0011},
|
|
{0x0015, 10, 0x000A0012},
|
|
{0x0014, 10, 0x000A0013},
|
|
{0x0013, 10, 0x000A0014},
|
|
{0x0012, 10, 0x000A0015},
|
|
{0x0023, 11, 0x000B0016},
|
|
{0x0022, 11, 0x000B0017},
|
|
{0x0021, 11, 0x000B0018},
|
|
{0x0020, 11, 0x000B0019},
|
|
{0x001F, 11, 0x000B001A},
|
|
{0x001E, 11, 0x000B001B},
|
|
{0x001D, 11, 0x000B001C},
|
|
{0x001C, 11, 0x000B001D},
|
|
{0x001B, 11, 0x000B001E},
|
|
{0x001A, 11, 0x000B001F},
|
|
{0x0019, 11, 0x000B0020},
|
|
{0x0018, 11, 0x000B0021},
|
|
{0x000F, 11, 0x000B0022},
|
|
{0x0008, 11, 0x000B0023},
|
|
};
|
|
|
|
unsigned int CMacroblockAddressIncrementTable::m_pIndexTable[MAXBITS] =
|
|
{
|
|
0,
|
|
1,
|
|
1,
|
|
3,
|
|
5,
|
|
5,
|
|
7,
|
|
9,
|
|
9,
|
|
15,
|
|
21,
|
|
};
|
|
|
|
CVLCTable* CMacroblockAddressIncrementTable::m_pInstance = NULL;
|
|
|
|
CMacroblockAddressIncrementTable::CMacroblockAddressIncrementTable()
|
|
: CVLCTable(MAXBITS, m_pTable, ENTRYCOUNT, m_pIndexTable)
|
|
{
|
|
}
|
|
|
|
CVLCTable* CMacroblockAddressIncrementTable::GetInstance()
|
|
{
|
|
if(m_pInstance == NULL)
|
|
{
|
|
m_pInstance = new CMacroblockAddressIncrementTable();
|
|
}
|
|
|
|
return m_pInstance;
|
|
}
|