|
| void | add_output (InputBufs input1, InputBufs input2, float center_width, float dimension, float adaption_rate, bool=false) |
| |
| void | block_decode (InputBufs input1, InputBufs input2, OutputBufs output, float center_width, float dimension, float adaption_rate) |
| |
| void | apply_filter (cfloat *signal, const float *flt, float *target) |
| | Filter the complex source signal in the frequency domain and add it to the time domain target signal. More...
|
| |
|
| static cfloat | polar (float a, float p) |
| |
| static float | amplitude (AVComplexFloat z) |
| |
| static float | phase (AVComplexFloat z) |
| |
| static float | clamp_unit_mag (float x) |
| | Clamp the input to the interval [-1, 1], i.e. clamp the magnitude to the unit interval [0, 1]. More...
|
| |
| static double | get_yfs (double ampDiff, double phaseDiff) |
| |
| static double | get_xfs (double ampDiff, double yfs) |
| |
|
| static constexpr float | kScale {1.0F} |
| |
Definition at line 44 of file freesurround_decoder.cpp.
◆ Impl()
| fsurround_decoder::Impl::Impl |
( |
unsigned |
blocksize = 8192 | ) |
|
|
inlineexplicit |
◆ ~Impl()
| fsurround_decoder::Impl::~Impl |
( |
| ) |
|
|
inline |
◆ add_output()
| void fsurround_decoder::Impl::add_output |
( |
InputBufs |
input1, |
|
|
InputBufs |
input2, |
|
|
float |
center_width, |
|
|
float |
dimension, |
|
|
float |
adaption_rate, |
|
|
bool |
= false |
|
) |
| |
|
inlineprivate |
◆ amplitude()
| static float fsurround_decoder::Impl::amplitude |
( |
AVComplexFloat |
z | ) |
|
|
inlinestaticprivate |
◆ apply_filter()
| void fsurround_decoder::Impl::apply_filter |
( |
cfloat * |
signal, |
|
|
const float * |
flt, |
|
|
float * |
target |
|
) |
| |
|
inlineprivate |
Filter the complex source signal in the frequency domain and add it to the time domain target signal.
- Parameters
-
| [in] | signal | The signal, in the frequency domain, to be filtered. |
| [in] | flt | The filter, in the frequency domain, to be applied. |
| [out] | target | The signal, in the time domain, to which the filtered signal is added |
Definition at line 393 of file freesurround_decoder.cpp.
Referenced by block_decode().
◆ block_decode()
| void fsurround_decoder::Impl::block_decode |
( |
InputBufs |
input1, |
|
|
InputBufs |
input2, |
|
|
OutputBufs |
output, |
|
|
float |
center_width, |
|
|
float |
dimension, |
|
|
float |
adaption_rate |
|
) |
| |
|
inlineprivate |
◆ clamp_unit_mag()
| static float fsurround_decoder::Impl::clamp_unit_mag |
( |
float |
x | ) |
|
|
inlinestaticprivate |
◆ decode()
| void fsurround_decoder::Impl::decode |
( |
float |
center_width, |
|
|
float |
dimension, |
|
|
float |
adaption_rate |
|
) |
| |
|
inline |
◆ flush()
| void fsurround_decoder::Impl::flush |
( |
| ) |
|
|
inline |
◆ get_xfs()
| static double fsurround_decoder::Impl::get_xfs |
( |
double |
ampDiff, |
|
|
double |
yfs |
|
) |
| |
|
inlinestaticprivate |
◆ get_yfs()
| static double fsurround_decoder::Impl::get_yfs |
( |
double |
ampDiff, |
|
|
double |
phaseDiff |
|
) |
| |
|
inlinestaticprivate |
◆ getInputBuffers()
| float ** fsurround_decoder::Impl::getInputBuffers |
( |
| ) |
|
|
inline |
◆ getOutputBuffers()
| float ** fsurround_decoder::Impl::getOutputBuffers |
( |
| ) |
|
|
inline |
◆ phase()
| static float fsurround_decoder::Impl::phase |
( |
AVComplexFloat |
z | ) |
|
|
inlinestaticprivate |
◆ phase_mode()
| void fsurround_decoder::Impl::phase_mode |
( |
unsigned |
mode | ) |
|
|
inline |
◆ polar()
| static cfloat fsurround_decoder::Impl::polar |
( |
float |
a, |
|
|
float |
p |
|
) |
| |
|
inlinestaticprivate |
◆ sample_rate()
| void fsurround_decoder::Impl::sample_rate |
( |
unsigned int |
srate | ) |
|
|
inline |
◆ separation()
| void fsurround_decoder::Impl::separation |
( |
float |
front, |
|
|
float |
rear |
|
) |
| |
|
inline |
◆ steering_mode()
| void fsurround_decoder::Impl::steering_mode |
( |
bool |
mode | ) |
|
|
inline |
◆ surround_coefficients()
| void fsurround_decoder::Impl::surround_coefficients |
( |
float |
a, |
|
|
float |
b |
|
) |
| |
|
inline |
◆ kScale
| constexpr float fsurround_decoder::Impl::kScale {1.0F} |
|
staticconstexprprivate |
◆ m_a
| cfloat fsurround_decoder::Impl::m_a |
|
private |
◆ m_avg
| std::vector<cfloat> fsurround_decoder::Impl::m_avg |
|
private |
◆ m_b
| cfloat fsurround_decoder::Impl::m_b |
|
private |
◆ m_c
| cfloat fsurround_decoder::Impl::m_c |
|
private |
◆ m_currentBuf
| int fsurround_decoder::Impl::m_currentBuf |
|
private |
◆ m_d
| cfloat fsurround_decoder::Impl::m_d |
|
private |
◆ m_dftL
| AVComplexFloat* fsurround_decoder::Impl::m_dftL {nullptr} |
|
private |
◆ m_dftR
| AVComplexFloat* fsurround_decoder::Impl::m_dftR {nullptr} |
|
private |
◆ m_e
| cfloat fsurround_decoder::Impl::m_e |
|
private |
◆ m_f
| cfloat fsurround_decoder::Impl::m_f |
|
private |
◆ m_fft
| av_tx_fn fsurround_decoder::Impl::m_fft {nullptr} |
|
private |
◆ m_fftContext
| AVTXContext* fsurround_decoder::Impl::m_fftContext {nullptr} |
|
private |
◆ m_filter
| std::array<std::vector<float>,6> fsurround_decoder::Impl::m_filter |
|
private |
◆ m_frontL
| std::vector<cfloat> fsurround_decoder::Impl::m_frontL |
|
private |
◆ m_frontR
| std::vector<cfloat> fsurround_decoder::Impl::m_frontR |
|
private |
◆ m_frontSeparation
| float fsurround_decoder::Impl::m_frontSeparation {0.0F} |
|
private |
◆ m_g
| cfloat fsurround_decoder::Impl::m_g |
|
private |
◆ m_h
| cfloat fsurround_decoder::Impl::m_h |
|
private |
◆ m_halfN
| size_t fsurround_decoder::Impl::m_halfN |
|
private |
◆ m_ifft
| av_tx_fn fsurround_decoder::Impl::m_ifft {nullptr} |
|
private |
◆ m_ifftContext
| AVTXContext* fsurround_decoder::Impl::m_ifftContext {nullptr} |
|
private |
◆ m_inbuf
| std::array<std::vector<float>,2> fsurround_decoder::Impl::m_inbuf |
|
private |
◆ m_inbufs
| InputBufs fsurround_decoder::Impl::m_inbufs {} |
|
private |
◆ m_linearSteering
| bool fsurround_decoder::Impl::m_linearSteering {false} |
|
private |
◆ m_n
| size_t fsurround_decoder::Impl::m_n |
|
private |
◆ m_outbuf
| std::array<std::vector<float>,6> fsurround_decoder::Impl::m_outbuf |
|
private |
◆ m_outbufs
◆ m_phaseOffsetL
| float fsurround_decoder::Impl::m_phaseOffsetL {0.0F} |
|
private |
◆ m_phaseOffsetR
| float fsurround_decoder::Impl::m_phaseOffsetR {0.0F} |
|
private |
◆ m_rearSeparation
| float fsurround_decoder::Impl::m_rearSeparation {0.0F} |
|
private |
◆ m_src
| AVComplexFloat* fsurround_decoder::Impl::m_src {nullptr} |
|
private |
◆ m_surL
| std::vector<cfloat> fsurround_decoder::Impl::m_surL |
|
private |
◆ m_surR
| std::vector<cfloat> fsurround_decoder::Impl::m_surR |
|
private |
◆ m_surroundBalance
| float fsurround_decoder::Impl::m_surroundBalance {0.0F} |
|
private |
◆ m_surroundHigh
| float fsurround_decoder::Impl::m_surroundHigh {0.0F} |
|
private |
◆ m_surroundLevel
| float fsurround_decoder::Impl::m_surroundLevel {0.0F} |
|
private |
◆ m_surroundLow
| float fsurround_decoder::Impl::m_surroundLow {0.0F} |
|
private |
◆ m_trueavg
| std::vector<cfloat> fsurround_decoder::Impl::m_trueavg |
|
private |
◆ m_wnd
| std::vector<float> fsurround_decoder::Impl::m_wnd |
|
private |
◆ m_xFs
| std::vector<float> fsurround_decoder::Impl::m_xFs |
|
private |
◆ m_yFs
| std::vector<float> fsurround_decoder::Impl::m_yFs |
|
private |
The documentation for this class was generated from the following file: