summaryrefslogtreecommitdiff
path: root/libavcodec/opusenc_psy.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/opus_rc: Don't duplicate defineAndreas Rheinhardt2022-10-081-1/+1
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/opusenc_psy: Remove unused/write-only context membersAndreas Rheinhardt2022-10-081-5/+0
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/opusenc_psy: Remove unused function parameterAndreas Rheinhardt2022-10-081-1/+1
| | | | | Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/opus: Move defines to better placesAndreas Rheinhardt2022-10-051-1/+4
| | | | | | | | | Move ROUND_MUL* macros to their only users and the Celt macros to opus_celt.h. Also improve the other headers a bit while at it. Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* opus: convert encoder and decoder to lavu/txLynne2022-09-261-5/+8
| | | | | This commit changes both the encoder and decoder to use the new lavu/tx code, which has faster C transforms and more assembly optimizations.
* opus: convert to new channel layout APIAnton Khirnov2022-03-151-10/+10
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/opusenc_psy: Fix warning: ISO C90 forbids mixed declarations and codeMichael Niedermayer2018-04-191-3/+2
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* opusenc_psy: Typo, use all coeffs in range for band tonality calculationDaniil Cherednik2018-01-131-1/+1
|
* opusenc_psy: disable stereo searches for mono streamsRostislav Pehlivanov2018-01-041-0/+7
| | | | | | Fixes a crash which happened when someone tried to encode mono. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* opus: merge encoder and decoder bitallocation functions into oneRostislav Pehlivanov2017-12-301-1/+1
| | | | | | There's no difference apart from which entropy coding functions get called. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* opus_pvq: do not compile encoding/decoding code if the encoder/decoder is ↵Rostislav Pehlivanov2017-12-041-1/+51
| | | | | | | | | | disabled This should save quite a bit of space if either has been disabled for size reasons. Could just check if the encoding flag is set during runtime on every single location, however the overhead of branch misses would somewhat decrease performance. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* opus_celt: deduplicate band quantization/dequantization functionRostislav Pehlivanov2017-12-041-1/+1
| | | | | | No point in having the same code twice to do exactly the same thing. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* opusenc: Fix double-declaration of variableMark Thompson2017-10-181-1/+0
|
* avcodec/opusenc_psy: Fix mixed declaration and statementMichael Niedermayer2017-10-111-1/+2
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/opusenc_psy: use av_clip_uintp2()James Almer2017-09-231-1/+1
| | | | | | Fixes fate-source. Signed-off-by: James Almer <jamrial@gmail.com>
* lavfi: make window_func an inline functionRostislav Pehlivanov2017-09-231-1/+1
| | | | | | | Eliminate lavc->lavfi dependency. The function isn't big and doesn't deserve its own file. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* opusenc: implement a psychoacoustic systemRostislav Pehlivanov2017-09-231-0/+556
This commit implements a psychoacoustic system for the native Opus encoder. Its unlike any other psychoacoustic system known since its capable of using a lookahead to make better choices on how to treat the current frame and how many bits to allocate for it (and future frames). Also, whilst the main bulk of the analysis function has to run in a single thread, the per-frame anaylsis functions does not modify the main psychoacoustic context, so in the future it will be fairly trivial to run those as slice threads. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>