| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
| |
This should improve accuracy of sinusoid extraction in case when
frequency in subband placed just before Nyquist frequency.
Note: we still unable to handle situation with low frequency in
subband which reuired much more samples for analysis.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are 3 flags:
GHA_PASS_INPUT - allows to pass source signal in to the filter
GHA_WRITE_TONAL - allows to write result of GHA into the bitstream
GHA_WRITE_RESIUDAL - allows to process signal after the filter
If all 3 flags set it denotes normal processing.
If we want to see only result of sinusoid extraction (tonal component) we can set only
GHA_WRITE_TONAL flag. If we want to see signal after extraction we need
to set GHA_PASS_INPUT and GHA_WRITE_RESIUDAL.
|
|
|
|
|
| |
This version doesn't use variable length arrays.
It it better from compiler compatibility perspective and slightly faster.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
sin/cos computation with double precision inside libgha cause
significant cpu usage. Actualy we do not need such presition
due to discrete values in the bitstream.
New libgha version also does not perform multiple float to double
conversion in the hot loop (although it can be not good from cache
locality perspective). But it still gives speed up on modern CPUs.
|
| |
|
|
|
|
|
|
| |
This comit bring some glue to extract residual.
Also we need additional one frame delay after pqf.
Temporary use ffmpeg code for gha synth.
|
|
|
|
|
|
|
| |
This reverts commit 0265177f2d64503df609c63238d983d984938fab.
It looks like previous statement about adjusting delayed frame was wrong.
Commit 0265177f2d64503df609c63238d983d984938fab causes some phantom generation.
|
| |
|
|
|
|
|
|
|
|
| |
* Write scale factor index, wordlen, codetable directly (without VLC)
* Use huffman tables for mantisas
* Some draft of the library to simplify bit allocation code
* Tonal encoding teporary disabled
* Allow c++14
|
|\ |
|
| | |
|
| | |
|
|\ \ |
|
| | | |
|
| |\| |
|
| | |
| | |
| | |
| | |
| | |
| | | |
* Band energy aware quantization for high frequency bands
* Energy aware bit allocation for low frequency bands
* Tune bit allocation table and weight coefficients
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If previous frame has been detected without stop point
but current frame has started not from zero point
it mean some transient (or other significant harmonics set changes)
is present. In this case adjusting delayed frame cases different
shapes of fade out.
Right now we just set previous frame stop point to 31
to generate short fade out just at the end of previous frame.
|
|\ \ \
| | |/
| |/| |
|
| | | |
|
| | | |
|
| |/ |
|
| |
| |
| |
| |
| | |
* Use adaptive ATH, but efficient is limited due to qmf aliasing.
* Use loudness instead of energy to split M/S frame size.
|
| |
| |
| |
| |
| |
| | |
https://hydrogenaud.io/index.php/topic,120193.0.html
ATH + changes of bitallocation table allow significant reduce the noise. But some artefacts still present.
|
| |\ |
|
| | | |
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Current limitation:
* Inaccurate amplitude extraction in case of not full block
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* Multidimensional gha, rework residual check
* Possibility to look into the next frame during GHA
* Possibility to pass envelope into bitstream
* Tool to create oma file from tsv gha description (to test envelope processing)
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* Fix frequency to index converting
* Fix gha boundary calculation
* Fix case of empty GHA result
* Fix missed gha_free_ctx call
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* subband can share tone infos with other channel if all tones
in this band matched by frequency, channel marked as leader and folower
* add tool to dump test generated signals into OMA container
(example GHA_UT_DUMP_DIR=/tmp/ ./test/at3plus_gha_ut)
* fix code to produce correct bitstream
* add code to apply PQF to the input frame and pass subbands to GHA
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* extract sinusoids parameters one by one. It is simple and fast but
probably will not work well on the real musical signals
* envelope is not passed to the output. Envelope handling must be improved
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Motivations:
- We need some psychoacoustic model to apply it
in the AT3P during GHA. The idea is try to use ATH
along with some tonality measurement to determine
whether GHA gives profit or just penalty due to
non effitient GHA bit encoding.
- We can try to improve AT1 and AT3 quality applying ATH
|
| |
| |
| |
| |
| |
| |
| |
| | |
* borrow Huffman table from FFmpeg
* code (with ut) to pack frequency part of GHA block
* some related data structures
* bitstrem modification to write correct GHA block
* switch compile flag to use float data type
|
|\| |
|