Definition at line 56 of file el_processor.cpp.
Public Member Functions | |
| decoder_impl (unsigned blocksize=8192) | |
| ~decoder_impl () | |
| float ** | getInputBuffers () |
| float ** | getOutputBuffers () |
| void | decode (float center_width, float dimension, float adaption_rate) |
| void | flush () |
| void | sample_rate (unsigned int srate) |
| void | surround_coefficients (float a, float b) |
| void | surround_gain (float gain) |
| void | phase_mode (unsigned mode) |
| void | steering_mode (bool mode) |
| void | separation (float front, float rear) |
Private Member Functions | |
| void | add_output (float *input1[2], float *input2[2], float center_width, float dimension, float adaption_rate, bool result=false) |
| void | block_decode (float *input1[2], float *input2[2], float *output[6], float center_width, float dimension, float adaption_rate) |
| double | get_yfs (double ampDiff, double phaseDiff) |
| double | get_xfs (double ampDiff, double yfs) |
| void | apply_filter (cfloat *signal, float *flt, float *target) |
| void | ff_fft_permuteRC (FFTContext *s, FFTSample *r, FFTComplex *z) |
| * Do the permutation needed BEFORE calling ff_fft_calc() special for freesurround that also copies | |
| void | ff_fft_permuteCR (FFTContext *s, FFTComplex *z, FFTSample *r) |
| * Do the permutation needed BEFORE calling ff_fft_calc() special for freesurround that also copies and discards im component as it should be 0 | |
Static Private Member Functions | |
| static float | amplitude (const float cf[2]) |
| static float | phase (const float cf[2]) |
| static cfloat | polar (float a, float p) |
| static float | sqr (float x) |
| static float | min (float a, float b) |
| static float | max (float a, float b) |
| static float | clamp (float x) |
Private Attributes | |
| unsigned int | N |
| unsigned int | halfN |
| float * | lt |
| float * | rt |
| float * | dst |
| fftwf_complex * | dftL |
| fftwf_complex * | dftR |
| fftwf_complex * | src |
| fftwf_plan | loadL |
| fftwf_plan | loadR |
| fftwf_plan | store |
| FFTContext * | fftContextForward |
| FFTContext * | fftContextReverse |
| FFTSample * | lt |
| FFTSample * | rt |
| FFTComplexArray * | dftL |
| FFTComplexArray * | dftR |
| FFTComplexArray * | src |
| std::vector< cfloat > | frontL |
| std::vector< cfloat > | frontR |
| std::vector< cfloat > | avg |
| std::vector< cfloat > | surL |
| std::vector< cfloat > | surR |
| std::vector< cfloat > | trueavg |
| std::vector< float > | xfs |
| std::vector< float > | yfs |
| std::vector< float > | wnd |
| std::vector< float > | filter [6] |
| std::vector< float > | inbuf [2] |
| std::vector< float > | outbuf [6] |
| float | surround_high |
| float | surround_low |
| float | surround_balance |
| float | surround_level |
| float | master_gain |
| float | phase_offsetL |
| float | phase_offsetR |
| float | front_separation |
| float | rear_separation |
| bool | linear_steering |
| cfloat | A |
| cfloat | B |
| cfloat | C |
| cfloat | D |
| cfloat | E |
| cfloat | F |
| cfloat | G |
| cfloat | H |
| int | current_buf |
| float * | inbufs [2] |
| float * | outbufs [6] |
Friends | |
| class | fsurround_decoder |
| decoder_impl::decoder_impl | ( | unsigned | blocksize = 8192 |
) | [inline] |
Definition at line 60 of file el_processor.cpp.
| decoder_impl::~decoder_impl | ( | ) | [inline] |
Definition at line 123 of file el_processor.cpp.
| float** decoder_impl::getInputBuffers | ( | ) | [inline] |
Definition at line 148 of file el_processor.cpp.
Referenced by fsurround_decoder::getInputBuffers().
| float** decoder_impl::getOutputBuffers | ( | ) | [inline] |
Definition at line 155 of file el_processor.cpp.
Referenced by fsurround_decoder::getOutputBuffers().
| void decoder_impl::decode | ( | float | center_width, | |
| float | dimension, | |||
| float | adaption_rate | |||
| ) | [inline] |
| void decoder_impl::flush | ( | ) | [inline] |
| void decoder_impl::sample_rate | ( | unsigned int | srate | ) | [inline] |
Definition at line 193 of file el_processor.cpp.
Referenced by decoder_impl(), and fsurround_decoder::sample_rate().
| void decoder_impl::surround_coefficients | ( | float | a, | |
| float | b | |||
| ) | [inline] |
Definition at line 205 of file el_processor.cpp.
Referenced by decoder_impl(), and fsurround_decoder::surround_coefficients().
| void decoder_impl::surround_gain | ( | float | gain | ) | [inline] |
Definition at line 217 of file el_processor.cpp.
Referenced by decoder_impl(), and fsurround_decoder::gain().
| void decoder_impl::phase_mode | ( | unsigned | mode | ) | [inline] |
Definition at line 224 of file el_processor.cpp.
Referenced by decoder_impl(), and fsurround_decoder::phase_mode().
| void decoder_impl::steering_mode | ( | bool | mode | ) | [inline] |
Definition at line 231 of file el_processor.cpp.
Referenced by decoder_impl(), and fsurround_decoder::steering_mode().
| void decoder_impl::separation | ( | float | front, | |
| float | rear | |||
| ) | [inline] |
Definition at line 234 of file el_processor.cpp.
Referenced by decoder_impl(), and fsurround_decoder::separation().
| static float decoder_impl::amplitude | ( | const float | cf[2] | ) | [inline, static, private] |
| static float decoder_impl::phase | ( | const float | cf[2] | ) | [inline, static, private] |
| static cfloat decoder_impl::polar | ( | float | a, | |
| float | p | |||
| ) | [inline, static, private] |
| static float decoder_impl::sqr | ( | float | x | ) | [inline, static, private] |
| static float decoder_impl::min | ( | float | a, | |
| float | b | |||
| ) | [inline, static, private] |
| static float decoder_impl::max | ( | float | a, | |
| float | b | |||
| ) | [inline, static, private] |
| static float decoder_impl::clamp | ( | float | x | ) | [inline, static, private] |
| void decoder_impl::add_output | ( | float * | input1[2], | |
| float * | input2[2], | |||
| float | center_width, | |||
| float | dimension, | |||
| float | adaption_rate, | |||
| bool | result = false | |||
| ) | [inline, private] |
| void decoder_impl::block_decode | ( | float * | input1[2], | |
| float * | input2[2], | |||
| float * | output[6], | |||
| float | center_width, | |||
| float | dimension, | |||
| float | adaption_rate | |||
| ) | [inline, private] |
| double decoder_impl::get_yfs | ( | double | ampDiff, | |
| double | phaseDiff | |||
| ) | [inline, private] |
| double decoder_impl::get_xfs | ( | double | ampDiff, | |
| double | yfs | |||
| ) | [inline, private] |
| void decoder_impl::apply_filter | ( | cfloat * | signal, | |
| float * | flt, | |||
| float * | target | |||
| ) | [inline, private] |
| void decoder_impl::ff_fft_permuteRC | ( | FFTContext * | s, | |
| FFTSample * | r, | |||
| FFTComplex * | z | |||
| ) | [inline, private] |
* Do the permutation needed BEFORE calling ff_fft_calc() special for freesurround that also copies
Definition at line 539 of file el_processor.cpp.
Referenced by block_decode().
| void decoder_impl::ff_fft_permuteCR | ( | FFTContext * | s, | |
| FFTComplex * | z, | |||
| FFTSample * | r | |||
| ) | [inline, private] |
* Do the permutation needed BEFORE calling ff_fft_calc() special for freesurround that also copies and discards im component as it should be 0
Definition at line 558 of file el_processor.cpp.
friend class fsurround_decoder [friend] |
Definition at line 610 of file el_processor.cpp.
unsigned int decoder_impl::N [private] |
Definition at line 576 of file el_processor.cpp.
Referenced by apply_filter(), decoder_impl(), flush(), sample_rate(), and surround_gain().
unsigned int decoder_impl::halfN [private] |
Definition at line 577 of file el_processor.cpp.
Referenced by apply_filter(), block_decode(), decode(), decoder_impl(), getInputBuffers(), getOutputBuffers(), and sample_rate().
float* decoder_impl::lt [private] |
Definition at line 580 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
float * decoder_impl::rt [private] |
Definition at line 580 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
float * decoder_impl::dst [private] |
Definition at line 580 of file el_processor.cpp.
Referenced by apply_filter(), decoder_impl(), and ~decoder_impl().
fftwf_complex* decoder_impl::dftL [private] |
Definition at line 581 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
fftwf_complex * decoder_impl::dftR [private] |
Definition at line 581 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
fftwf_complex * decoder_impl::src [private] |
Definition at line 581 of file el_processor.cpp.
Referenced by apply_filter(), decoder_impl(), and ~decoder_impl().
fftwf_plan decoder_impl::loadL [private] |
Definition at line 582 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
fftwf_plan decoder_impl::loadR [private] |
Definition at line 582 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
fftwf_plan decoder_impl::store [private] |
Definition at line 582 of file el_processor.cpp.
Referenced by apply_filter(), decoder_impl(), and ~decoder_impl().
FFTContext* decoder_impl::fftContextForward [private] |
Definition at line 584 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
FFTContext * decoder_impl::fftContextReverse [private] |
Definition at line 584 of file el_processor.cpp.
Referenced by apply_filter(), decoder_impl(), and ~decoder_impl().
FFTSample* decoder_impl::lt [private] |
Definition at line 585 of file el_processor.cpp.
FFTSample * decoder_impl::rt [private] |
Definition at line 585 of file el_processor.cpp.
FFTComplexArray* decoder_impl::dftL [private] |
Definition at line 586 of file el_processor.cpp.
FFTComplexArray * decoder_impl::dftR [private] |
Definition at line 586 of file el_processor.cpp.
FFTComplexArray * decoder_impl::src [private] |
Definition at line 586 of file el_processor.cpp.
std::vector<cfloat> decoder_impl::frontL [private] |
std::vector<cfloat> decoder_impl::frontR [private] |
std::vector<cfloat> decoder_impl::avg [private] |
std::vector<cfloat> decoder_impl::surL [private] |
std::vector<cfloat> decoder_impl::surR [private] |
std::vector<cfloat> decoder_impl::trueavg [private] |
std::vector<float> decoder_impl::xfs [private] |
std::vector<float> decoder_impl::yfs [private] |
std::vector<float> decoder_impl::wnd [private] |
Definition at line 592 of file el_processor.cpp.
Referenced by apply_filter(), block_decode(), decoder_impl(), and surround_gain().
std::vector<float> decoder_impl::filter[6] [private] |
Definition at line 593 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and sample_rate().
std::vector<float> decoder_impl::inbuf[2] [private] |
Definition at line 594 of file el_processor.cpp.
Referenced by decode(), decoder_impl(), flush(), and getInputBuffers().
std::vector<float> decoder_impl::outbuf[6] [private] |
Definition at line 595 of file el_processor.cpp.
Referenced by add_output(), decoder_impl(), flush(), and getOutputBuffers().
float decoder_impl::surround_high [private] |
float decoder_impl::surround_low [private] |
float decoder_impl::surround_balance [private] |
Definition at line 598 of file el_processor.cpp.
Referenced by block_decode(), and surround_coefficients().
float decoder_impl::surround_level [private] |
Definition at line 599 of file el_processor.cpp.
Referenced by block_decode(), and surround_coefficients().
float decoder_impl::master_gain [private] |
float decoder_impl::phase_offsetL [private] |
float decoder_impl::phase_offsetR [private] |
float decoder_impl::front_separation [private] |
float decoder_impl::rear_separation [private] |
bool decoder_impl::linear_steering [private] |
cfloat decoder_impl::A [private] |
cfloat decoder_impl::B [private] |
cfloat decoder_impl::C [private] |
cfloat decoder_impl::D [private] |
cfloat decoder_impl::E [private] |
cfloat decoder_impl::F [private] |
cfloat decoder_impl::G [private] |
cfloat decoder_impl::H [private] |
int decoder_impl::current_buf [private] |
Definition at line 606 of file el_processor.cpp.
Referenced by apply_filter(), decode(), decoder_impl(), getInputBuffers(), and getOutputBuffers().
float* decoder_impl::inbufs[2] [private] |
float* decoder_impl::outbufs[6] [private] |
1.5.5