UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
rada_decode.h File Reference
#include <stdint.h>
#include <stddef.h>
#include "rada_file_header.h"

Go to the source code of this file.

Classes

struct  SeekTableEnumerationState
 

Macros

#define RADA_LIBRARY_VERSION   1
 
#define RR_STRING_JOIN3(arg1, arg2, arg3)   RR_STRING_JOIN_DELAY3(arg1, arg2, arg3)
 
#define RR_STRING_JOIN_DELAY3(arg1, arg2, arg3)   RR_STRING_JOIN_IMMEDIATE3(arg1, arg2, arg3)
 
#define RR_STRING_JOIN_IMMEDIATE3(arg1, arg2, arg3)   arg1 ## arg2 ## arg3
 
#define RR_STRING_JOIN(arg1, arg2)   RR_STRING_JOIN_DELAY(arg1, arg2)
 
#define RR_STRING_JOIN_DELAY(arg1, arg2)   RR_STRING_JOIN_IMMEDIATE(arg1, arg2)
 
#define RR_STRING_JOIN_IMMEDIATE(arg1, arg2)   arg1 ## arg2
 
#define RadAGetFileHeader   RADA_NAME(RadAGetFileHeader)
 
#define RadAGetSeekTableHeader   RADA_NAME(RadAGetSeekTableHeader)
 
#define RadAStripSeekTable   RADA_NAME(RadAStripSeekTable)
 
#define RadAGetMemoryNeededToOpen   RADA_NAME(RadAGetMemoryNeededToOpen)
 
#define RadAOpenDecoder   RADA_NAME(RadAOpenDecoder)
 
#define RadADecodeSeekTable   RADA_NAME(RadADecodeSeekTable)
 
#define RadADirectSeekTableLookup   RADA_NAME(RadADirectSeekTableLookup)
 
#define RadASeekTableLookup   RADA_NAME(RadASeekTableLookup)
 
#define RadAExamineBlock   RADA_NAME(RadAExamineBlock)
 
#define RadANotifySeek   RADA_NAME(RadANotifySeek)
 
#define RadADecodeBlock   RADA_NAME(RadADecodeBlock)
 
#define RadAInterleave   RADA_NAME(RadAInterleave)
 
#define RadADecodeBlock_Error   -2
 
#define RadADecodeBlock_Done   -1
 
#define RADA_HAS_INTERLEAVING
 

Enumerations

enum class  RadASeekTableReturn {
  Done , InvalidParam , InvalidData , NeedsMoreData ,
  Needs64Bits
}
 
enum class  RadAExamineBlockResult : uint8_t { Valid , Incomplete , Invalid }
 

Functions

const RadAFileHeaderRadAGetFileHeader (const uint8_t *InFileData, size_t InFileDataLenBytes)
 
const RadASeekTableHeaderRadAGetSeekTableHeader (const uint8_t *InFileData, size_t InFileDataLenBytes)
 
size_t RadAStripSeekTable (uint8_t *InFileData, size_t InFileDataLenBytes)
 
int32_t RadAGetMemoryNeededToOpen (const uint8_t *InFileData, size_t InFileDataLenBytes, uint32_t *OutMemoryRequired)
 
int32_t RadAOpenDecoder (const uint8_t *InFileData, size_t InFileDataLenBytes, RadAContainer *InContainer, size_t InContainerBytes)
 
RadASeekTableReturn RadADecodeSeekTable (const RadAFileHeader *InFileHeader, const RadASeekTableHeader *InSeekHeader, uint8_t *InSeekTableData, size_t InSeekTableDataLenBytes, bool InSeekTableIs64Bits, SeekTableEnumerationState *InOutEnumerationState, uint8_t *OutSeekTableSamples, uint8_t *OutSeekTableBytes, size_t *OutConsumed)
 
size_t RadADirectSeekTableLookup (const uint8_t *InFileData, size_t InFileDataLenBytes, uint64_t InTargetFrame, size_t *OutFrameAtLocation, size_t *OutFrameBlockSize)
 
size_t RadASeekTableLookup (const RadAContainer *InContainer, uint64_t InTargetFrame, size_t *OutFrameAtLocation, size_t *OutFrameBlockSize)
 
RadAExamineBlockResult RadAExamineBlock (const RadAContainer *InContainer, const uint8_t *InBuffer, size_t InBufferLenBytes, uint32_t *OutBufferLenBytesNeeded)
 
void RadANotifySeek (RadAContainer *InContainer)
 
int16_t RadADecodeBlock (RadAContainer *InContainer, const uint8_t *InBuffer, size_t InBufferLenBytes, float *InOutputBuffer, size_t InOutBufferStrideInFloats, size_t *OutConsumedBytes)
 
void RadAInterleave (int16_t *output, float const **inputs, uint32_t input_count, uint32_t samples)
 

Variables

constexpr uint32_t RadADecodeBlock_MaxOutputFrames = 1024
 

Macro Definition Documentation

◆ RADA_HAS_INTERLEAVING

#define RADA_HAS_INTERLEAVING

◆ RADA_LIBRARY_VERSION

#define RADA_LIBRARY_VERSION   1

◆ RadADecodeBlock

#define RadADecodeBlock   RADA_NAME(RadADecodeBlock)

◆ RadADecodeBlock_Done

#define RadADecodeBlock_Done   -1

◆ RadADecodeBlock_Error

#define RadADecodeBlock_Error   -2

◆ RadADecodeSeekTable

#define RadADecodeSeekTable   RADA_NAME(RadADecodeSeekTable)

◆ RadADirectSeekTableLookup

#define RadADirectSeekTableLookup   RADA_NAME(RadADirectSeekTableLookup)

◆ RadAExamineBlock

#define RadAExamineBlock   RADA_NAME(RadAExamineBlock)

◆ RadAGetFileHeader

#define RadAGetFileHeader   RADA_NAME(RadAGetFileHeader)

◆ RadAGetMemoryNeededToOpen

#define RadAGetMemoryNeededToOpen   RADA_NAME(RadAGetMemoryNeededToOpen)

◆ RadAGetSeekTableHeader

#define RadAGetSeekTableHeader   RADA_NAME(RadAGetSeekTableHeader)

◆ RadAInterleave

#define RadAInterleave   RADA_NAME(RadAInterleave)

◆ RadANotifySeek

#define RadANotifySeek   RADA_NAME(RadANotifySeek)

◆ RadAOpenDecoder

#define RadAOpenDecoder   RADA_NAME(RadAOpenDecoder)

◆ RadASeekTableLookup

#define RadASeekTableLookup   RADA_NAME(RadASeekTableLookup)

◆ RadAStripSeekTable

#define RadAStripSeekTable   RADA_NAME(RadAStripSeekTable)

◆ RR_STRING_JOIN

#define RR_STRING_JOIN (   arg1,
  arg2 
)    RR_STRING_JOIN_DELAY(arg1, arg2)

◆ RR_STRING_JOIN3

#define RR_STRING_JOIN3 (   arg1,
  arg2,
  arg3 
)    RR_STRING_JOIN_DELAY3(arg1, arg2, arg3)

◆ RR_STRING_JOIN_DELAY

#define RR_STRING_JOIN_DELAY (   arg1,
  arg2 
)    RR_STRING_JOIN_IMMEDIATE(arg1, arg2)

◆ RR_STRING_JOIN_DELAY3

#define RR_STRING_JOIN_DELAY3 (   arg1,
  arg2,
  arg3 
)    RR_STRING_JOIN_IMMEDIATE3(arg1, arg2, arg3)

◆ RR_STRING_JOIN_IMMEDIATE

#define RR_STRING_JOIN_IMMEDIATE (   arg1,
  arg2 
)    arg1 ## arg2

◆ RR_STRING_JOIN_IMMEDIATE3

#define RR_STRING_JOIN_IMMEDIATE3 (   arg1,
  arg2,
  arg3 
)    arg1 ## arg2 ## arg3

Enumeration Type Documentation

◆ RadAExamineBlockResult

Enumerator
Valid 
Incomplete 
Invalid 

◆ RadASeekTableReturn

enum class RadASeekTableReturn
strong
Enumerator
Done 
InvalidParam 
InvalidData 
NeedsMoreData 
Needs64Bits 

Function Documentation

◆ RadADecodeBlock()

int16_t RadADecodeBlock ( RadAContainer InContainer,
const uint8_t InBuffer,
size_t  InBufferLenBytes,
float InOutputBuffer,
size_t  InOutBufferStrideInFloats,
size_t OutConsumedBytes 
)

◆ RadADecodeSeekTable()

RadASeekTableReturn RadADecodeSeekTable ( const RadAFileHeader InFileHeader,
const RadASeekTableHeader InSeekHeader,
uint8_t InSeekTableData,
size_t  InSeekTableDataLenBytes,
bool  InSeekTableIs64Bits,
SeekTableEnumerationState InOutEnumerationState,
uint8_t OutSeekTableSamples,
uint8_t OutSeekTableBytes,
size_t OutConsumed 
)

◆ RadADirectSeekTableLookup()

size_t RadADirectSeekTableLookup ( const uint8_t InFileData,
size_t  InFileDataLenBytes,
uint64_t  InTargetFrame,
size_t OutFrameAtLocation,
size_t OutFrameBlockSize 
)

◆ RadAExamineBlock()

RadAExamineBlockResult RadAExamineBlock ( const RadAContainer InContainer,
const uint8_t InBuffer,
size_t  InBufferLenBytes,
uint32_t OutBufferLenBytesNeeded 
)

◆ RadAGetFileHeader()

const RadAFileHeader * RadAGetFileHeader ( const uint8_t InFileData,
size_t  InFileDataLenBytes 
)

◆ RadAGetMemoryNeededToOpen()

int32_t RadAGetMemoryNeededToOpen ( const uint8_t InFileData,
size_t  InFileDataLenBytes,
uint32_t OutMemoryRequired 
)

◆ RadAGetSeekTableHeader()

const RadASeekTableHeader * RadAGetSeekTableHeader ( const uint8_t InFileData,
size_t  InFileDataLenBytes 
)

◆ RadAInterleave()

void RadAInterleave ( int16_t output,
float const **  inputs,
uint32_t  input_count,
uint32_t  samples 
)

◆ RadANotifySeek()

void RadANotifySeek ( RadAContainer InContainer)

◆ RadAOpenDecoder()

int32_t RadAOpenDecoder ( const uint8_t InFileData,
size_t  InFileDataLenBytes,
RadAContainer InContainer,
size_t  InContainerBytes 
)

◆ RadASeekTableLookup()

size_t RadASeekTableLookup ( const RadAContainer InContainer,
uint64_t  InTargetFrame,
size_t OutFrameAtLocation,
size_t OutFrameBlockSize 
)

◆ RadAStripSeekTable()

size_t RadAStripSeekTable ( uint8_t InFileData,
size_t  InFileDataLenBytes 
)

Variable Documentation

◆ RadADecodeBlock_MaxOutputFrames

constexpr uint32_t RadADecodeBlock_MaxOutputFrames = 1024
constexpr