Mesen-SX/Utilities/HermiteResampler.h
NovaSquirrel c0e249e993 Revert "Merge branch 'reformat_code'"
This reverts commit daf3b57e89, reversing
changes made to 7a6e0b7d77.
2021-03-10 11:13:28 -05:00

20 lines
No EOL
469 B
C++

#pragma once
#include "stdafx.h"
class HermiteResampler
{
private:
double _prevLeft[4] = {};
double _prevRight[4] = {};
double _rateRatio = 1.0;
double _fraction = 0.0;
__forceinline int16_t HermiteInterpolate(double values[4], double mu);
__forceinline void PushSample(double prevValues[4], int16_t sample);
public:
void Reset();
void SetSampleRates(double srcRate, double dstRate);
uint32_t Resample(int16_t* in, uint32_t inSampleCount, int16_t* out);
};