15#define NUM_ADAPTATION_TABLE 16
16#define NUM_ADAPTATION_COEFF 7
18#define WAVE_FORMAT_LPCM 1
19#ifndef WAVE_FORMAT_ADPCM
20#define WAVE_FORMAT_ADPCM 2
23#if PLATFORM_SUPPORTS_PRAGMA_PACK
36#if PLATFORM_SUPPORTS_PRAGMA_PACK
47 static T AdaptationCoefficient1[] =
49 256, 512, 0, 192, 240, 460, 392
51 static T AdaptationCoefficient2[] =
53 0, -256, 0, 64, 0, -208, -232
60#if PLATFORM_SUPPORTS_PRAGMA_PACK
76 GetAdaptationCoefficients(AdaptationCoefficient1, AdaptationCoefficient2);
81 aCoef[WriteIndex++] = AdaptationCoefficient1[
Coeff];
82 aCoef[WriteIndex++] = AdaptationCoefficient2[
Coeff];
86#if PLATFORM_SUPPORTS_PRAGMA_PACK
114 return CurrentChunkIndex;
144 int32 NumConsecutiveReadFailiures;
147 const uint8* SrcBufferData;
150 uint32 UncompressedBlockSize;
151 uint32 CompressedBlockSize;
153 int32 StreamBufferSize;
158 uint32 PreviouslyRequestedChunkIndex;
160 uint8* UncompressedBlockData;
161 uint32 CurrentUncompressedBlockSampleIndex;
163 uint32 CurrentChunkBufferOffset;
164 uint32 CurrentChunkDataSize;
165 uint32 TotalSamplesStreamed;
166 uint32 TotalSamplesPerChannel;
168 uint32 FirstChunkSampleDataOffset;
169 uint32 FirstChunkSampleDataIndex;
170 const uint8* CurCompressedChunkData;
173 bool bDecompressorReleased;
175 uint32 CurrentCompressedBlockIndex;
176 uint32 TotalCompressedBlocksPerChannel;
177 uint8 bNewSeekRequest : 1;
178 uint8 bSeekPendingRead : 1;
179 uint8 bSeekedFowardToNextChunk : 1;
182 void ProcessSeekRequest();
184 void ResetSeekState();
186 std::atomic<uint32> TargetSeekFrame;
#define NUM_ADAPTATION_COEFF
Definition ADPCMAudioInfo.h:16
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
Definition ADPCMAudioInfo.h:93
virtual bool ReleaseStreamChunk(bool bBlockUntilReleased) override
Definition ADPCMAudioInfo.cpp:978
uint16 GetFormatTag()
Definition ADPCMAudioInfo.h:120
virtual ADPCMAUDIODECODER_API void ExpandFile(uint8 *DstBuffer, struct FSoundQualityInfo *QualityInfo)
Definition ADPCMAudioInfo.cpp:456
virtual void EnableHalfRate(bool HalfRate)
Definition ADPCMAudioInfo.h:103
virtual int32 GetCurrentChunkIndex() const override
Definition ADPCMAudioInfo.h:112
virtual uint32 GetSourceBufferSize() const
Definition ADPCMAudioInfo.h:104
virtual bool SupportsStreaming() const override
Definition ADPCMAudioInfo.h:109
virtual ADPCMAUDIODECODER_API bool ReadCompressedInfo(const uint8 *InSrcBufferData, uint32 InSrcBufferDataSize, struct FSoundQualityInfo *QualityInfo)
Definition ADPCMAudioInfo.cpp:234
virtual ADPCMAUDIODECODER_API void SeekToTime(const float SeekTime)
Definition ADPCMAudioInfo.cpp:74
virtual int GetStreamBufferSize() const
Definition ADPCMAudioInfo.cpp:463
virtual ADPCMAUDIODECODER_API ~FADPCMAudioInfo(void)
Definition ADPCMAudioInfo.cpp:65
ADPCMAUDIODECODER_API FADPCMAudioInfo(void)
Definition ADPCMAudioInfo.cpp:43
virtual ADPCMAUDIODECODER_API bool ReadCompressedData(uint8 *Destination, bool bLooping, uint32 BufferSize)
Definition ADPCMAudioInfo.cpp:317
virtual int32 GetCurrentChunkOffset() const override
Definition ADPCMAudioInfo.h:116
virtual bool UsesVorbisChannelOrdering() const
Definition ADPCMAudioInfo.h:105
virtual bool StreamCompressedInfoInternal(const FSoundWaveProxyPtr &InWaveProxy, struct FSoundQualityInfo *QualityInfo) override
Definition ADPCMAudioInfo.cpp:482
int32 GetNumChannels()
Definition ADPCMAudioInfo.h:132
virtual ADPCMAUDIODECODER_API void SeekToFrame(const uint32 SeekFrame)
Definition ADPCMAudioInfo.cpp:86
virtual bool StreamCompressedData(uint8 *Destination, bool bLooping, uint32 BufferSize, int32 &OutNumBytesStreamed) override
Definition ADPCMAudioInfo.cpp:594
Definition ContentStreaming.h:110
uint16 * pFormatTag
Definition Audio.h:954
Definition AudioDecompress.h:31
static UE_FORCEINLINE_HINT void * Memzero(void *Dest, SIZE_T Count)
Definition UnrealMemory.h:131
static UE_FORCEINLINE_HINT void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
Definition UnrealMemory.h:160