11 ( ((a)&0x1ffff) | ((b)<<17) )
19#define VLC_ERROR MK_VLC(0x1ffff, 0)
20#define VLC_ESCAPE 0x1BFF
64 run = (code >> 8) & 255;
66 last = (code >> 16) & 1;
79 vlc = getIntraVlcTab(bits);
85 run = (code >> 8) & 255;
87 last = (code >> 16) & 1;
134 run = (code >> 4) & 255;
136 last = (code >> 12) & 1;
149 vlc = getInterVlcTab(bits);
155 run = (code >> 4) & 255;
157 last = (code >> 12) & 1;
165 run += mMaxRun[last + 2][
level] + 1;
195 return mIntraCodeTab.
mVlcCodeTab[0][(bits >> 5) - 16];
197 else if (bits >= 128)
199 return mIntraCodeTab.
mVlcCodeTab[1][(bits >> 2) - 32];
212 return mInterCodeTab.
mVlcCodeTab[0][(bits >> 5) - 16];
214 else if (bits >= 128)
216 return mInterCodeTab.
mVlcCodeTab[1][(bits >> 2) - 32];
230 M4BlockVlcCodeTab mIntraCodeTab;
231 M4BlockVlcCodeTab mInterCodeTab;
233 static uint8 mMaxLevel[4][64];
234 static uint8 mMaxRun[4][256];
236 static const M4_VLC mTabCbpCIntra[64];
237 static const M4_VLC mTabCbpCInter[257];
238 static const M4_VLC mTabCbpY[64];
240 static M4_VLC mTabTMNMV0[];
241 static M4_VLC mTabTMNMV1[];
242 static M4_VLC mTabTMNMV2[];
244 static M4_VLC mTabDCT3D0[];
245 static M4_VLC mTabDCT3D1[];
246 static M4_VLC mTabDCT3D2[];
248 static M4_VLC mTabDCT3D3[];
249 static M4_VLC mTabDCT3D4[];
250 static M4_VLC mTabDCT3D5[];
252 static const M4_VLC mDCLumTab[];
GLenum GLuint GLint level
Definition AndroidOpenGLFunctions.h:46
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define VLC_ESCAPE
Definition M4VlcDecoder.h:20
#define VLC_LEN(a)
Definition M4VlcDecoder.h:16
#define VLC_ERROR
Definition M4VlcDecoder.h:19
#define VLC_CODE(a)
Definition M4VlcDecoder.h:13
Definition M4BitstreamParser.h:39
Definition M4Bitstream.h:22
Definition M4VlcDecoder.h:36
M4VlcDecoder()
Default constructor.
Definition M4VlcDecoder.h:39
int32 getCoeffInterNoAsm(int32 &run, int32 &last, M4Bitstream &bs)
Definition M4VlcDecoder.h:119
~M4VlcDecoder()
Destructor.
Definition M4VlcDecoder.h:43
void init()
Init vlc tables.
Definition M4VlcDecoder.cpp:15
int32 getCoeffIntraNoAsm(int32 &run, int32 &last, M4Bitstream &bs)
Definition M4VlcDecoder.h:50
Definition M4Bitstream.h:9
uint32 M4_VLC
Definition of VLC data types.
Definition M4VlcDecoder.h:22
helper struct for passing some C++ tables to the ASM routines. Must be initialized only once.
Definition M4VlcDecoder.h:27
M4_VLC * mVlcCodeTab[3]
Definition M4VlcDecoder.h:28
void * mMaxLevel
Definition M4VlcDecoder.h:29
void * mMaxRun
Definition M4VlcDecoder.h:30
#define M4CHECK
Definition vdecmpeg4_Types.h:8