shithub: aacdec

ref: 70bde995b7c8d1b75a156cfdd6c34c179296081e
dir: /libfaad/sbr_qmf.h/

View raw version
/*
** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
**  
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
** 
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
** GNU General Public License for more details.
** 
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software 
** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
**
** Any non-GPL usage of this software or parts of this software is strictly
** forbidden.
**
** Commercial non-GPL licensing of this software is possible.
** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
**
** $Id: sbr_qmf.h,v 1.5 2003/07/29 08:20:13 menno Exp $
**/

#ifndef __SBR_QMF_H__
#define __SBR_QMF_H__

#ifdef __cplusplus
extern "C" {
#endif

qmfa_info *qmfa_init(uint8_t channels);
void qmfa_end(qmfa_info *qmfa);
qmfs_info *qmfs_init(uint8_t channels);
void qmfs_end(qmfs_info *qmfs);

void sbr_qmf_analysis_32(qmfa_info *qmfa, const real_t *input,
                         qmf_t *X, uint8_t offset);
void sbr_qmf_analysis_64(qmfa_info *qmfa, const real_t *input,
                         qmf_t *X, uint8_t maxband, uint8_t offset);
void sbr_qmf_synthesis_32(qmfs_info *qmfs, const qmf_t *X,
                          real_t *output);
void sbr_qmf_synthesis_64(qmfs_info *qmfs, const qmf_t *X,
                          real_t *output);

#ifdef _MSC_VER
#pragma warning(disable:4305)
#pragma warning(disable:4244)
#endif

static real_t qmf_c[] = {
    COEF_CONST(0.0000000000), COEF_CONST(-0.0005525286),
    COEF_CONST(-0.0005617692), COEF_CONST(-0.0004947518),
    COEF_CONST(-0.0004875227), COEF_CONST(-0.0004893791),
    COEF_CONST(-0.0005040714), COEF_CONST(-0.0005226564),
    COEF_CONST(-0.0005466565), COEF_CONST(-0.0005677802),
    COEF_CONST(-0.0005870930), COEF_CONST(-0.0006132747),
    COEF_CONST(-0.0006312493), COEF_CONST(-0.0006540333),
    COEF_CONST(-0.0006777690), COEF_CONST(-0.0006941614),
    COEF_CONST(-0.0007157736), COEF_CONST(-0.0007255043),
    COEF_CONST(-0.0007440941), COEF_CONST(-0.0007490598),
    COEF_CONST(-0.0007681371), COEF_CONST(-0.0007724848),
    COEF_CONST(-0.0007834332), COEF_CONST(-0.0007779869),
    COEF_CONST(-0.0007803664), COEF_CONST(-0.0007801449),
    COEF_CONST(-0.0007757977), COEF_CONST(-0.0007630793),
    COEF_CONST(-0.0007530001), COEF_CONST(-0.0007319357),
    COEF_CONST(-0.0007215391), COEF_CONST(-0.0006917937),
    COEF_CONST(-0.0006650415), COEF_CONST(-0.0006341594),
    COEF_CONST(-0.0005946118), COEF_CONST(-0.0005564576),
    COEF_CONST(-0.0005145572), COEF_CONST(-0.0004606325),
    COEF_CONST(-0.0004095121), COEF_CONST(-0.0003501175),
    COEF_CONST(-0.0002896981), COEF_CONST(-0.0002098337),
    COEF_CONST(-0.0001446380), COEF_CONST(-0.0000617334),
    COEF_CONST(0.0000134949), COEF_CONST(0.0001094383),
    COEF_CONST(0.0002043017), COEF_CONST(0.0002949531),
    COEF_CONST(0.0004026540), COEF_CONST(0.0005107388),
    COEF_CONST(0.0006239376), COEF_CONST(0.0007458025),
    COEF_CONST(0.0008608443), COEF_CONST(0.0009885988),
    COEF_CONST(0.0011250156), COEF_CONST(0.0012577884),
    COEF_CONST(0.0013902494), COEF_CONST(0.0015443219),
    COEF_CONST(0.0016868083), COEF_CONST(0.0018348265),
    COEF_CONST(0.0019841141), COEF_CONST(0.0021461584),
    COEF_CONST(0.0023017253), COEF_CONST(0.0024625617),
    COEF_CONST(0.0026201757), COEF_CONST(0.0027870464),
    COEF_CONST(0.0029469447), COEF_CONST(0.0031125420),
    COEF_CONST(0.0032739614), COEF_CONST(0.0034418874),
    COEF_CONST(0.0036008267), COEF_CONST(0.0037603923),
    COEF_CONST(0.0039207432), COEF_CONST(0.0040819752),
    COEF_CONST(0.0042264271), COEF_CONST(0.0043730717),
    COEF_CONST(0.0045209853), COEF_CONST(0.0046606460),
    COEF_CONST(0.0047932561), COEF_CONST(0.0049137603),
    COEF_CONST(0.0050393022), COEF_CONST(0.0051407353),
    COEF_CONST(0.0052461168), COEF_CONST(0.0053471681),
    COEF_CONST(0.0054196776), COEF_CONST(0.0054876041),
    COEF_CONST(0.0055475715), COEF_CONST(0.0055938023),
    COEF_CONST(0.0056220642), COEF_CONST(0.0056455196),
    COEF_CONST(0.0056389198), COEF_CONST(0.0056266114),
    COEF_CONST(0.0055917129), COEF_CONST(0.0055404361),
    COEF_CONST(0.0054753781), COEF_CONST(0.0053838976),
    COEF_CONST(0.0052715759), COEF_CONST(0.0051382277),
    COEF_CONST(0.0049839686), COEF_CONST(0.0048109470),
    COEF_CONST(0.0046039531), COEF_CONST(0.0043801861),
    COEF_CONST(0.0041251644), COEF_CONST(0.0038456407),
    COEF_CONST(0.0035401245), COEF_CONST(0.0032091886),
    COEF_CONST(0.0028446757), COEF_CONST(0.0024508541),
    COEF_CONST(0.0020274175), COEF_CONST(0.0015784682),
    COEF_CONST(0.0010902329), COEF_CONST(0.0005832264),
    COEF_CONST(0.0000276045), COEF_CONST(-0.0005464280),
    COEF_CONST(-0.0011568135), COEF_CONST(-0.0018039471),
    COEF_CONST(-0.0024826722), COEF_CONST(-0.0031933777),
    COEF_CONST(-0.0039401124), COEF_CONST(-0.0047222595),
    COEF_CONST(-0.0055337213), COEF_CONST(-0.0063792295),
    COEF_CONST(-0.0072615817), COEF_CONST(-0.0081798229),
    COEF_CONST(-0.0091325333), COEF_CONST(-0.0101150218),
    COEF_CONST(-0.0111315548), COEF_CONST(-0.0121849999),
    COEF_CONST(0.0132718217), COEF_CONST(0.0143904667),
    COEF_CONST(0.0155405551), COEF_CONST(0.0167324711),
    COEF_CONST(0.0179433376), COEF_CONST(0.0191872437),
    COEF_CONST(0.0204531793), COEF_CONST(0.0217467546),
    COEF_CONST(0.0230680164), COEF_CONST(0.0244160984),
    COEF_CONST(0.0257875845), COEF_CONST(0.0271859430),
    COEF_CONST(0.0286072176), COEF_CONST(0.0300502665),
    COEF_CONST(0.0315017626), COEF_CONST(0.0329754092),
    COEF_CONST(0.0344620943), COEF_CONST(0.0359697565),
    COEF_CONST(0.0374812856), COEF_CONST(0.0390053689),
    COEF_CONST(0.0405349173), COEF_CONST(0.0420649089),
    COEF_CONST(0.0436097533), COEF_CONST(0.0451488420),
    COEF_CONST(0.0466843024), COEF_CONST(0.0482165702),
    COEF_CONST(0.0497385748), COEF_CONST(0.0512556173),
    COEF_CONST(0.0527630746), COEF_CONST(0.0542452782),
    COEF_CONST(0.0557173640), COEF_CONST(0.0571616441),
    COEF_CONST(0.0585915670), COEF_CONST(0.0599837489),
    COEF_CONST(0.0613455176), COEF_CONST(0.0626857802),
    COEF_CONST(0.0639715865), COEF_CONST(0.0652247071),
    COEF_CONST(0.0664367527), COEF_CONST(0.0676075965),
    COEF_CONST(0.0687043816), COEF_CONST(0.0697630271),
    COEF_CONST(0.0707628727), COEF_CONST(0.0717002675),
    COEF_CONST(0.0725682601), COEF_CONST(0.0733620226),
    COEF_CONST(0.0741003677), COEF_CONST(0.0747452527),
    COEF_CONST(0.0753137320), COEF_CONST(0.0758008361),
    COEF_CONST(0.0761992484), COEF_CONST(0.0764992163),
    COEF_CONST(0.0767093524), COEF_CONST(0.0768174008),
    COEF_CONST(0.0768230036), COEF_CONST(0.0767204911),
    COEF_CONST(0.0765050724), COEF_CONST(0.0761748329),
    COEF_CONST(0.0757305771), COEF_CONST(0.0751576275),
    COEF_CONST(0.0744664371), COEF_CONST(0.0736405998),
    COEF_CONST(0.0726774633), COEF_CONST(0.0715826377),
    COEF_CONST(0.0703533068), COEF_CONST(0.0689664036),
    COEF_CONST(0.0674525052), COEF_CONST(0.0657690689),
    COEF_CONST(0.0639444813), COEF_CONST(0.0619602762),
    COEF_CONST(0.0598166585), COEF_CONST(0.0575152673),
    COEF_CONST(0.0550460033), COEF_CONST(0.0524093807),
    COEF_CONST(0.0495978668), COEF_CONST(0.0466303304),
    COEF_CONST(0.0434768796), COEF_CONST(0.0401458293),
    COEF_CONST(0.0366418101), COEF_CONST(0.0329583921),
    COEF_CONST(0.0290824007), COEF_CONST(0.0250307564),
    COEF_CONST(0.0207997076), COEF_CONST(0.0163701251),
    COEF_CONST(0.0117623834), COEF_CONST(0.0069636861),
    COEF_CONST(0.0019765601), COEF_CONST(-0.0032086896),
    COEF_CONST(-0.0085711749), COEF_CONST(-0.0141288824),
    COEF_CONST(-0.0198834129), COEF_CONST(-0.0258227289),
    COEF_CONST(-0.0319531262), COEF_CONST(-0.0382776558),
    COEF_CONST(-0.0447806828), COEF_CONST(-0.0514804162),
    COEF_CONST(-0.0583705343), COEF_CONST(-0.0654409826),
    COEF_CONST(-0.0726943314), COEF_CONST(-0.0801372901),
    COEF_CONST(-0.0877547562), COEF_CONST(-0.0955533385),
    COEF_CONST(-0.1035329551), COEF_CONST(-0.1116826907),
    COEF_CONST(-0.1200077981), COEF_CONST(-0.1285002828),
    COEF_CONST(-0.1371551752), COEF_CONST(-0.1459766477),
    COEF_CONST(-0.1549607068), COEF_CONST(-0.1640958786),
    COEF_CONST(-0.1733808219), COEF_CONST(-0.1828172505),
    COEF_CONST(-0.1923966706), COEF_CONST(-0.2021250129),
    COEF_CONST(-0.2119735926), COEF_CONST(-0.2219652683),
    COEF_CONST(-0.2320690900), COEF_CONST(-0.2423016876),
    COEF_CONST(-0.2526480258), COEF_CONST(-0.2631053329),
    COEF_CONST(-0.2736634016), COEF_CONST(-0.2843214273),
    COEF_CONST(-0.2950716615), COEF_CONST(-0.3059098721),
    COEF_CONST(-0.3168278933), COEF_CONST(-0.3278113604),
    COEF_CONST(-0.3388722837), COEF_CONST(-0.3499914110),
    COEF_CONST(0.3611589968), COEF_CONST(0.3723795414),
    COEF_CONST(0.3836350143), COEF_CONST(0.3949211836),
    COEF_CONST(0.4062317610), COEF_CONST(0.4175696969),
    COEF_CONST(0.4289119840), COEF_CONST(0.4402553737),
    COEF_CONST(0.4515996575), COEF_CONST(0.4629307985),
    COEF_CONST(0.4742453098), COEF_CONST(0.4855253100),
    COEF_CONST(0.4967708290), COEF_CONST(0.5079817772),
    COEF_CONST(0.5191234946), COEF_CONST(0.5302240849),
    COEF_CONST(0.5412553549), COEF_CONST(0.5522051454),
    COEF_CONST(0.5630789399), COEF_CONST(0.5738524199),
    COEF_CONST(0.5845403075), COEF_CONST(0.5951123238),
    COEF_CONST(0.6055783629), COEF_CONST(0.6159110069),
    COEF_CONST(0.6261242628), COEF_CONST(0.6361979842),
    COEF_CONST(0.6461269855), COEF_CONST(0.6559016109),
    COEF_CONST(0.6655139923), COEF_CONST(0.6749663353),
    COEF_CONST(0.6842353344), COEF_CONST(0.6933282614),
    COEF_CONST(0.7022388577), COEF_CONST(0.7109410167),
    COEF_CONST(0.7194462419), COEF_CONST(0.7277448773),
    COEF_CONST(0.7358211875), COEF_CONST(0.7436828017),
    COEF_CONST(0.7513137460), COEF_CONST(0.7587080598),
    COEF_CONST(0.7658674717), COEF_CONST(0.7727780938),
    COEF_CONST(0.7794287801), COEF_CONST(0.7858353257),
    COEF_CONST(0.7919735909), COEF_CONST(0.7978466153),
    COEF_CONST(0.8034485579), COEF_CONST(0.8087695241),
    COEF_CONST(0.8138191104), COEF_CONST(0.8185775876),
    COEF_CONST(0.8230419755), COEF_CONST(0.8272275329),
    COEF_CONST(0.8311038613), COEF_CONST(0.8346937299),
    COEF_CONST(0.8379717469), COEF_CONST(0.8409541249),
    COEF_CONST(0.8436238170), COEF_CONST(0.8459818363),
    COEF_CONST(0.8480315804), COEF_CONST(0.8497804999),
    COEF_CONST(0.8511971235), COEF_CONST(0.8523046970),
    COEF_CONST(0.8531020880), COEF_CONST(0.8535720706),
    COEF_CONST(0.8537385464), COEF_CONST(0.8535720706),
    COEF_CONST(0.8531020880), COEF_CONST(0.8523046970),
    COEF_CONST(0.8511971235), COEF_CONST(0.8497804999),
    COEF_CONST(0.8480315804), COEF_CONST(0.8459818363),
    COEF_CONST(0.8436238170), COEF_CONST(0.8409541249),
    COEF_CONST(0.8379717469), COEF_CONST(0.8346937299),
    COEF_CONST(0.8311038613), COEF_CONST(0.8272275329),
    COEF_CONST(0.8230419755), COEF_CONST(0.8185775876),
    COEF_CONST(0.8138191104), COEF_CONST(0.8087695241),
    COEF_CONST(0.8034485579), COEF_CONST(0.7978466153),
    COEF_CONST(0.7919735909), COEF_CONST(0.7858353257),
    COEF_CONST(0.7794287801), COEF_CONST(0.7727780938),
    COEF_CONST(0.7658674717), COEF_CONST(0.7587080598),
    COEF_CONST(0.7513137460), COEF_CONST(0.7436828017),
    COEF_CONST(0.7358211875), COEF_CONST(0.7277448773),
    COEF_CONST(0.7194462419), COEF_CONST(0.7109410167),
    COEF_CONST(0.7022388577), COEF_CONST(0.6933282614),
    COEF_CONST(0.6842353344), COEF_CONST(0.6749663353),
    COEF_CONST(0.6655139923), COEF_CONST(0.6559016109),
    COEF_CONST(0.6461269855), COEF_CONST(0.6361979842),
    COEF_CONST(0.6261242628), COEF_CONST(0.6159110069),
    COEF_CONST(0.6055783629), COEF_CONST(0.5951123238),
    COEF_CONST(0.5845403075), COEF_CONST(0.5738524199),
    COEF_CONST(0.5630789399), COEF_CONST(0.5522051454),
    COEF_CONST(0.5412553549), COEF_CONST(0.5302240849),
    COEF_CONST(0.5191234946), COEF_CONST(0.5079817772),
    COEF_CONST(0.4967708290), COEF_CONST(0.4855253100),
    COEF_CONST(0.4742453098), COEF_CONST(0.4629307985),
    COEF_CONST(0.4515996575), COEF_CONST(0.4402553737),
    COEF_CONST(0.4289119840), COEF_CONST(0.4175696969),
    COEF_CONST(0.4062317610), COEF_CONST(0.3949211836),
    COEF_CONST(0.3836350143), COEF_CONST(0.3723795414),
    COEF_CONST(-0.3611589968), COEF_CONST(-0.3499914110),
    COEF_CONST(-0.3388722837), COEF_CONST(-0.3278113604),
    COEF_CONST(-0.3168278933), COEF_CONST(-0.3059098721),
    COEF_CONST(-0.2950716615), COEF_CONST(-0.2843214273),
    COEF_CONST(-0.2736634016), COEF_CONST(-0.2631053329),
    COEF_CONST(-0.2526480258), COEF_CONST(-0.2423016876),
    COEF_CONST(-0.2320690900), COEF_CONST(-0.2219652683),
    COEF_CONST(-0.2119735926), COEF_CONST(-0.2021250129),
    COEF_CONST(-0.1923966706), COEF_CONST(-0.1828172505),
    COEF_CONST(-0.1733808219), COEF_CONST(-0.1640958786),
    COEF_CONST(-0.1549607068), COEF_CONST(-0.1459766477),
    COEF_CONST(-0.1371551752), COEF_CONST(-0.1285002828),
    COEF_CONST(-0.1200077981), COEF_CONST(-0.1116826907),
    COEF_CONST(-0.1035329551), COEF_CONST(-0.0955533385),
    COEF_CONST(-0.0877547562), COEF_CONST(-0.0801372901),
    COEF_CONST(-0.0726943314), COEF_CONST(-0.0654409826),
    COEF_CONST(-0.0583705343), COEF_CONST(-0.0514804162),
    COEF_CONST(-0.0447806828), COEF_CONST(-0.0382776558),
    COEF_CONST(-0.0319531262), COEF_CONST(-0.0258227289),
    COEF_CONST(-0.0198834129), COEF_CONST(-0.0141288824),
    COEF_CONST(-0.0085711749), COEF_CONST(-0.0032086896),
    COEF_CONST(0.0019765601), COEF_CONST(0.0069636861),
    COEF_CONST(0.0117623834), COEF_CONST(0.0163701251),
    COEF_CONST(0.0207997076), COEF_CONST(0.0250307564),
    COEF_CONST(0.0290824007), COEF_CONST(0.0329583921),
    COEF_CONST(0.0366418101), COEF_CONST(0.0401458293),
    COEF_CONST(0.0434768796), COEF_CONST(0.0466303304),
    COEF_CONST(0.0495978668), COEF_CONST(0.0524093807),
    COEF_CONST(0.0550460033), COEF_CONST(0.0575152673),
    COEF_CONST(0.0598166585), COEF_CONST(0.0619602762),
    COEF_CONST(0.0639444813), COEF_CONST(0.0657690689),
    COEF_CONST(0.0674525052), COEF_CONST(0.0689664036),
    COEF_CONST(0.0703533068), COEF_CONST(0.0715826377),
    COEF_CONST(0.0726774633), COEF_CONST(0.0736405998),
    COEF_CONST(0.0744664371), COEF_CONST(0.0751576275),
    COEF_CONST(0.0757305771), COEF_CONST(0.0761748329),
    COEF_CONST(0.0765050724), COEF_CONST(0.0767204911),
    COEF_CONST(0.0768230036), COEF_CONST(0.0768174008),
    COEF_CONST(0.0767093524), COEF_CONST(0.0764992163),
    COEF_CONST(0.0761992484), COEF_CONST(0.0758008361),
    COEF_CONST(0.0753137320), COEF_CONST(0.0747452527),
    COEF_CONST(0.0741003677), COEF_CONST(0.0733620226),
    COEF_CONST(0.0725682601), COEF_CONST(0.0717002675),
    COEF_CONST(0.0707628727), COEF_CONST(0.0697630271),
    COEF_CONST(0.0687043816), COEF_CONST(0.0676075965),
    COEF_CONST(0.0664367527), COEF_CONST(0.0652247071),
    COEF_CONST(0.0639715865), COEF_CONST(0.0626857802),
    COEF_CONST(0.0613455176), COEF_CONST(0.0599837489),
    COEF_CONST(0.0585915670), COEF_CONST(0.0571616441),
    COEF_CONST(0.0557173640), COEF_CONST(0.0542452782),
    COEF_CONST(0.0527630746), COEF_CONST(0.0512556173),
    COEF_CONST(0.0497385748), COEF_CONST(0.0482165702),
    COEF_CONST(0.0466843024), COEF_CONST(0.0451488420),
    COEF_CONST(0.0436097533), COEF_CONST(0.0420649089),
    COEF_CONST(0.0405349173), COEF_CONST(0.0390053689),
    COEF_CONST(0.0374812856), COEF_CONST(0.0359697565),
    COEF_CONST(0.0344620943), COEF_CONST(0.0329754092),
    COEF_CONST(0.0315017626), COEF_CONST(0.0300502665),
    COEF_CONST(0.0286072176), COEF_CONST(0.0271859430),
    COEF_CONST(0.0257875845), COEF_CONST(0.0244160984),
    COEF_CONST(0.0230680164), COEF_CONST(0.0217467546),
    COEF_CONST(0.0204531793), COEF_CONST(0.0191872437),
    COEF_CONST(0.0179433376), COEF_CONST(0.0167324711),
    COEF_CONST(0.0155405551), COEF_CONST(0.0143904667),
    COEF_CONST(-0.0132718217), COEF_CONST(-0.0121849999),
    COEF_CONST(-0.0111315548), COEF_CONST(-0.0101150218),
    COEF_CONST(-0.0091325333), COEF_CONST(-0.0081798229),
    COEF_CONST(-0.0072615817), COEF_CONST(-0.0063792295),
    COEF_CONST(-0.0055337213), COEF_CONST(-0.0047222595),
    COEF_CONST(-0.0039401124), COEF_CONST(-0.0031933777),
    COEF_CONST(-0.0024826722), COEF_CONST(-0.0018039471),
    COEF_CONST(-0.0011568135), COEF_CONST(-0.0005464280),
    COEF_CONST(0.0000276045), COEF_CONST(0.0005832264),
    COEF_CONST(0.0010902329), COEF_CONST(0.0015784682),
    COEF_CONST(0.0020274175), COEF_CONST(0.0024508541),
    COEF_CONST(0.0028446757), COEF_CONST(0.0032091886),
    COEF_CONST(0.0035401245), COEF_CONST(0.0038456407),
    COEF_CONST(0.0041251644), COEF_CONST(0.0043801861),
    COEF_CONST(0.0046039531), COEF_CONST(0.0048109470),
    COEF_CONST(0.0049839686), COEF_CONST(0.0051382277),
    COEF_CONST(0.0052715759), COEF_CONST(0.0053838976),
    COEF_CONST(0.0054753781), COEF_CONST(0.0055404361),
    COEF_CONST(0.0055917129), COEF_CONST(0.0056266114),
    COEF_CONST(0.0056389198), COEF_CONST(0.0056455196),
    COEF_CONST(0.0056220642), COEF_CONST(0.0055938023),
    COEF_CONST(0.0055475715), COEF_CONST(0.0054876041),
    COEF_CONST(0.0054196776), COEF_CONST(0.0053471681),
    COEF_CONST(0.0052461168), COEF_CONST(0.0051407353),
    COEF_CONST(0.0050393022), COEF_CONST(0.0049137603),
    COEF_CONST(0.0047932561), COEF_CONST(0.0046606460),
    COEF_CONST(0.0045209853), COEF_CONST(0.0043730717),
    COEF_CONST(0.0042264271), COEF_CONST(0.0040819752),
    COEF_CONST(0.0039207432), COEF_CONST(0.0037603923),
    COEF_CONST(0.0036008267), COEF_CONST(0.0034418874),
    COEF_CONST(0.0032739614), COEF_CONST(0.0031125420),
    COEF_CONST(0.0029469447), COEF_CONST(0.0027870464),
    COEF_CONST(0.0026201757), COEF_CONST(0.0024625617),
    COEF_CONST(0.0023017253), COEF_CONST(0.0021461584),
    COEF_CONST(0.0019841141), COEF_CONST(0.0018348265),
    COEF_CONST(0.0016868083), COEF_CONST(0.0015443219),
    COEF_CONST(0.0013902494), COEF_CONST(0.0012577884),
    COEF_CONST(0.0011250156), COEF_CONST(0.0009885988),
    COEF_CONST(0.0008608443), COEF_CONST(0.0007458025),
    COEF_CONST(0.0006239376), COEF_CONST(0.0005107388),
    COEF_CONST(0.0004026540), COEF_CONST(0.0002949531),
    COEF_CONST(0.0002043017), COEF_CONST(0.0001094383),
    COEF_CONST(0.0000134949), COEF_CONST(-0.0000617334),
    COEF_CONST(-0.0001446380), COEF_CONST(-0.0002098337),
    COEF_CONST(-0.0002896981), COEF_CONST(-0.0003501175),
    COEF_CONST(-0.0004095121), COEF_CONST(-0.0004606325),
    COEF_CONST(-0.0005145572), COEF_CONST(-0.0005564576),
    COEF_CONST(-0.0005946118), COEF_CONST(-0.0006341594),
    COEF_CONST(-0.0006650415), COEF_CONST(-0.0006917937),
    COEF_CONST(-0.0007215391), COEF_CONST(-0.0007319357),
    COEF_CONST(-0.0007530001), COEF_CONST(-0.0007630793),
    COEF_CONST(-0.0007757977), COEF_CONST(-0.0007801449),
    COEF_CONST(-0.0007803664), COEF_CONST(-0.0007779869),
    COEF_CONST(-0.0007834332), COEF_CONST(-0.0007724848),
    COEF_CONST(-0.0007681371), COEF_CONST(-0.0007490598),
    COEF_CONST(-0.0007440941), COEF_CONST(-0.0007255043),
    COEF_CONST(-0.0007157736), COEF_CONST(-0.0006941614),
    COEF_CONST(-0.0006777690), COEF_CONST(-0.0006540333),
    COEF_CONST(-0.0006312493), COEF_CONST(-0.0006132747),
    COEF_CONST(-0.0005870930), COEF_CONST(-0.0005677802),
    COEF_CONST(-0.0005466565), COEF_CONST(-0.0005226564),
    COEF_CONST(-0.0005040714), COEF_CONST(-0.0004893791),
    COEF_CONST(-0.0004875227), COEF_CONST(-0.0004947518),
    COEF_CONST(-0.0005617692), COEF_CONST(-0.0005525280)
};

static real_t qmf_c_2[] = {
    COEF_CONST(0.0000000000), COEF_CONST(-0.0005617692),
    COEF_CONST(-0.0004875227), COEF_CONST(-0.0005040714),
    COEF_CONST(-0.0005466565), COEF_CONST(-0.0005870930),
    COEF_CONST(-0.0006312493), COEF_CONST(-0.0006777690),
    COEF_CONST(-0.0007157736), COEF_CONST(-0.0007440941),
    COEF_CONST(-0.0007681371), COEF_CONST(-0.0007834332),
    COEF_CONST(-0.0007803664), COEF_CONST(-0.0007757977),
    COEF_CONST(-0.0007530001), COEF_CONST(-0.0007215391),
    COEF_CONST(-0.0006650415), COEF_CONST(-0.0005946118),
    COEF_CONST(-0.0005145572), COEF_CONST(-0.0004095121),
    COEF_CONST(-0.0002896981), COEF_CONST(-0.0001446380),
    COEF_CONST(0.0000134949), COEF_CONST(0.0002043017),
    COEF_CONST(0.0004026540), COEF_CONST(0.0006239376),
    COEF_CONST(0.0008608443), COEF_CONST(0.0011250156),
    COEF_CONST(0.0013902494), COEF_CONST(0.0016868083),
    COEF_CONST(0.0019841141), COEF_CONST(0.0023017253),
    COEF_CONST(0.0026201757), COEF_CONST(0.0029469447),
    COEF_CONST(0.0032739614), COEF_CONST(0.0036008267),
    COEF_CONST(0.0039207432), COEF_CONST(0.0042264271),
    COEF_CONST(0.0045209853), COEF_CONST(0.0047932561),
    COEF_CONST(0.0050393022), COEF_CONST(0.0052461168),
    COEF_CONST(0.0054196776), COEF_CONST(0.0055475715),
    COEF_CONST(0.0056220642), COEF_CONST(0.0056389198),
    COEF_CONST(0.0055917129), COEF_CONST(0.0054753781),
    COEF_CONST(0.0052715759), COEF_CONST(0.0049839686),
    COEF_CONST(0.0046039531), COEF_CONST(0.0041251644),
    COEF_CONST(0.0035401245), COEF_CONST(0.0028446757),
    COEF_CONST(0.0020274175), COEF_CONST(0.0010902329),
    COEF_CONST(0.0000276045), COEF_CONST(-0.0011568135),
    COEF_CONST(-0.0024826722), COEF_CONST(-0.0039401124),
    COEF_CONST(-0.0055337213), COEF_CONST(-0.0072615817),
    COEF_CONST(-0.0091325333), COEF_CONST(-0.0111315548),
    COEF_CONST(0.0132718217), COEF_CONST(0.0155405551),
    COEF_CONST(0.0179433376), COEF_CONST(0.0204531793),
    COEF_CONST(0.0230680164), COEF_CONST(0.0257875845),
    COEF_CONST(0.0286072176), COEF_CONST(0.0315017626),
    COEF_CONST(0.0344620943), COEF_CONST(0.0374812856),
    COEF_CONST(0.0405349173), COEF_CONST(0.0436097533),
    COEF_CONST(0.0466843024), COEF_CONST(0.0497385748),
    COEF_CONST(0.0527630746), COEF_CONST(0.0557173640),
    COEF_CONST(0.0585915670), COEF_CONST(0.0613455176),
    COEF_CONST(0.0639715865), COEF_CONST(0.0664367527),
    COEF_CONST(0.0687043816), COEF_CONST(0.0707628727),
    COEF_CONST(0.0725682601), COEF_CONST(0.0741003677),
    COEF_CONST(0.0753137320), COEF_CONST(0.0761992484),
    COEF_CONST(0.0767093524), COEF_CONST(0.0768230036),
    COEF_CONST(0.0765050724), COEF_CONST(0.0757305771),
    COEF_CONST(0.0744664371), COEF_CONST(0.0726774633),
    COEF_CONST(0.0703533068), COEF_CONST(0.0674525052),
    COEF_CONST(0.0639444813), COEF_CONST(0.0598166585),
    COEF_CONST(0.0550460033), COEF_CONST(0.0495978668),
    COEF_CONST(0.0434768796), COEF_CONST(0.0366418101),
    COEF_CONST(0.0290824007), COEF_CONST(0.0207997076),
    COEF_CONST(0.0117623834), COEF_CONST(0.0019765601),
    COEF_CONST(-0.0085711749), COEF_CONST(-0.0198834129),
    COEF_CONST(-0.0319531262), COEF_CONST(-0.0447806828),
    COEF_CONST(-0.0583705343), COEF_CONST(-0.0726943314),
    COEF_CONST(-0.0877547562), COEF_CONST(-0.1035329551),
    COEF_CONST(-0.1200077981), COEF_CONST(-0.1371551752),
    COEF_CONST(-0.1549607068), COEF_CONST(-0.1733808219),
    COEF_CONST(-0.1923966706), COEF_CONST(-0.2119735926),
    COEF_CONST(-0.2320690900), COEF_CONST(-0.2526480258),
    COEF_CONST(-0.2736634016), COEF_CONST(-0.2950716615),
    COEF_CONST(-0.3168278933), COEF_CONST(-0.3388722837),
    COEF_CONST(0.3611589968), COEF_CONST(0.3836350143),
    COEF_CONST(0.4062317610), COEF_CONST(0.4289119840),
    COEF_CONST(0.4515996575), COEF_CONST(0.4742453098),
    COEF_CONST(0.4967708290), COEF_CONST(0.5191234946),
    COEF_CONST(0.5412553549), COEF_CONST(0.5630789399),
    COEF_CONST(0.5845403075), COEF_CONST(0.6055783629),
    COEF_CONST(0.6261242628), COEF_CONST(0.6461269855),
    COEF_CONST(0.6655139923), COEF_CONST(0.6842353344),
    COEF_CONST(0.7022388577), COEF_CONST(0.7194462419),
    COEF_CONST(0.7358211875), COEF_CONST(0.7513137460),
    COEF_CONST(0.7658674717), COEF_CONST(0.7794287801),
    COEF_CONST(0.7919735909), COEF_CONST(0.8034485579),
    COEF_CONST(0.8138191104), COEF_CONST(0.8230419755),
    COEF_CONST(0.8311038613), COEF_CONST(0.8379717469),
    COEF_CONST(0.8436238170), COEF_CONST(0.8480315804),
    COEF_CONST(0.8511971235), COEF_CONST(0.8531020880),
    COEF_CONST(0.8537385464), COEF_CONST(0.8531020880),
    COEF_CONST(0.8511971235), COEF_CONST(0.8480315804),
    COEF_CONST(0.8436238170), COEF_CONST(0.8379717469),
    COEF_CONST(0.8311038613), COEF_CONST(0.8230419755),
    COEF_CONST(0.8138191104), COEF_CONST(0.8034485579),
    COEF_CONST(0.7919735909), COEF_CONST(0.7794287801),
    COEF_CONST(0.7658674717), COEF_CONST(0.7513137460),
    COEF_CONST(0.7358211875), COEF_CONST(0.7194462419),
    COEF_CONST(0.7022388577), COEF_CONST(0.6842353344),
    COEF_CONST(0.6655139923), COEF_CONST(0.6461269855),
    COEF_CONST(0.6261242628), COEF_CONST(0.6055783629),
    COEF_CONST(0.5845403075), COEF_CONST(0.5630789399),
    COEF_CONST(0.5412553549), COEF_CONST(0.5191234946),
    COEF_CONST(0.4967708290), COEF_CONST(0.4742453098),
    COEF_CONST(0.4515996575), COEF_CONST(0.4289119840),
    COEF_CONST(0.4062317610), COEF_CONST(0.3836350143),
    COEF_CONST(-0.3611589968), COEF_CONST(-0.3388722837),
    COEF_CONST(-0.3168278933), COEF_CONST(-0.2950716615),
    COEF_CONST(-0.2736634016), COEF_CONST(-0.2526480258),
    COEF_CONST(-0.2320690900), COEF_CONST(-0.2119735926),
    COEF_CONST(-0.1923966706), COEF_CONST(-0.1733808219),
    COEF_CONST(-0.1549607068), COEF_CONST(-0.1371551752),
    COEF_CONST(-0.1200077981), COEF_CONST(-0.1035329551),
    COEF_CONST(-0.0877547562), COEF_CONST(-0.0726943314),
    COEF_CONST(-0.0583705343), COEF_CONST(-0.0447806828),
    COEF_CONST(-0.0319531262), COEF_CONST(-0.0198834129),
    COEF_CONST(-0.0085711749), COEF_CONST(0.0019765601),
    COEF_CONST(0.0117623834), COEF_CONST(0.0207997076),
    COEF_CONST(0.0290824007), COEF_CONST(0.0366418101),
    COEF_CONST(0.0434768796), COEF_CONST(0.0495978668),
    COEF_CONST(0.0550460033), COEF_CONST(0.0598166585),
    COEF_CONST(0.0639444813), COEF_CONST(0.0674525052),
    COEF_CONST(0.0703533068), COEF_CONST(0.0726774633),
    COEF_CONST(0.0744664371), COEF_CONST(0.0757305771),
    COEF_CONST(0.0765050724), COEF_CONST(0.0768230036),
    COEF_CONST(0.0767093524), COEF_CONST(0.0761992484),
    COEF_CONST(0.0753137320), COEF_CONST(0.0741003677),
    COEF_CONST(0.0725682601), COEF_CONST(0.0707628727),
    COEF_CONST(0.0687043816), COEF_CONST(0.0664367527),
    COEF_CONST(0.0639715865), COEF_CONST(0.0613455176),
    COEF_CONST(0.0585915670), COEF_CONST(0.0557173640),
    COEF_CONST(0.0527630746), COEF_CONST(0.0497385748),
    COEF_CONST(0.0466843024), COEF_CONST(0.0436097533),
    COEF_CONST(0.0405349173), COEF_CONST(0.0374812856),
    COEF_CONST(0.0344620943), COEF_CONST(0.0315017626),
    COEF_CONST(0.0286072176), COEF_CONST(0.0257875845),
    COEF_CONST(0.0230680164), COEF_CONST(0.0204531793),
    COEF_CONST(0.0179433376), COEF_CONST(0.0155405551),
    COEF_CONST(-0.0132718217), COEF_CONST(-0.0111315548),
    COEF_CONST(-0.0091325333), COEF_CONST(-0.0072615817),
    COEF_CONST(-0.0055337213), COEF_CONST(-0.0039401124),
    COEF_CONST(-0.0024826722), COEF_CONST(-0.0011568135),
    COEF_CONST(0.0000276045), COEF_CONST(0.0010902329),
    COEF_CONST(0.0020274175), COEF_CONST(0.0028446757),
    COEF_CONST(0.0035401245), COEF_CONST(0.0041251644),
    COEF_CONST(0.0046039531), COEF_CONST(0.0049839686),
    COEF_CONST(0.0052715759), COEF_CONST(0.0054753781),
    COEF_CONST(0.0055917129), COEF_CONST(0.0056389198),
    COEF_CONST(0.0056220642), COEF_CONST(0.0055475715),
    COEF_CONST(0.0054196776), COEF_CONST(0.0052461168),
    COEF_CONST(0.0050393022), COEF_CONST(0.0047932561),
    COEF_CONST(0.0045209853), COEF_CONST(0.0042264271),
    COEF_CONST(0.0039207432), COEF_CONST(0.0036008267),
    COEF_CONST(0.0032739614), COEF_CONST(0.0029469447),
    COEF_CONST(0.0026201757), COEF_CONST(0.0023017253),
    COEF_CONST(0.0019841141), COEF_CONST(0.0016868083),
    COEF_CONST(0.0013902494), COEF_CONST(0.0011250156),
    COEF_CONST(0.0008608443), COEF_CONST(0.0006239376),
    COEF_CONST(0.0004026540), COEF_CONST(0.0002043017),
    COEF_CONST(0.0000134949), COEF_CONST(-0.0001446380),
    COEF_CONST(-0.0002896981), COEF_CONST(-0.0004095121),
    COEF_CONST(-0.0005145572), COEF_CONST(-0.0005946118),
    COEF_CONST(-0.0006650415), COEF_CONST(-0.0007215391),
    COEF_CONST(-0.0007530001), COEF_CONST(-0.0007757977),
    COEF_CONST(-0.0007803664), COEF_CONST(-0.0007834332),
    COEF_CONST(-0.0007681371), COEF_CONST(-0.0007440941),
    COEF_CONST(-0.0007157736), COEF_CONST(-0.0006777690),
    COEF_CONST(-0.0006312493), COEF_CONST(-0.0005870930),
    COEF_CONST(-0.0005466565), COEF_CONST(-0.0005040714),
    COEF_CONST(-0.0004875227), COEF_CONST(-0.0005617692)
};

#ifdef __cplusplus
}
#endif
#endif