UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
vdecmpeg4::M4Decoder Class Reference

#include <M4Decoder.h>

Public Member Functions

VIDError init (const VIDDecoderSetup *setup)
 Initialize decoder.
 
VIDError initBuffers (int16 width, int16 height)
 Init decoder for indicated image res.
 
VIDError StreamSet (VIDStreamIO *pStream, VIDStreamEvents *pEvents)
 "Pull" interface
 
VIDError StreamDecode (float time, const VIDImage **result)
 Handle Stream.
 

Static Public Member Functions

static M4Decodercreate (M4MemHandler &memHandler)
 Static creation.
 
static void destroy (M4Decoder *&pDecoder, M4MemHandler &memHandler)
 Static destruction.
 

"Push" interface

class M4MotionVectorMgr
 'Everyone needs some friends'
 
class M4Image
 
class M4XCmdSingleThread
 Install memory handling code.
 
static const int32 mDequantTable [4] = { -1, -2, 1, 2 }
 
static const uint32 mRoundtab [16] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2 }
 
static const uint8 mIntraMacroBlocks [8] = { 0, 0, 0, 1, 1, 0, 0, 0 }
 
M4MemHandler mMemSys
 local copy of memory hooks
 
void(* mCbPrintf )(const char *pMessage)
 
VIDError StreamEventsSet (VIDStreamEvents *pEvents)
 Attach a new event interface.
 
VIDError StreamSeekNotify ()
 Do some reset stuff if seeking happens.
 
voidoperator new (size_t sz, M4MemHandler &memSys)
 
void operator delete (void *ptr)
 
void VIDPrintf (const char *pFormat,...)
 

Detailed Description

Main decoder interface

Note: This class is not designed for inheritance.

Member Function Documentation

◆ create()

M4Decoder * vdecmpeg4::M4Decoder::create ( M4MemHandler memHandler)
static

Static creation.

Static creation

Parameters
memHandler
Returns

◆ destroy()

void vdecmpeg4::M4Decoder::destroy ( M4Decoder *&  pDecoder,
M4MemHandler memHandler 
)
static

Static destruction.

Static destruction

Parameters
pDecoder
memHandler

◆ init()

VIDError vdecmpeg4::M4Decoder::init ( const VIDDecoderSetup setup)

Initialize decoder.

Handle init code executed just once

Parameters
setupwidth/height in setup struct can be 0
Returns
none

◆ initBuffers()

VIDError vdecmpeg4::M4Decoder::initBuffers ( int16  width,
int16  height 
)

Init decoder for indicated image res.

Handle buffer allocation of frame size changes

Parameters
widthnew width
heightnew height
Returns
VIDError code

◆ operator delete()

void vdecmpeg4::M4Decoder::operator delete ( void ptr)
inline

◆ operator new()

void * vdecmpeg4::M4Decoder::operator new ( size_t  sz,
M4MemHandler memSys 
)
inline

◆ StreamDecode()

VIDError vdecmpeg4::M4Decoder::StreamDecode ( float  time,
const VIDImage **  result 
)

Handle Stream.

Handle decoding via stream interface

Parameters
result
Returns
VIDError code

◆ StreamEventsSet()

VIDError vdecmpeg4::M4Decoder::StreamEventsSet ( VIDStreamEvents pEvents)
inline

Attach a new event interface.

◆ StreamSeekNotify()

VIDError vdecmpeg4::M4Decoder::StreamSeekNotify ( )

Do some reset stuff if seeking happens.

Do some stuff if seeking happens.

WARNING: Need to revise interface if seeking to some arbitraty position

Returns

◆ StreamSet()

VIDError vdecmpeg4::M4Decoder::StreamSet ( VIDStreamIO pStreamIO,
VIDStreamEvents pEvents 
)

"Pull" interface

Attach a new stream interface

Attach stream to decoder.

Ownership is not transferred

Parameters
pStreamIO
pEvents
Returns
VIDError code

◆ VIDPrintf()

void vdecmpeg4::M4Decoder::VIDPrintf ( const char pFormat,
  ... 
)

Friends And Related Symbol Documentation

◆ M4Image

friend class M4Image
friend

◆ M4MotionVectorMgr

friend class M4MotionVectorMgr
friend

'Everyone needs some friends'

◆ M4XCmdSingleThread

friend class M4XCmdSingleThread
friend

Install memory handling code.

Required stuff for debugging BMP output

Member Data Documentation

◆ mCbPrintf

void(* vdecmpeg4::M4Decoder::mCbPrintf) (const char *pMessage)

◆ mDequantTable

const int32 vdecmpeg4::M4Decoder::mDequantTable = { -1, -2, 1, 2 }
static

◆ mIntraMacroBlocks

const uint8 vdecmpeg4::M4Decoder::mIntraMacroBlocks = { 0, 0, 0, 1, 1, 0, 0, 0 }
static

◆ mMemSys

M4MemHandler vdecmpeg4::M4Decoder::mMemSys

local copy of memory hooks

◆ mRoundtab

const uint32 vdecmpeg4::M4Decoder::mRoundtab = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2 }
static

The documentation for this class was generated from the following files: