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

#include <SoundFieldRendering.h>

Public Member Functions

SOUNDFIELDRENDERING_API FSoundFieldDecoder ()
 
SOUNDFIELDRENDERING_API void DecodeAudioDirectlyToDeviceOutputPositions (const FAmbisonicsSoundfieldBuffer &InputData, const FSoundfieldSpeakerPositionalData &OutputPositions, Audio::FAlignedFloatBuffer &OutputData)
 
SOUNDFIELDRENDERING_API void DecodeAudioToSevenOneAndDownmixToDevice (const FAmbisonicsSoundfieldBuffer &InputData, const FSoundfieldSpeakerPositionalData &OutputPositions, Audio::FAlignedFloatBuffer &OutputData)
 

Static Public Member Functions

static SOUNDFIELDRENDERING_API void RotateFirstOrderAmbisonicsBed (const FAmbisonicsSoundfieldBuffer &InputData, FAmbisonicsSoundfieldBuffer &OutputData, const FQuat &DestinationRotation, const FQuat &PreviousRotation)
 
static SOUNDFIELDRENDERING_API void FoaRotationInPlace (Audio::FAlignedFloatBuffer &InOutFrames, const float XRotDegrees, const float YRotDegrees, const float ZRotDegrees)
 

Friends

class FSoundFieldEncoder
 

Constructor & Destructor Documentation

◆ FSoundFieldDecoder()

FSoundFieldDecoder::FSoundFieldDecoder ( )

Member Function Documentation

◆ DecodeAudioDirectlyToDeviceOutputPositions()

void FSoundFieldDecoder::DecodeAudioDirectlyToDeviceOutputPositions ( const FAmbisonicsSoundfieldBuffer InputData,
const FSoundfieldSpeakerPositionalData OutputPositions,
Audio::FAlignedFloatBuffer OutputData 
)

◆ DecodeAudioToSevenOneAndDownmixToDevice()

void FSoundFieldDecoder::DecodeAudioToSevenOneAndDownmixToDevice ( const FAmbisonicsSoundfieldBuffer InputData,
const FSoundfieldSpeakerPositionalData OutputPositions,
Audio::FAlignedFloatBuffer OutputData 
)
   In the future, this can be used to decode arbitrary orders of ambisonics:

if (NumAmbiChannels == 4)
{
    FirstOrderToSevenOneLoop(NumFrames, NumOutputChannels, AmbiInputBufferPtr, NumAmbiChannels, SpeakerGainsPtr, OutputBufferPtr);
}
else if (NumAmbiChannels % 4 == 0)
{

All odd-ordered ambisonics has a channel count divisible by 4, and thus can be fully vectorized. OddOrderToSevenOneLoop(NumFrames, NumOutputChannels, AmbiInputBufferPtr, NumAmbiChannels, SpeakerGainsPtr, OutputBufferPtr); } else { EvenOrderToSevenOneLoop(NumFrames, NumOutputChannels, AmbiInputBufferPtr, NumAmbiChannels, SpeakerGainsPtr, OutputBufferPtr); }

◆ FoaRotationInPlace()

void FSoundFieldDecoder::FoaRotationInPlace ( Audio::FAlignedFloatBuffer InOutFrames,
const float  XRotDegrees,
const float  YRotDegrees,
const float  ZRotDegrees 
)
static

◆ RotateFirstOrderAmbisonicsBed()

void FSoundFieldDecoder::RotateFirstOrderAmbisonicsBed ( const FAmbisonicsSoundfieldBuffer InputData,
FAmbisonicsSoundfieldBuffer OutputData,
const FQuat DestinationRotation,
const FQuat PreviousRotation 
)
static

Friends And Related Symbol Documentation

◆ FSoundFieldEncoder

friend class FSoundFieldEncoder
friend

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