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 | 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 | 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 |
Definition at line 47 of file el_processor.cpp.
| decoder_impl::decoder_impl | ( | unsigned | blocksize = 8192 |
) | [inline] |
Definition at line 51 of file el_processor.cpp.
| decoder_impl::~decoder_impl | ( | ) | [inline] |
Definition at line 108 of file el_processor.cpp.
| float** decoder_impl::getInputBuffers | ( | ) | [inline] |
Definition at line 133 of file el_processor.cpp.
Referenced by fsurround_decoder::getInputBuffers().
| float** decoder_impl::getOutputBuffers | ( | ) | [inline] |
Definition at line 140 of file el_processor.cpp.
Referenced by fsurround_decoder::getOutputBuffers().
| void decoder_impl::decode | ( | float | center_width, | |
| float | dimension, | |||
| float | adaption_rate | |||
| ) | [inline] |
Definition at line 155 of file el_processor.cpp.
Referenced by fsurround_decoder::decode().
| void decoder_impl::flush | ( | ) | [inline] |
Definition at line 168 of file el_processor.cpp.
Referenced by fsurround_decoder::flush().
| void decoder_impl::sample_rate | ( | unsigned int | srate | ) | [inline] |
Definition at line 178 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 190 of file el_processor.cpp.
Referenced by decoder_impl(), and fsurround_decoder::surround_coefficients().
| void decoder_impl::phase_mode | ( | unsigned | mode | ) | [inline] |
Definition at line 203 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 210 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 213 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] |
Definition at line 220 of file el_processor.cpp.
Referenced by block_decode().
| static float decoder_impl::phase | ( | const float | cf[2] | ) | [inline, static, private] |
Definition at line 221 of file el_processor.cpp.
Referenced by block_decode().
| static cfloat decoder_impl::polar | ( | float | a, | |
| float | p | |||
| ) | [inline, static, private] |
Definition at line 222 of file el_processor.cpp.
Referenced by block_decode().
| static float decoder_impl::sqr | ( | float | x | ) | [inline, static, private] |
Definition at line 223 of file el_processor.cpp.
Referenced by get_yfs().
| static float decoder_impl::min | ( | float | a, | |
| float | b | |||
| ) | [inline, static, private] |
Definition at line 225 of file el_processor.cpp.
Referenced by block_decode(), and clamp().
| static float decoder_impl::max | ( | float | a, | |
| float | b | |||
| ) | [inline, static, private] |
Definition at line 226 of file el_processor.cpp.
Referenced by block_decode(), and clamp().
| static float decoder_impl::clamp | ( | float | x | ) | [inline, static, private] |
Definition at line 227 of file el_processor.cpp.
Referenced by block_decode().
| void decoder_impl::add_output | ( | float * | input1[2], | |
| float * | input2[2], | |||
| float | center_width, | |||
| float | dimension, | |||
| float | adaption_rate, | |||
| bool | result = false | |||
| ) | [inline, private] |
Definition at line 230 of file el_processor.cpp.
Referenced by decode().
| void decoder_impl::block_decode | ( | float * | input1[2], | |
| float * | input2[2], | |||
| float * | output[6], | |||
| float | center_width, | |||
| float | dimension, | |||
| float | adaption_rate | |||
| ) | [inline, private] |
Definition at line 237 of file el_processor.cpp.
Referenced by add_output().
| double decoder_impl::get_yfs | ( | double | ampDiff, | |
| double | phaseDiff | |||
| ) | [inline, private] |
Definition at line 381 of file el_processor.cpp.
Referenced by block_decode().
| double decoder_impl::get_xfs | ( | double | ampDiff, | |
| double | yfs | |||
| ) | [inline, private] |
Definition at line 394 of file el_processor.cpp.
Referenced by block_decode().
| void decoder_impl::apply_filter | ( | cfloat * | signal, | |
| float * | flt, | |||
| float * | target | |||
| ) | [inline, private] |
Definition at line 428 of file el_processor.cpp.
Referenced by block_decode().
| 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 484 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 503 of file el_processor.cpp.
friend class fsurround_decoder [friend] |
Definition at line 554 of file el_processor.cpp.
unsigned int decoder_impl::N [private] |
Definition at line 521 of file el_processor.cpp.
Referenced by apply_filter(), decoder_impl(), flush(), and sample_rate().
unsigned int decoder_impl::halfN [private] |
Definition at line 522 of file el_processor.cpp.
Referenced by apply_filter(), block_decode(), decode(), getInputBuffers(), getOutputBuffers(), and sample_rate().
float* decoder_impl::lt [private] |
Definition at line 525 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
float * decoder_impl::rt [private] |
Definition at line 525 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
float * decoder_impl::dst [private] |
Definition at line 525 of file el_processor.cpp.
Referenced by apply_filter(), decoder_impl(), and ~decoder_impl().
fftwf_complex* decoder_impl::dftL [private] |
Definition at line 526 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
fftwf_complex * decoder_impl::dftR [private] |
Definition at line 526 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
fftwf_complex * decoder_impl::src [private] |
Definition at line 526 of file el_processor.cpp.
Referenced by apply_filter(), decoder_impl(), and ~decoder_impl().
fftwf_plan decoder_impl::loadL [private] |
Definition at line 527 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
fftwf_plan decoder_impl::loadR [private] |
Definition at line 527 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
fftwf_plan decoder_impl::store [private] |
Definition at line 527 of file el_processor.cpp.
Referenced by apply_filter(), decoder_impl(), and ~decoder_impl().
FFTContext* decoder_impl::fftContextForward [private] |
Definition at line 529 of file el_processor.cpp.
Referenced by block_decode(), decoder_impl(), and ~decoder_impl().
FFTContext * decoder_impl::fftContextReverse [private] |
Definition at line 529 of file el_processor.cpp.
Referenced by apply_filter(), decoder_impl(), and ~decoder_impl().
FFTSample* decoder_impl::lt [private] |
Definition at line 530 of file el_processor.cpp.
FFTSample * decoder_impl::rt [private] |
Definition at line 530 of file el_processor.cpp.
FFTComplexArray* decoder_impl::dftL [private] |
Definition at line 531 of file el_processor.cpp.
FFTComplexArray * decoder_impl::dftR [private] |
Definition at line 531 of file el_processor.cpp.
FFTComplexArray * decoder_impl::src [private] |
Definition at line 531 of file el_processor.cpp.
std::vector<cfloat> decoder_impl::frontL [private] |
Definition at line 534 of file el_processor.cpp.
Referenced by block_decode(), and decoder_impl().
std::vector<cfloat> decoder_impl::frontR [private] |
Definition at line 534 of file el_processor.cpp.
Referenced by block_decode(), and decoder_impl().
std::vector<cfloat> decoder_impl::avg [private] |
Definition at line 534 of file el_processor.cpp.
Referenced by block_decode(), and decoder_impl().
std::vector<cfloat> decoder_impl::surL [private] |
Definition at line 534 of file el_processor.cpp.
Referenced by block_decode(), and decoder_impl().
std::vector<cfloat> decoder_impl::surR [private] |
Definition at line 534 of file el_processor.cpp.
Referenced by block_decode(), and decoder_impl().
std::vector<cfloat> decoder_impl::trueavg [private] |
Definition at line 535 of file el_processor.cpp.
Referenced by block_decode(), and decoder_impl().
std::vector<float> decoder_impl::xfs [private] |
Definition at line 536 of file el_processor.cpp.
Referenced by block_decode(), and decoder_impl().
std::vector<float> decoder_impl::yfs [private] |
Definition at line 536 of file el_processor.cpp.
Referenced by block_decode(), and decoder_impl().
std::vector<float> decoder_impl::wnd [private] |
Definition at line 537 of file el_processor.cpp.
Referenced by apply_filter(), block_decode(), and decoder_impl().
std::vector<float> decoder_impl::filter[6] [private] |
Definition at line 538 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 539 of file el_processor.cpp.
Referenced by decode(), decoder_impl(), flush(), and getInputBuffers().
std::vector<float> decoder_impl::outbuf[6] [private] |
Definition at line 540 of file el_processor.cpp.
Referenced by add_output(), decoder_impl(), flush(), and getOutputBuffers().
float decoder_impl::surround_high [private] |
Definition at line 542 of file el_processor.cpp.
Referenced by surround_coefficients().
float decoder_impl::surround_low [private] |
Definition at line 542 of file el_processor.cpp.
Referenced by surround_coefficients().
float decoder_impl::surround_balance [private] |
Definition at line 543 of file el_processor.cpp.
Referenced by block_decode(), and surround_coefficients().
float decoder_impl::surround_level [private] |
Definition at line 544 of file el_processor.cpp.
Referenced by block_decode(), and surround_coefficients().
float decoder_impl::phase_offsetL [private] |
Definition at line 545 of file el_processor.cpp.
Referenced by block_decode(), and phase_mode().
float decoder_impl::phase_offsetR [private] |
Definition at line 545 of file el_processor.cpp.
Referenced by block_decode(), and phase_mode().
float decoder_impl::front_separation [private] |
Definition at line 546 of file el_processor.cpp.
Referenced by block_decode(), and separation().
float decoder_impl::rear_separation [private] |
Definition at line 547 of file el_processor.cpp.
Referenced by block_decode(), and separation().
bool decoder_impl::linear_steering [private] |
Definition at line 548 of file el_processor.cpp.
Referenced by block_decode(), and steering_mode().
cfloat decoder_impl::A [private] |
Definition at line 549 of file el_processor.cpp.
Referenced by surround_coefficients().
cfloat decoder_impl::B [private] |
Definition at line 549 of file el_processor.cpp.
Referenced by surround_coefficients().
cfloat decoder_impl::C [private] |
Definition at line 549 of file el_processor.cpp.
Referenced by surround_coefficients().
cfloat decoder_impl::D [private] |
Definition at line 549 of file el_processor.cpp.
Referenced by surround_coefficients().
cfloat decoder_impl::E [private] |
Definition at line 549 of file el_processor.cpp.
Referenced by surround_coefficients().
cfloat decoder_impl::F [private] |
Definition at line 549 of file el_processor.cpp.
Referenced by surround_coefficients().
cfloat decoder_impl::G [private] |
Definition at line 549 of file el_processor.cpp.
Referenced by surround_coefficients().
cfloat decoder_impl::H [private] |
Definition at line 549 of file el_processor.cpp.
Referenced by surround_coefficients().
int decoder_impl::current_buf [private] |
Definition at line 550 of file el_processor.cpp.
Referenced by apply_filter(), decode(), decoder_impl(), getInputBuffers(), and getOutputBuffers().
float* decoder_impl::inbufs[2] [private] |
Definition at line 551 of file el_processor.cpp.
Referenced by decoder_impl(), and getInputBuffers().
float* decoder_impl::outbufs[6] [private] |
Definition at line 552 of file el_processor.cpp.
Referenced by decoder_impl(), and getOutputBuffers().
1.6.3