diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-02-29 22:12:48 +0100 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2024-04-23 08:31:28 +0200 |
commit | fc3c2ea8dce682eeaaa53b4fed02bebc7a684c46 (patch) | |
tree | b0a6dd166816f734b908b4ac19c13c65931ecedb /libavcodec/aacenc.h | |
parent | 8b2261e573b9c5c06f8b3783b98bf18ac34527f4 (diff) | |
download | ffmpeg-fc3c2ea8dce682eeaaa53b4fed02bebc7a684c46.tar.gz |
avcodec/aacdec: PredictorState array out of SingleChannelElement
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>
Diffstat (limited to 'libavcodec/aacenc.h')
-rw-r--r-- | libavcodec/aacenc.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libavcodec/aacenc.h b/libavcodec/aacenc.h index 8899f90ac7..d07960620e 100644 --- a/libavcodec/aacenc.h +++ b/libavcodec/aacenc.h @@ -49,6 +49,20 @@ typedef enum AACCoder { AAC_CODER_NB, }AACCoder; +/** + * Predictor State + */ +typedef struct PredictorState { + float cor0; + float cor1; + float var0; + float var1; + float r0; + float r1; + float k1; + float x_est; +} PredictorState; + typedef struct AACEncOptions { int coder; int pns; |