UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
rada_file_header.h
Go to the documentation of this file.
1
// Copyright Epic Games Tools, LLC. All Rights Reserved.
2
3
#pragma once
4
#include <stdint.h>
5
6
#define RADA_SYNC_BYTE (0b01010101)
7
#define RADA_MAX_CHANNELS 32
8
9
enum class
ERadASampleRate
:
uint8_t
10
{
11
Rate_24000
,
12
Rate_32000
,
13
Rate_44100
,
14
Rate_48000
,
15
Rate_COUNT
,
16
};
17
18
struct
RadAFileHeader
19
{
20
uint32_t
tag
;
// RADA
21
22
// Bytes from the file necessary to completely decode the first block of audio.
23
uint32_t
bytes_for_first_decode
;
24
25
uint8_t
version
;
26
uint8_t
channels
;
27
28
// Bytes of rad audio stream header data, located right after RadAFileHeader.
29
uint16_t
rada_header_bytes
;
30
uint8_t
shift_bits_for_seek_table_samples
;
31
uint8_t
bits_for_seek_table_bytes
;
32
uint8_t
bits_for_seek_table_samples
;
33
ERadASampleRate
sample_rate
;
34
35
// total number of samples/frames in the file.
36
uint64_t
frame_count
;
37
38
uint64_t
file_size
;
39
40
uint16_t
seek_table_entry_count
;
41
42
// The maximum size of any block of audio, including any RadA block header. This can be
43
// used to allocate a buffer that can be used to decode the entire file one block at a time.
44
uint16_t
max_block_size
;
45
46
uint16_t
PADDING
[2];
47
};
48
49
struct
RadASeekTableHeader
50
{
51
int64_t
byte_line_slope
[2];
52
int64_t
byte_intercept
;
53
int64_t
byte_bias
;
54
int64_t
sample_line_slope
[2];
55
int64_t
sample_intercept
;
56
int64_t
sample_bias
;
57
};
58
59
static
uint32_t
RadASampleRateFromEnum(
ERadASampleRate
InRate)
60
{
61
switch
(InRate)
62
{
63
case
ERadASampleRate::Rate_24000
:
return
24000;
64
case
ERadASampleRate::Rate_32000
:
return
32000;
65
case
ERadASampleRate::Rate_44100
:
return
44100;
66
case
ERadASampleRate::Rate_48000
:
return
48000;
67
default
:
return
0;
68
}
69
}
70
71
// FileHeader
72
// SeekTableHeader, if present.
73
// StreamCountx[EncoderHeader], totalling rada_header_bytes
74
// SeekTable
75
// Encoded blocks
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
ERadASampleRate
ERadASampleRate
Definition
rada_file_header.h:10
ERadASampleRate::Rate_24000
@ Rate_24000
ERadASampleRate::Rate_44100
@ Rate_44100
ERadASampleRate::Rate_COUNT
@ Rate_COUNT
ERadASampleRate::Rate_48000
@ Rate_48000
ERadASampleRate::Rate_32000
@ Rate_32000
RadAFileHeader
Definition
rada_file_header.h:19
RadAFileHeader::file_size
uint64_t file_size
Definition
rada_file_header.h:38
RadAFileHeader::bits_for_seek_table_samples
uint8_t bits_for_seek_table_samples
Definition
rada_file_header.h:32
RadAFileHeader::channels
uint8_t channels
Definition
rada_file_header.h:26
RadAFileHeader::frame_count
uint64_t frame_count
Definition
rada_file_header.h:36
RadAFileHeader::rada_header_bytes
uint16_t rada_header_bytes
Definition
rada_file_header.h:29
RadAFileHeader::bytes_for_first_decode
uint32_t bytes_for_first_decode
Definition
rada_file_header.h:23
RadAFileHeader::seek_table_entry_count
uint16_t seek_table_entry_count
Definition
rada_file_header.h:40
RadAFileHeader::tag
uint32_t tag
Definition
rada_file_header.h:20
RadAFileHeader::version
uint8_t version
Definition
rada_file_header.h:25
RadAFileHeader::PADDING
uint16_t PADDING[2]
Definition
rada_file_header.h:46
RadAFileHeader::max_block_size
uint16_t max_block_size
Definition
rada_file_header.h:44
RadAFileHeader::shift_bits_for_seek_table_samples
uint8_t shift_bits_for_seek_table_samples
Definition
rada_file_header.h:30
RadAFileHeader::sample_rate
ERadASampleRate sample_rate
Definition
rada_file_header.h:33
RadAFileHeader::bits_for_seek_table_bytes
uint8_t bits_for_seek_table_bytes
Definition
rada_file_header.h:31
RadASeekTableHeader
Definition
rada_file_header.h:50
RadASeekTableHeader::sample_bias
int64_t sample_bias
Definition
rada_file_header.h:56
RadASeekTableHeader::byte_bias
int64_t byte_bias
Definition
rada_file_header.h:53
RadASeekTableHeader::sample_line_slope
int64_t sample_line_slope[2]
Definition
rada_file_header.h:54
RadASeekTableHeader::byte_intercept
int64_t byte_intercept
Definition
rada_file_header.h:52
RadASeekTableHeader::byte_line_slope
int64_t byte_line_slope[2]
Definition
rada_file_header.h:51
RadASeekTableHeader::sample_intercept
int64_t sample_intercept
Definition
rada_file_header.h:55
Engine
Source
Runtime
RadAudioCodec
SDK
Include
rada_file_header.h
Generated by
1.9.8