ViPERFX_RE/src/viper/utils/PConvSingle.h

45 lines
878 B
C
Raw Normal View History

2021-09-18 13:37:23 +02:00
#pragma once
2022-11-24 01:17:13 +01:00
class PConvSingle {
struct PConvData {
};
2021-09-18 13:37:23 +02:00
public:
2022-11-24 01:17:13 +01:00
PConvSingle();
2022-11-24 01:17:13 +01:00
~PConvSingle();
2021-09-18 13:37:23 +02:00
void Reset();
2021-09-18 13:37:23 +02:00
int GetFFTSize();
2021-09-18 13:37:23 +02:00
int GetSegmentCount();
2021-09-18 13:37:23 +02:00
int GetSegmentSize();
2021-09-18 13:37:23 +02:00
bool InstanceUsable();
void Convolve(float *buffer);
void ConvolveInterleaved(float *buffer, int channel);
void ConvSegment(float *buffer, bool interleaved, int channel);
2023-05-21 18:46:20 +02:00
int LoadKernel(const float *kernel, int kernelSize, int segmentSize);
2023-05-21 18:46:20 +02:00
int LoadKernel(const float *kernel, float param_3, int kernelSize, int segmentSize);
2023-05-21 18:46:20 +02:00
int ProcessKernel(const float *kernel, int kernelSize, int param_4);
2021-09-18 13:37:23 +02:00
2023-05-21 18:46:20 +02:00
int ProcessKernel(const float *kernel, float param_3, int kernelSize, int param_5);
2021-09-18 13:37:23 +02:00
void ReleaseResources();
2021-09-18 13:37:23 +02:00
void UnloadKernel();
bool instanceUsable;
int segmentCount;
int segmentSize;
PConvData *data;
2021-09-18 13:37:23 +02:00
};