aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [AT3P] Fix for Windows buildat3plus-devDaniil Cherednik2025-05-316-4/+12
|
* [AT3P] Fix GHA frequency, phase quantization into indexDaniil Cherednik2025-05-292-22/+73
|
* [AT3P] Update libgha. Experiment with upsample frame during GHA.Daniil Cherednik2025-05-232-0/+1
| | | | | | | | 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.
* [AT3P] Adjust level of residual processingDaniil Cherednik2025-05-171-1/+2
|
* [AT3P] Add advanced option for GHA debugDaniil Cherednik2025-05-163-12/+130
| | | | | | | | | | | | 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.
* [AT3P] Update libgha version.Daniil Cherednik2025-05-151-0/+0
| | | | | This version doesn't use variable length arrays. It it better from compiler compatibility perspective and slightly faster.
* [AT3P] Adjust number of quant units during encoding.Daniil Cherednik2025-05-037-72/+179
|
* [AT3P] Use a bit speed optimised libgha.Daniil Cherednik2025-05-021-0/+0
| | | | | | | | | | 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.
* Fix missed includeDaniil Cherednik2025-05-011-0/+1
|
* [AT3P] Add GHA processing in to the bitstream encoding.Daniil Cherednik2025-04-269-27/+553
| | | | | | This comit bring some glue to extract residual. Also we need additional one frame delay after pqf. Temporary use ffmpeg code for gha synth.
* Revert "[AT3P] Delay for 1 frame during GHA. Adjust previous frame during."Daniil Cherednik2025-04-213-92/+45
| | | | | | | This reverts commit 0265177f2d64503df609c63238d983d984938fab. It looks like previous statement about adjusting delayed frame was wrong. Commit 0265177f2d64503df609c63238d983d984938fab causes some phantom generation.
* [AT3P] Choice best code table (currently from one set only) during encoding.Daniil Cherednik2025-04-212-64/+127
|
* Minimal implementation of AT3P bitstream for residual signal.Daniil Cherednik2025-04-1915-34/+955
| | | | | | | | * 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
* Merge branch 'master' into at3plus-devDaniil Cherednik2025-01-2513-55/+76
|\
| * Simplify scaler code reusage.Daniil Cherednik2025-01-0513-55/+76
| |
* | [AT3P] MDCT codeDaniil Cherednik2025-01-254-0/+261
| |
* | Merge branch 'new_psy' into at3plus-devDaniil Cherednik2025-01-046-31/+242
|\ \
| * | Do not check energy aware flag on each loop iterationnew_psyDaniil Cherednik2024-12-221-10/+18
| | |
| * | Merge branch 'master' into new_psyDaniil Cherednik2024-12-2245-606/+593
| |\|
| * | [AT3] Attempt to improve quality:Daniil Cherednik2024-12-195-26/+82
| | | | | | | | | | | | | | | | | | * Band energy aware quantization for high frequency bands * Energy aware bit allocation for low frequency bands * Tune bit allocation table and weight coefficients
| * | [AT3] Introduce energy aware quantizationDaniil Cherednik2024-12-155-19/+167
| | |
* | | [AT3P] Delay for 1 frame during GHA. Adjust previous frame during.Daniil Cherednik2024-12-283-45/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge branch 'master' into at3plus-devDaniil Cherednik2024-12-2457-683/+835
|\ \ \ | | |/ | |/|
| * | [refactoring] Get rid of TFloat parameter. Use float.Daniil Cherednik2024-12-2144-487/+462
| | |
| * | fixDaniil Cherednik2024-12-121-0/+1
| | |
| * | [refactoring] Get rid of inheritance from data.Daniil Cherednik2024-12-1218-119/+131
| |/
| * Tiny quality improvements for ATRAC3 compatible mode:Daniil Cherednik2024-12-017-54/+106
| | | | | | | | | | * Use adaptive ATH, but efficient is limited due to qmf aliasing. * Use loudness instead of energy to split M/S frame size.
| * Reduce hearable noise in some tracks for ATRAC1 encoder.Daniil Cherednik2024-11-031-2/+2
| | | | | | | | | | | | https://hydrogenaud.io/index.php/topic,120193.0.html ATH + changes of bitallocation table allow significant reduce the noise. But some artefacts still present.
| * Merge branch 'master' into new_psyDaniil Cherednik2024-11-0214-42/+42
| |\
| | * Do not use 8bit, 16bit types if do not realy need it.Daniil Cheredni2024-11-0114-42/+42
| | |
| * | Attempt to use adaptive ATH for ATRAC1Daniil Cherednik2024-10-117-18/+100
| |/
| * Use ATH during ATRAC1 encodingDaniil Cherednik2024-10-064-15/+47
| |
* | [AT3P] Tune GHA to extract more sine waves and bugfixDaniil Cherednik2024-11-261-16/+9
| |
* | [AT3P] [Bugfix] Do not generate zero amplitude waveDaniil Cherednik2024-10-241-1/+2
| |
* | [AT3P] Improve accuracy of magnitude calculation in case of not full frameDaniil Cherednik2024-10-232-9/+25
| |
* | [AT3P] Initial support for gha envelopeDaniil Cherednik2024-10-202-13/+136
| | | | | | | | | | Current limitation: * Inaccurate amplitude extraction in case of not full block
* | Fix missed free pqf ctx in utDaniil Cherednik2024-10-131-0/+14
| |
* | [AT3P] GHA development:Daniil Cherednik2024-10-068-219/+727
| | | | | | | | | | | | | | * 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)
* | [AT3P] Missed ut fixesDaniil Cherednik2024-08-191-3/+3
| |
* | Possibility to "look ahead" during encodingDaniil Cherednik2024-08-198-42/+94
| |
* | [AT3P] Fix tone present bitDaniil Cherednik2024-08-181-3/+4
| |
* | [AT3P] Fix total tones limitDaniil Cherednik2024-08-181-1/+1
| |
* | [AT3P] GHA fixesDaniil Cherednik2024-08-172-11/+11
| | | | | | | | | | | | | | * Fix frequency to index converting * Fix gha boundary calculation * Fix case of empty GHA result * Fix missed gha_free_ctx call
* | [AT3P] Some GHA related improvements:Daniil Cherednik2024-08-177-74/+248
| | | | | | | | | | | | | | | | | | * 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
* | Fix missed headers, submodule branchDaniil Cherednik2024-08-113-0/+3
| |
* | [AT3P] Part of naive GHA processorDaniil Cherednik2024-08-115-22/+889
| | | | | | | | | | | | | | * 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
* | Merge branch 'new_psy' into at3plus-devDaniil Cherednik2024-08-022-2/+97
|\|
| * Bring some ATH related code from musepack projectDaniil Cherednik2024-08-032-2/+97
| | | | | | | | | | | | | | | | | | | | | | 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
* | [AT3P] Add GHA related bitstream codeDaniil Cherednik2024-07-319-6/+2119
| | | | | | | | | | | | | | | | * 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
* | Merge branch 'master' into at3plus-devDaniil Cherednik2024-07-0914-40/+105
|\|