From 176c922e4edac82df2c8ea508f81d2aba29c6468 Mon Sep 17 00:00:00 2001 From: Lynne Date: Fri, 22 Mar 2024 06:43:16 +0100 Subject: [PATCH] aacsbr: constify the only SBR table --- libavcodec/aacsbr_template.c | 10 --- libavcodec/aacsbrdata.h | 164 ++++++++++++++++++++++++++++++++++- 2 files changed, 163 insertions(+), 11 deletions(-) diff --git a/libavcodec/aacsbr_template.c b/libavcodec/aacsbr_template.c index 066edbc199..a6e3bc54bd 100644 --- a/libavcodec/aacsbr_template.c +++ b/libavcodec/aacsbr_template.c @@ -49,18 +49,8 @@ static inline SpectralBandReplication *get_sbr(ChannelElement *ch) return &((ExtChannelElement*)ch)->sbr; } -static av_cold void aacsbr_tableinit(void) -{ - int n; - - for (n = 0; n < 320; n++) - sbr_qmf_window_ds[n] = sbr_qmf_window_us[2*n]; -} - av_cold void AAC_RENAME(ff_aac_sbr_init)(void) { - aacsbr_tableinit(); - AAC_RENAME(ff_ps_init)(); } diff --git a/libavcodec/aacsbrdata.h b/libavcodec/aacsbrdata.h index b0585309e0..9c25098240 100644 --- a/libavcodec/aacsbrdata.h +++ b/libavcodec/aacsbrdata.h @@ -42,7 +42,169 @@ static const int8_t sbr_offset[6][16] = { }; ///< window coefficients for analysis/synthesis QMF banks -static DECLARE_ALIGNED(32, INTFLOAT, sbr_qmf_window_ds)[320]; +static const DECLARE_ALIGNED(32, INTFLOAT, sbr_qmf_window_ds)[320] = { + Q31( 0.0000000000f), Q31(-0.0005617692f), + Q31(-0.0004875227f), Q31(-0.0005040714f), + Q31(-0.0005466565f), Q31(-0.0005870930f), + Q31(-0.0006312493f), Q31(-0.0006777690f), + Q31(-0.0007157736f), Q31(-0.0007440941f), + Q31(-0.0007681371f), Q31(-0.0007834332f), + Q31(-0.0007803664f), Q31(-0.0007757977f), + Q31(-0.0007530001f), Q31(-0.0007215391f), + Q31(-0.0006650415f), Q31(-0.0005946118f), + Q31(-0.0005145572f), Q31(-0.0004095121f), + Q31(-0.0002896981f), Q31(-0.0001446380f), + Q31( 0.0000134949f), Q31( 0.0002043017f), + Q31( 0.0004026540f), Q31( 0.0006239376f), + Q31( 0.0008608443f), Q31( 0.0011250155f), + Q31( 0.0013902494f), Q31( 0.0016868083f), + Q31( 0.0019841140f), Q31( 0.0023017254f), + Q31( 0.0026201758f), Q31( 0.0029469447f), + Q31( 0.0032739613f), Q31( 0.0036008268f), + Q31( 0.0039207432f), Q31( 0.0042264269f), + Q31( 0.0045209852f), Q31( 0.0047932560f), + Q31( 0.0050393022f), Q31( 0.0052461166f), + Q31( 0.0054196775f), Q31( 0.0055475714f), + Q31( 0.0056220643f), Q31( 0.0056389199f), + Q31( 0.0055917128f), Q31( 0.0054753783f), + Q31( 0.0052715758f), Q31( 0.0049839687f), + Q31( 0.0046039530f), Q31( 0.0041251642f), + Q31( 0.0035401246f), Q31( 0.0028446757f), + Q31( 0.0020274176f), Q31( 0.0010902329f), + Q31( 0.0000276045f), Q31(-0.0011568135f), + Q31(-0.0024826723f), Q31(-0.0039401124f), + Q31(-0.0055337211f), Q31(-0.0072615816f), + Q31(-0.0091325329f), Q31(-0.0111315548f), + Q31( 0.0132718220f), Q31( 0.0155405553f), + Q31( 0.0179433381f), Q31( 0.0204531793f), + Q31( 0.0230680169f), Q31( 0.0257875847f), + Q31( 0.0286072173f), Q31( 0.0315017608f), + Q31( 0.0344620948f), Q31( 0.0374812850f), + Q31( 0.0405349170f), Q31( 0.0436097542f), + Q31( 0.0466843027f), Q31( 0.0497385755f), + Q31( 0.0527630746f), Q31( 0.0557173648f), + Q31( 0.0585915683f), Q31( 0.0613455171f), + Q31( 0.0639715898f), Q31( 0.0664367512f), + Q31( 0.0687043828f), Q31( 0.0707628710f), + Q31( 0.0725682583f), Q31( 0.0741003642f), + Q31( 0.0753137336f), Q31( 0.0761992479f), + Q31( 0.0767093490f), Q31( 0.0768230011f), + Q31( 0.0765050718f), Q31( 0.0757305756f), + Q31( 0.0744664394f), Q31( 0.0726774642f), + Q31( 0.0703533073f), Q31( 0.0674525021f), + Q31( 0.0639444805f), Q31( 0.0598166570f), + Q31( 0.0550460034f), Q31( 0.0495978676f), + Q31( 0.0434768782f), Q31( 0.0366418116f), + Q31( 0.0290824006f), Q31( 0.0207997072f), + Q31( 0.0117623832f), Q31( 0.0019765601f), + Q31(-0.0085711749f), Q31(-0.0198834129f), + Q31(-0.0319531274f), Q31(-0.0447806821f), + Q31(-0.0583705326f), Q31(-0.0726943300f), + Q31(-0.0877547536f), Q31(-0.1035329531f), + Q31(-0.1200077984f), Q31(-0.1371551761f), + Q31(-0.1549607071f), Q31(-0.1733808172f), + Q31(-0.1923966745f), Q31(-0.2119735853f), + Q31(-0.2320690870f), Q31(-0.2526480309f), + Q31(-0.2736634040f), Q31(-0.2950716717f), + Q31(-0.3168278913f), Q31(-0.3388722693f), + Q31( 0.3611589903f), Q31( 0.3836350013f), + Q31( 0.4062317676f), Q31( 0.4289119920f), + Q31( 0.4515996535f), Q31( 0.4742453214f), + Q31( 0.4967708254f), Q31( 0.5191234970f), + Q31( 0.5412553448f), Q31( 0.5630789140f), + Q31( 0.5845403235f), Q31( 0.6055783538f), + Q31( 0.6261242695f), Q31( 0.6461269695f), + Q31( 0.6655139880f), Q31( 0.6842353293f), + Q31( 0.7022388719f), Q31( 0.7194462634f), + Q31( 0.7358211758f), Q31( 0.7513137456f), + Q31( 0.7658674865f), Q31( 0.7794287519f), + Q31( 0.7919735841f), Q31( 0.8034485751f), + Q31( 0.8138191270f), Q31( 0.8230419890f), + Q31( 0.8311038457f), Q31( 0.8379717337f), + Q31( 0.8436238281f), Q31( 0.8480315777f), + Q31( 0.8511971524f), Q31( 0.8531020949f), + Q31( 0.8537385600f), Q31( 0.8531020949f), + Q31( 0.8511971524f), Q31( 0.8480315777f), + Q31( 0.8436238281f), Q31( 0.8379717337f), + Q31( 0.8311038457f), Q31( 0.8230419890f), + Q31( 0.8138191270f), Q31( 0.8034485751f), + Q31( 0.7919735841f), Q31( 0.7794287519f), + Q31( 0.7658674865f), Q31( 0.7513137456f), + Q31( 0.7358211758f), Q31( 0.7194462634f), + Q31( 0.7022388719f), Q31( 0.6842353293f), + Q31( 0.6655139880f), Q31( 0.6461269695f), + Q31( 0.6261242695f), Q31( 0.6055783538f), + Q31( 0.5845403235f), Q31( 0.5630789140f), + Q31( 0.5412553448f), Q31( 0.5191234970f), + Q31( 0.4967708254f), Q31( 0.4742453214f), + Q31( 0.4515996535f), Q31( 0.4289119920f), + Q31( 0.4062317676f), Q31( 0.3836350013f), + -Q31( 0.3611589903f), Q31(-0.3388722693f), + Q31(-0.3168278913f), Q31(-0.2950716717f), + Q31(-0.2736634040f), Q31(-0.2526480309f), + Q31(-0.2320690870f), Q31(-0.2119735853f), + Q31(-0.1923966745f), Q31(-0.1733808172f), + Q31(-0.1549607071f), Q31(-0.1371551761f), + Q31(-0.1200077984f), Q31(-0.1035329531f), + Q31(-0.0877547536f), Q31(-0.0726943300f), + Q31(-0.0583705326f), Q31(-0.0447806821f), + Q31(-0.0319531274f), Q31(-0.0198834129f), + Q31(-0.0085711749f), Q31( 0.0019765601f), + Q31( 0.0117623832f), Q31( 0.0207997072f), + Q31( 0.0290824006f), Q31( 0.0366418116f), + Q31( 0.0434768782f), Q31( 0.0495978676f), + Q31( 0.0550460034f), Q31( 0.0598166570f), + Q31( 0.0639444805f), Q31( 0.0674525021f), + Q31( 0.0703533073f), Q31( 0.0726774642f), + Q31( 0.0744664394f), Q31( 0.0757305756f), + Q31( 0.0765050718f), Q31( 0.0768230011f), + Q31( 0.0767093490f), Q31( 0.0761992479f), + Q31( 0.0753137336f), Q31( 0.0741003642f), + Q31( 0.0725682583f), Q31( 0.0707628710f), + Q31( 0.0687043828f), Q31( 0.0664367512f), + Q31( 0.0639715898f), Q31( 0.0613455171f), + Q31( 0.0585915683f), Q31( 0.0557173648f), + Q31( 0.0527630746f), Q31( 0.0497385755f), + Q31( 0.0466843027f), Q31( 0.0436097542f), + Q31( 0.0405349170f), Q31( 0.0374812850f), + Q31( 0.0344620948f), Q31( 0.0315017608f), + Q31( 0.0286072173f), Q31( 0.0257875847f), + Q31( 0.0230680169f), Q31( 0.0204531793f), + Q31( 0.0179433381f), Q31( 0.0155405553f), + -Q31( 0.0132718220f), Q31(-0.0111315548f), + Q31(-0.0091325329f), Q31(-0.0072615816f), + Q31(-0.0055337211f), Q31(-0.0039401124f), + Q31(-0.0024826723f), Q31(-0.0011568135f), + Q31( 0.0000276045f), Q31( 0.0010902329f), + Q31( 0.0020274176f), Q31( 0.0028446757f), + Q31( 0.0035401246f), Q31( 0.0041251642f), + Q31( 0.0046039530f), Q31( 0.0049839687f), + Q31( 0.0052715758f), Q31( 0.0054753783f), + Q31( 0.0055917128f), Q31( 0.0056389199f), + Q31( 0.0056220643f), Q31( 0.0055475714f), + Q31( 0.0054196775f), Q31( 0.0052461166f), + Q31( 0.0050393022f), Q31( 0.0047932560f), + Q31( 0.0045209852f), Q31( 0.0042264269f), + Q31( 0.0039207432f), Q31( 0.0036008268f), + Q31( 0.0032739613f), Q31( 0.0029469447f), + Q31( 0.0026201758f), Q31( 0.0023017254f), + Q31( 0.0019841140f), Q31( 0.0016868083f), + Q31( 0.0013902494f), Q31( 0.0011250155f), + Q31( 0.0008608443f), Q31( 0.0006239376f), + Q31( 0.0004026540f), Q31( 0.0002043017f), + Q31( 0.0000134949f), Q31(-0.0001446380f), + Q31(-0.0002896981f), Q31(-0.0004095121f), + Q31(-0.0005145572f), Q31(-0.0005946118f), + Q31(-0.0006650415f), Q31(-0.0007215391f), + Q31(-0.0007530001f), Q31(-0.0007757977f), + Q31(-0.0007803664f), Q31(-0.0007834332f), + Q31(-0.0007681371f), Q31(-0.0007440941f), + Q31(-0.0007157736f), Q31(-0.0006777690f), + Q31(-0.0006312493f), Q31(-0.0005870930f), + Q31(-0.0005466565f), Q31(-0.0005040714f), + Q31(-0.0004875227f), Q31(-0.0005617692f), +}; + /* This table contains redundancy: It is symmetric about the entry #320 * with the exception of entries 384 and 512 which are negated. */ static const DECLARE_ALIGNED(32, INTFLOAT, sbr_qmf_window_us)[640] = {