- 23 Apr, 2024 38 commits
-
-
Lynne authored
-
Lynne authored
The code was written in 2012, but seems to have been broken for just as long. Compilation is broken on every MIPS/MIPS64 system with an FPU (which the code depends on).
-
Lynne authored
-
Lynne authored
-
Lynne authored
-
Lynne authored
-
Lynne authored
-
Lynne authored
-
Lynne authored
The fixed decoder derives the values from floats anyway.
-
Lynne authored
-
Lynne authored
Unfortunately, although it's a purely decode function, it does need to be templated.
-
Lynne authored
-
Lynne authored
-
Lynne authored
All tables now initialized by aac/aacdec_fixed|float
-
Lynne authored
-
Lynne authored
Small cleanup to reduce number of arguments.
-
Lynne authored
The function is called only internally in DSP, so we do not need to expose it. apply_ltp on MIPS uses this function, but due to the function being just a glue function with no real optimizations, duplicate it there.
-
Lynne authored
-
Lynne authored
Preparation to move all table init and support windowing functions.
-
Lynne authored
-
Lynne authored
-
Lynne authored
-
Lynne authored
-
Lynne authored
-
Lynne authored
Brings it in line with dequantization.
-
Lynne authored
Eliminates using templated values in function definition.
-
Lynne authored
Allows to template away dequantization.
-
Lynne authored
To be used to abstract away DSP functions.
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
This is possible now that both AAC decoders share the same context. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Up until now, there was one AACDecContext for the fixed and one for the floating point decoder. These differed mostly in certain arrays which were int for the fixed-point and float for the floating point decoder; there were also differences in corresponding function pointers. Yet in order to deduplicate the enormous amount of currently duplicated code between the float and the fixed-point decoder, one needs common contexts. Given that int and float have the same size on all common systems, this commit replaces these arrays by unions of int arrays and of float arrays. The names of these arrays have been chosen to be compatible with AAC_RENAME(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
sizeof(PredictorState) is different for the floating-point and the fixed-point AAC decoders; this is an obstacle for deduplicating code between these decoders. So don't include this array in SingleChannelElement, instead add a union of pointers to the fixed-point PredictorState and the floating-point PredictorState. The actual arrays are part of the extended ChannelElement to be allocated by ff_aac_sbr_ctx_alloc_init(); it also sets the pointers. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Up until now, AACDecContext included pointers to one of these contexts depending upon USE_FIXED. Yet deduplicating the common parts of the float and fixed-point AAC decoders needs common structures, so we put both of these pointers in a union. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
The AAC fixed-point and floating-point decoders have a lot of duplicated code; the main obstacle to deduplicating it is that several structures with the same name are actually different types, because they contain INTFLOATs (int or float) and AAC_FLOATs (SoftFloat or float). SoftFloat and float typically have different sizes, so dealing with it is the more complicated of the two. AAC_FLOAT is mainly used in the sbr code and structures, so one can still deduplicate the code by only exposing the common part of ChannelElement (without SBR context) to the common decoder part. One prerequisite of this is to move allocating the whole ChannelElement to code that will stay unduplicated. It is most natural to move said allocation to ff_aac_sbr_ctx_init(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Each ChannelElement contains exactly one SpectralBandReplication structure; the latter structure contains lots of buffers whose size depend upon USE_FIXED (i.e. AAC_FLOAT arrays). This complicates deduplicating the parts of the AAC decoder that are duplicated between the fixed-point and the floating point decoder. In order to fix this, the SpectralBandReplication structure will be moved from the part of ChannelElement visible to the common code. Therefore the ff_aac_sbr_* functions are ported to accept a ChannelElement*; they will then have to translate that to the corresponding SpectralBandReplication* themselves (which is possible, because there are floating-point and fixed-point versions of these functions). While just at it, also ensure that these functions are properly namespaced. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Lynne authored
Future AAC changes remove the need to include this header.
-
Lynne authored
Start to clean up the decoder. Also renames a confusingly named file.
-
- 22 Apr, 2024 2 commits
-
-
Jun Zhao authored
has_b_frames used in decoder for size of the frame reordering buffer, and we don't used the max_b_frames in decoder. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
-
Mark Thompson authored
-