UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
binkbits.h File Reference
#include "rrCore.h"

Go to the source code of this file.

Classes

struct  BINKVARBITS
 

Macros

#define BINKBITSLOCALS(name)   void * name##cur; U32 name##bits; U32 name##bitlen
 
#define BinkVarBitsOpen(vb, pointer)   { (vb).bits=BINK_LOAD32(pointer); (vb).cur=((char*)pointer)+4; (vb).bitlen = 32; }
 
#define BINK_LOAD32(ptr)   RR_GET32_NATIVE(ptr)
 
#define BinkBitsGet(v, typ, vb, len, mask)
 
#define MAX_AT_LEAST_BITS   32
 
#define BinkBitsAtLeastStart(vb, len)
 
#define BinkBitsAtLeastEnd(vb)
 
#define BINKBITSCOPY(name, from)   { name##cur = from##cur; name##bits = from##bits; name##bitlen = from##bitlen; }
 
#define BinkBitsInAtLeastPeek(vb)   ( vb##bits )
 
#define BinkBitsInAtLeastUse(vb, bl)   { (vb##bits) >>= (bl); (vb##bitlen) -= (bl); }
 
#define BinkBitsPeek(v, typ, vb, len)
 
#define BinkBitsUse(vb, bl)   { BinkBitsInAtLeastUse( vb, bl ); BinkBitsAtLeastEnd( vb ); }
 
#define BinkVarBitsUse(vb, len)   { (vb).bits >>= (len); (vb).bitlen -= (len); }
 
#define VarBitsCopyToBinkBits(local, vb)   local##cur = (vb).cur; local##bits = (vb).bits; local##bitlen = (vb).bitlen;
 
#define BinkBitsCopyToVarBits(vb, local)   { (vb).cur = local##cur; (vb).bits = local##bits; (vb).bitlen = local##bitlen; }
 
#define BinkBitsSizeBytesRoundedToU32(local, base)   ((((((U8*)(local##cur))-((U8*)base))-(local##bitlen/8))+3)&~3)
 
#define BinkVarBitsSizeBytesRoundedToU32(vb, base)   ((((((U8*)((vb).cur))-((U8*)base))-((vb).bitlen/8))+3)&~3)
 

Typedefs

typedef struct BINKVARBITS BINKVARBITS
 

Macro Definition Documentation

◆ BINK_LOAD32

#define BINK_LOAD32 (   ptr)    RR_GET32_NATIVE(ptr)

◆ BinkBitsAtLeastEnd

#define BinkBitsAtLeastEnd (   vb)
Value:
{ \
if ( ( (S32)(vb##bitlen) ) <= 0 ) \
{ \
(vb##bits)=BINK_LOAD32(((U32* RADRESTRICT)(vb##cur)))>>(-(S32)(vb##bitlen)); \
(vb##cur)=((char*)(vb##cur))+4; \
(vb##bitlen)=(vb##bitlen)+32; \
} \
}
RAD_U32 U32
Definition egttypes.h:501
#define RADRESTRICT
Definition egttypes.h:282
RAD_S32 S32
Definition egttypes.h:496
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define BINK_LOAD32(ptr)
Definition binkbits.h:22

◆ BinkBitsAtLeastStart

#define BinkBitsAtLeastStart (   vb,
  len 
)
Value:
{ \
if ((vb##bitlen)<(len)) \
{ \
(vb##bits)=((vb##bits)|(nb<<(vb##bitlen))); \
} \
}

◆ BINKBITSCOPY

#define BINKBITSCOPY (   name,
  from 
)    { name##cur = from##cur; name##bits = from##bits; name##bitlen = from##bitlen; }

◆ BinkBitsCopyToVarBits

#define BinkBitsCopyToVarBits (   vb,
  local 
)    { (vb).cur = local##cur; (vb).bits = local##bits; (vb).bitlen = local##bitlen; }

◆ BinkBitsGet

#define BinkBitsGet (   v,
  typ,
  vb,
  len,
  mask 
)
Value:
{ \
if ((vb##bitlen)<(len)) { \
register U32 nb=BINK_LOAD32((U32* RADRESTRICT)(vb##cur)); \
v=(typ)(((vb##bits)|(nb<<(vb##bitlen)))&(mask)); \
(vb##bits)=nb>>((len)-(vb##bitlen)); \
(vb##bitlen)=(vb##bitlen)+32-(len); \
(vb##cur)=((char*)(vb##cur))+4; \
} else { \
v=(typ)((vb##bits)&(mask)); \
(vb##bits)>>=(len); \
(vb##bitlen)-=(len); \
} \
}
float v
Definition radaudio_mdct.cpp:62

◆ BinkBitsInAtLeastPeek

#define BinkBitsInAtLeastPeek (   vb)    ( vb##bits )

◆ BinkBitsInAtLeastUse

#define BinkBitsInAtLeastUse (   vb,
  bl 
)    { (vb##bits) >>= (bl); (vb##bitlen) -= (bl); }

◆ BINKBITSLOCALS

#define BINKBITSLOCALS (   name)    void * name##cur; U32 name##bits; U32 name##bitlen

◆ BinkBitsPeek

#define BinkBitsPeek (   v,
  typ,
  vb,
  len 
)
Value:
{ \
}
#define BinkBitsInAtLeastPeek(vb)
Definition binkbits.h:134

◆ BinkBitsSizeBytesRoundedToU32

#define BinkBitsSizeBytesRoundedToU32 (   local,
  base 
)    ((((((U8*)(local##cur))-((U8*)base))-(local##bitlen/8))+3)&~3)

◆ BinkBitsUse

#define BinkBitsUse (   vb,
  bl 
)    { BinkBitsInAtLeastUse( vb, bl ); BinkBitsAtLeastEnd( vb ); }

◆ BinkVarBitsOpen

#define BinkVarBitsOpen (   vb,
  pointer 
)    { (vb).bits=BINK_LOAD32(pointer); (vb).cur=((char*)pointer)+4; (vb).bitlen = 32; }

◆ BinkVarBitsSizeBytesRoundedToU32

#define BinkVarBitsSizeBytesRoundedToU32 (   vb,
  base 
)    ((((((U8*)((vb).cur))-((U8*)base))-((vb).bitlen/8))+3)&~3)

◆ BinkVarBitsUse

#define BinkVarBitsUse (   vb,
  len 
)    { (vb).bits >>= (len); (vb).bitlen -= (len); }

◆ MAX_AT_LEAST_BITS

#define MAX_AT_LEAST_BITS   32

◆ VarBitsCopyToBinkBits

#define VarBitsCopyToBinkBits (   local,
  vb 
)    local##cur = (vb).cur; local##bits = (vb).bits; local##bitlen = (vb).bitlen;

Typedef Documentation

◆ BINKVARBITS