LCOV - code coverage report
Current view: top level - lib_com - rom_basop_util.c (source / functions) Hit Total Coverage
Test: Coverage on main enc/dec/rend @ 3b2f07138c61dcf997bbf4165d0882f794b2995f Lines: 76 90 84.4 %
Date: 2025-05-03 01:55:50 Functions: 2 2 100.0 %

          Line data    Source code
       1             : /******************************************************************************************************
       2             : 
       3             :    (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
       4             :    Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
       5             :    Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
       6             :    Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
       7             :    contributors to this repository. All Rights Reserved.
       8             : 
       9             :    This software is protected by copyright law and by international treaties.
      10             :    The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
      11             :    Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
      12             :    Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
      13             :    Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
      14             :    contributors to this repository retain full ownership rights in their respective contributions in
      15             :    the software. This notice grants no license of any kind, including but not limited to patent
      16             :    license, nor is any license granted by implication, estoppel or otherwise.
      17             : 
      18             :    Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
      19             :    contributions.
      20             : 
      21             :    This software is provided "AS IS", without any express or implied warranties. The software is in the
      22             :    development stage. It is intended exclusively for experts who have experience with such software and
      23             :    solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
      24             :    and fitness for a particular purpose are hereby disclaimed and excluded.
      25             : 
      26             :    Any dispute, controversy or claim arising under or in relation to providing this software shall be
      27             :    submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
      28             :    accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
      29             :    the United Nations Convention on Contracts on the International Sales of Goods.
      30             : 
      31             : *******************************************************************************************************/
      32             : 
      33             : #include "rom_basop_util.h"
      34             : #include "stl.h"
      35             : #include <assert.h>
      36             : #include <stdlib.h>
      37             : #include "options.h"
      38             : 
      39             : #define STC( x ) WORD322WORD16( x )
      40             : 
      41             : #define STCP( a, b )           \
      42             :     {                          \
      43             :         {                      \
      44             :             STC( a ), STC( b ) \
      45             :         }                      \
      46             :     }
      47             : 
      48             : const PWord16 SineTable512[] = {
      49             :     // Q15
      50             :     STCP( 0x7fffffff, 0x00000000 ),
      51             :     STCP( 0x7fffd886, 0x006487e3 ),
      52             :     STCP( 0x7fff6216, 0x00c90f88 ),
      53             :     STCP( 0x7ffe9cb2, 0x012d96b1 ),
      54             :     STCP( 0x7ffd885a, 0x01921d20 ),
      55             :     STCP( 0x7ffc250f, 0x01f6a297 ),
      56             :     STCP( 0x7ffa72d1, 0x025b26d7 ),
      57             :     STCP( 0x7ff871a2, 0x02bfa9a4 ),
      58             :     STCP( 0x7ff62182, 0x03242abf ),
      59             :     STCP( 0x7ff38274, 0x0388a9ea ),
      60             :     STCP( 0x7ff09478, 0x03ed26e6 ),
      61             :     STCP( 0x7fed5791, 0x0451a177 ),
      62             :     STCP( 0x7fe9cbc0, 0x04b6195d ),
      63             :     STCP( 0x7fe5f108, 0x051a8e5c ),
      64             :     STCP( 0x7fe1c76b, 0x057f0035 ),
      65             :     STCP( 0x7fdd4eec, 0x05e36ea9 ),
      66             :     STCP( 0x7fd8878e, 0x0647d97c ),
      67             :     STCP( 0x7fd37153, 0x06ac406f ),
      68             :     STCP( 0x7fce0c3e, 0x0710a345 ),
      69             :     STCP( 0x7fc85854, 0x077501be ),
      70             :     STCP( 0x7fc25596, 0x07d95b9e ),
      71             :     STCP( 0x7fbc040a, 0x083db0a7 ),
      72             :     STCP( 0x7fb563b3, 0x08a2009a ),
      73             :     STCP( 0x7fae7495, 0x09064b3a ),
      74             :     STCP( 0x7fa736b4, 0x096a9049 ),
      75             :     STCP( 0x7f9faa15, 0x09cecf89 ),
      76             :     STCP( 0x7f97cebd, 0x0a3308bd ),
      77             :     STCP( 0x7f8fa4b0, 0x0a973ba5 ),
      78             :     STCP( 0x7f872bf3, 0x0afb6805 ),
      79             :     STCP( 0x7f7e648c, 0x0b5f8d9f ),
      80             :     STCP( 0x7f754e80, 0x0bc3ac35 ),
      81             :     STCP( 0x7f6be9d4, 0x0c27c389 ),
      82             :     STCP( 0x7f62368f, 0x0c8bd35e ),
      83             :     STCP( 0x7f5834b7, 0x0cefdb76 ),
      84             :     STCP( 0x7f4de451, 0x0d53db92 ),
      85             :     STCP( 0x7f434563, 0x0db7d376 ),
      86             :     STCP( 0x7f3857f6, 0x0e1bc2e4 ),
      87             :     STCP( 0x7f2d1c0e, 0x0e7fa99e ),
      88             :     STCP( 0x7f2191b4, 0x0ee38766 ),
      89             :     STCP( 0x7f15b8ee, 0x0f475bff ),
      90             :     STCP( 0x7f0991c4, 0x0fab272b ),
      91             :     STCP( 0x7efd1c3c, 0x100ee8ad ),
      92             :     STCP( 0x7ef05860, 0x1072a048 ),
      93             :     STCP( 0x7ee34636, 0x10d64dbd ),
      94             :     STCP( 0x7ed5e5c6, 0x1139f0cf ),
      95             :     STCP( 0x7ec8371a, 0x119d8941 ),
      96             :     STCP( 0x7eba3a39, 0x120116d5 ),
      97             :     STCP( 0x7eabef2c, 0x1264994e ),
      98             :     STCP( 0x7e9d55fc, 0x12c8106f ),
      99             :     STCP( 0x7e8e6eb2, 0x132b7bf9 ),
     100             :     STCP( 0x7e7f3957, 0x138edbb1 ),
     101             :     STCP( 0x7e6fb5f4, 0x13f22f58 ),
     102             :     STCP( 0x7e5fe493, 0x145576b1 ),
     103             :     STCP( 0x7e4fc53e, 0x14b8b17f ),
     104             :     STCP( 0x7e3f57ff, 0x151bdf86 ),
     105             :     STCP( 0x7e2e9cdf, 0x157f0086 ),
     106             :     STCP( 0x7e1d93ea, 0x15e21445 ),
     107             :     STCP( 0x7e0c3d29, 0x16451a83 ),
     108             :     STCP( 0x7dfa98a8, 0x16a81305 ),
     109             :     STCP( 0x7de8a670, 0x170afd8d ),
     110             :     STCP( 0x7dd6668f, 0x176dd9de ),
     111             :     STCP( 0x7dc3d90d, 0x17d0a7bc ),
     112             :     STCP( 0x7db0fdf8, 0x183366e9 ),
     113             :     STCP( 0x7d9dd55a, 0x18961728 ),
     114             :     STCP( 0x7d8a5f40, 0x18f8b83c ),
     115             :     STCP( 0x7d769bb5, 0x195b49ea ),
     116             :     STCP( 0x7d628ac6, 0x19bdcbf3 ),
     117             :     STCP( 0x7d4e2c7f, 0x1a203e1b ),
     118             :     STCP( 0x7d3980ec, 0x1a82a026 ),
     119             :     STCP( 0x7d24881b, 0x1ae4f1d6 ),
     120             :     STCP( 0x7d0f4218, 0x1b4732ef ),
     121             :     STCP( 0x7cf9aef0, 0x1ba96335 ),
     122             :     STCP( 0x7ce3ceb2, 0x1c0b826a ),
     123             :     STCP( 0x7ccda169, 0x1c6d9053 ),
     124             :     STCP( 0x7cb72724, 0x1ccf8cb3 ),
     125             :     STCP( 0x7ca05ff1, 0x1d31774d ),
     126             :     STCP( 0x7c894bde, 0x1d934fe5 ),
     127             :     STCP( 0x7c71eaf9, 0x1df5163f ),
     128             :     STCP( 0x7c5a3d50, 0x1e56ca1e ),
     129             :     STCP( 0x7c4242f2, 0x1eb86b46 ),
     130             :     STCP( 0x7c29fbee, 0x1f19f97b ),
     131             :     STCP( 0x7c116853, 0x1f7b7481 ),
     132             :     STCP( 0x7bf88830, 0x1fdcdc1b ),
     133             :     STCP( 0x7bdf5b94, 0x203e300d ),
     134             :     STCP( 0x7bc5e290, 0x209f701c ),
     135             :     STCP( 0x7bac1d31, 0x21009c0c ),
     136             :     STCP( 0x7b920b89, 0x2161b3a0 ),
     137             :     STCP( 0x7b77ada8, 0x21c2b69c ),
     138             :     STCP( 0x7b5d039e, 0x2223a4c5 ),
     139             :     STCP( 0x7b420d7a, 0x22847de0 ),
     140             :     STCP( 0x7b26cb4f, 0x22e541af ),
     141             :     STCP( 0x7b0b3d2c, 0x2345eff8 ),
     142             :     STCP( 0x7aef6323, 0x23a6887f ),
     143             :     STCP( 0x7ad33d45, 0x24070b08 ),
     144             :     STCP( 0x7ab6cba4, 0x24677758 ),
     145             :     STCP( 0x7a9a0e50, 0x24c7cd33 ),
     146             :     STCP( 0x7a7d055b, 0x25280c5e ),
     147             :     STCP( 0x7a5fb0d8, 0x2588349d ),
     148             :     STCP( 0x7a4210d8, 0x25e845b6 ),
     149             :     STCP( 0x7a24256f, 0x26483f6c ),
     150             :     STCP( 0x7a05eead, 0x26a82186 ),
     151             :     STCP( 0x79e76ca7, 0x2707ebc7 ),
     152             :     STCP( 0x79c89f6e, 0x27679df4 ),
     153             :     STCP( 0x79a98715, 0x27c737d3 ),
     154             :     STCP( 0x798a23b1, 0x2826b928 ),
     155             :     STCP( 0x796a7554, 0x288621b9 ),
     156             :     STCP( 0x794a7c12, 0x28e5714b ),
     157             :     STCP( 0x792a37fe, 0x2944a7a2 ),
     158             :     STCP( 0x7909a92d, 0x29a3c485 ),
     159             :     STCP( 0x78e8cfb2, 0x2a02c7b8 ),
     160             :     STCP( 0x78c7aba2, 0x2a61b101 ),
     161             :     STCP( 0x78a63d11, 0x2ac08026 ),
     162             :     STCP( 0x78848414, 0x2b1f34eb ),
     163             :     STCP( 0x786280bf, 0x2b7dcf17 ),
     164             :     STCP( 0x78403329, 0x2bdc4e6f ),
     165             :     STCP( 0x781d9b65, 0x2c3ab2b9 ),
     166             :     STCP( 0x77fab989, 0x2c98fbba ),
     167             :     STCP( 0x77d78daa, 0x2cf72939 ),
     168             :     STCP( 0x77b417df, 0x2d553afc ),
     169             :     STCP( 0x7790583e, 0x2db330c7 ),
     170             :     STCP( 0x776c4edb, 0x2e110a62 ),
     171             :     STCP( 0x7747fbce, 0x2e6ec792 ),
     172             :     STCP( 0x77235f2d, 0x2ecc681e ),
     173             :     STCP( 0x76fe790e, 0x2f29ebcc ),
     174             :     STCP( 0x76d94989, 0x2f875262 ),
     175             :     STCP( 0x76b3d0b4, 0x2fe49ba7 ),
     176             :     STCP( 0x768e0ea6, 0x3041c761 ),
     177             :     STCP( 0x76680376, 0x309ed556 ),
     178             :     STCP( 0x7641af3d, 0x30fbc54d ),
     179             :     STCP( 0x761b1211, 0x3158970e ),
     180             :     STCP( 0x75f42c0b, 0x31b54a5e ),
     181             :     STCP( 0x75ccfd42, 0x3211df04 ),
     182             :     STCP( 0x75a585cf, 0x326e54c7 ),
     183             :     STCP( 0x757dc5ca, 0x32caab6f ),
     184             :     STCP( 0x7555bd4c, 0x3326e2c3 ),
     185             :     STCP( 0x752d6c6c, 0x3382fa88 ),
     186             :     STCP( 0x7504d345, 0x33def287 ),
     187             :     STCP( 0x74dbf1ef, 0x343aca87 ),
     188             :     STCP( 0x74b2c884, 0x34968250 ),
     189             :     STCP( 0x7489571c, 0x34f219a8 ),
     190             :     STCP( 0x745f9dd1, 0x354d9057 ),
     191             :     STCP( 0x74359cbd, 0x35a8e625 ),
     192             :     STCP( 0x740b53fb, 0x36041ad9 ),
     193             :     STCP( 0x73e0c3a3, 0x365f2e3b ),
     194             :     STCP( 0x73b5ebd1, 0x36ba2014 ),
     195             :     STCP( 0x738acc9e, 0x3714f02a ),
     196             :     STCP( 0x735f6626, 0x376f9e46 ),
     197             :     STCP( 0x7333b883, 0x37ca2a30 ),
     198             :     STCP( 0x7307c3d0, 0x382493b0 ),
     199             :     STCP( 0x72db8828, 0x387eda8e ),
     200             :     STCP( 0x72af05a7, 0x38d8fe93 ),
     201             :     STCP( 0x72823c67, 0x3932ff87 ),
     202             :     STCP( 0x72552c85, 0x398cdd32 ),
     203             :     STCP( 0x7227d61c, 0x39e6975e ),
     204             :     STCP( 0x71fa3949, 0x3a402dd2 ),
     205             :     STCP( 0x71cc5626, 0x3a99a057 ),
     206             :     STCP( 0x719e2cd2, 0x3af2eeb7 ),
     207             :     STCP( 0x716fbd68, 0x3b4c18ba ),
     208             :     STCP( 0x71410805, 0x3ba51e29 ),
     209             :     STCP( 0x71120cc5, 0x3bfdfecd ),
     210             :     STCP( 0x70e2cbc6, 0x3c56ba70 ),
     211             :     STCP( 0x70b34525, 0x3caf50da ),
     212             :     STCP( 0x708378ff, 0x3d07c1d6 ),
     213             :     STCP( 0x70536771, 0x3d600d2c ),
     214             :     STCP( 0x7023109a, 0x3db832a6 ),
     215             :     STCP( 0x6ff27497, 0x3e10320d ),
     216             :     STCP( 0x6fc19385, 0x3e680b2c ),
     217             :     STCP( 0x6f906d84, 0x3ebfbdcd ),
     218             :     STCP( 0x6f5f02b2, 0x3f1749b8 ),
     219             :     STCP( 0x6f2d532c, 0x3f6eaeb8 ),
     220             :     STCP( 0x6efb5f12, 0x3fc5ec98 ),
     221             :     STCP( 0x6ec92683, 0x401d0321 ),
     222             :     STCP( 0x6e96a99d, 0x4073f21d ),
     223             :     STCP( 0x6e63e87f, 0x40cab958 ),
     224             :     STCP( 0x6e30e34a, 0x4121589b ),
     225             :     STCP( 0x6dfd9a1c, 0x4177cfb1 ),
     226             :     STCP( 0x6dca0d14, 0x41ce1e65 ),
     227             :     STCP( 0x6d963c54, 0x42244481 ),
     228             :     STCP( 0x6d6227fa, 0x427a41d0 ),
     229             :     STCP( 0x6d2dd027, 0x42d0161e ),
     230             :     STCP( 0x6cf934fc, 0x4325c135 ),
     231             :     STCP( 0x6cc45698, 0x437b42e1 ),
     232             :     STCP( 0x6c8f351c, 0x43d09aed ),
     233             :     STCP( 0x6c59d0a9, 0x4425c923 ),
     234             :     STCP( 0x6c242960, 0x447acd50 ),
     235             :     STCP( 0x6bee3f62, 0x44cfa740 ),
     236             :     STCP( 0x6bb812d1, 0x452456bd ),
     237             :     STCP( 0x6b81a3cd, 0x4578db93 ),
     238             :     STCP( 0x6b4af279, 0x45cd358f ),
     239             :     STCP( 0x6b13fef5, 0x4621647d ),
     240             :     STCP( 0x6adcc964, 0x46756828 ),
     241             :     STCP( 0x6aa551e9, 0x46c9405c ),
     242             :     STCP( 0x6a6d98a4, 0x471cece7 ),
     243             :     STCP( 0x6a359db9, 0x47706d93 ),
     244             :     STCP( 0x69fd614a, 0x47c3c22f ),
     245             :     STCP( 0x69c4e37a, 0x4816ea86 ),
     246             :     STCP( 0x698c246c, 0x4869e665 ),
     247             :     STCP( 0x69532442, 0x48bcb599 ),
     248             :     STCP( 0x6919e320, 0x490f57ee ),
     249             :     STCP( 0x68e06129, 0x4961cd33 ),
     250             :     STCP( 0x68a69e81, 0x49b41533 ),
     251             :     STCP( 0x686c9b4b, 0x4a062fbd ),
     252             :     STCP( 0x683257ab, 0x4a581c9e ),
     253             :     STCP( 0x67f7d3c5, 0x4aa9dba2 ),
     254             :     STCP( 0x67bd0fbd, 0x4afb6c98 ),
     255             :     STCP( 0x67820bb7, 0x4b4ccf4d ),
     256             :     STCP( 0x6746c7d8, 0x4b9e0390 ),
     257             :     STCP( 0x670b4444, 0x4bef092d ),
     258             :     STCP( 0x66cf8120, 0x4c3fdff4 ),
     259             :     STCP( 0x66937e91, 0x4c9087b1 ),
     260             :     STCP( 0x66573cbb, 0x4ce10034 ),
     261             :     STCP( 0x661abbc5, 0x4d31494b ),
     262             :     STCP( 0x65ddfbd3, 0x4d8162c4 ),
     263             :     STCP( 0x65a0fd0b, 0x4dd14c6e ),
     264             :     STCP( 0x6563bf92, 0x4e210617 ),
     265             :     STCP( 0x6526438f, 0x4e708f8f ),
     266             :     STCP( 0x64e88926, 0x4ebfe8a5 ),
     267             :     STCP( 0x64aa907f, 0x4f0f1126 ),
     268             :     STCP( 0x646c59bf, 0x4f5e08e3 ),
     269             :     STCP( 0x642de50d, 0x4faccfab ),
     270             :     STCP( 0x63ef3290, 0x4ffb654d ),
     271             :     STCP( 0x63b0426d, 0x5049c999 ),
     272             :     STCP( 0x637114cc, 0x5097fc5e ),
     273             :     STCP( 0x6331a9d4, 0x50e5fd6d ),
     274             :     STCP( 0x62f201ac, 0x5133cc94 ),
     275             :     STCP( 0x62b21c7b, 0x518169a5 ),
     276             :     STCP( 0x6271fa69, 0x51ced46e ),
     277             :     STCP( 0x62319b9d, 0x521c0cc2 ),
     278             :     STCP( 0x61f1003f, 0x5269126e ),
     279             :     STCP( 0x61b02876, 0x52b5e546 ),
     280             :     STCP( 0x616f146c, 0x53028518 ),
     281             :     STCP( 0x612dc447, 0x534ef1b5 ),
     282             :     STCP( 0x60ec3830, 0x539b2af0 ),
     283             :     STCP( 0x60aa7050, 0x53e73097 ),
     284             :     STCP( 0x60686ccf, 0x5433027d ),
     285             :     STCP( 0x60262dd6, 0x547ea073 ),
     286             :     STCP( 0x5fe3b38d, 0x54ca0a4b ),
     287             :     STCP( 0x5fa0fe1f, 0x55153fd4 ),
     288             :     STCP( 0x5f5e0db3, 0x556040e2 ),
     289             :     STCP( 0x5f1ae274, 0x55ab0d46 ),
     290             :     STCP( 0x5ed77c8a, 0x55f5a4d2 ),
     291             :     STCP( 0x5e93dc1f, 0x56400758 ),
     292             :     STCP( 0x5e50015d, 0x568a34a9 ),
     293             :     STCP( 0x5e0bec6e, 0x56d42c99 ),
     294             :     STCP( 0x5dc79d7c, 0x571deefa ),
     295             :     STCP( 0x5d8314b1, 0x57677b9d ),
     296             :     STCP( 0x5d3e5237, 0x57b0d256 ),
     297             :     STCP( 0x5cf95638, 0x57f9f2f8 ),
     298             :     STCP( 0x5cb420e0, 0x5842dd54 ),
     299             :     STCP( 0x5c6eb258, 0x588b9140 ),
     300             :     STCP( 0x5c290acc, 0x58d40e8c ),
     301             :     STCP( 0x5be32a67, 0x591c550e ),
     302             :     STCP( 0x5b9d1154, 0x59646498 ),
     303             :     STCP( 0x5b56bfbd, 0x59ac3cfd ),
     304             :     STCP( 0x5b1035cf, 0x59f3de12 ),
     305             :     STCP( 0x5ac973b5, 0x5a3b47ab ),
     306             :     STCP( 0x5a82799a, 0x5a82799a ),
     307             : };
     308             : 
     309             : const PWord16 SineTable320[] = { // Q15
     310             :     STCP( 0x7fffffff, 0x00000000 ), STCP( 0x7fff9aef, 0x00a0d951 ),
     311             :     STCP( 0x7ffe6bbf, 0x0141b1a5 ), STCP( 0x7ffc726f, 0x01e287fc ),
     312             :     STCP( 0x7ff9af04, 0x02835b5a ), STCP( 0x7ff62182, 0x03242abf ),
     313             :     STCP( 0x7ff1c9ef, 0x03c4f52f ), STCP( 0x7feca851, 0x0465b9aa ),
     314             :     STCP( 0x7fe6bcb0, 0x05067734 ), STCP( 0x7fe00716, 0x05a72ccf ),
     315             :     STCP( 0x7fd8878e, 0x0647d97c ), STCP( 0x7fd03e23, 0x06e87c3f ),
     316             :     STCP( 0x7fc72ae2, 0x07891418 ), STCP( 0x7fbd4dda, 0x0829a00c ),
     317             :     STCP( 0x7fb2a71b, 0x08ca1f1b ), STCP( 0x7fa736b4, 0x096a9049 ),
     318             :     STCP( 0x7f9afcb9, 0x0a0af299 ), STCP( 0x7f8df93c, 0x0aab450d ),
     319             :     STCP( 0x7f802c52, 0x0b4b86a8 ), STCP( 0x7f719611, 0x0bebb66c ),
     320             :     STCP( 0x7f62368f, 0x0c8bd35e ), STCP( 0x7f520de6, 0x0d2bdc80 ),
     321             :     STCP( 0x7f411c2f, 0x0dcbd0d5 ), STCP( 0x7f2f6183, 0x0e6baf61 ),
     322             :     STCP( 0x7f1cde01, 0x0f0b7727 ), STCP( 0x7f0991c4, 0x0fab272b ),
     323             :     STCP( 0x7ef57cea, 0x104abe71 ), STCP( 0x7ee09f95, 0x10ea3bfd ),
     324             :     STCP( 0x7ecaf9e5, 0x11899ed3 ), STCP( 0x7eb48bfb, 0x1228e5f8 ),
     325             :     STCP( 0x7e9d55fc, 0x12c8106f ), STCP( 0x7e85580c, 0x13671d3d ),
     326             :     STCP( 0x7e6c9251, 0x14060b68 ), STCP( 0x7e5304f2, 0x14a4d9f4 ),
     327             :     STCP( 0x7e38b017, 0x154387e6 ), STCP( 0x7e1d93ea, 0x15e21445 ),
     328             :     STCP( 0x7e01b096, 0x16807e15 ), STCP( 0x7de50646, 0x171ec45c ),
     329             :     STCP( 0x7dc79529, 0x17bce621 ), STCP( 0x7da95d6c, 0x185ae269 ),
     330             :     STCP( 0x7d8a5f40, 0x18f8b83c ), STCP( 0x7d6a9ad5, 0x199666a0 ),
     331             :     STCP( 0x7d4a105d, 0x1a33ec9c ), STCP( 0x7d28c00c, 0x1ad14938 ),
     332             :     STCP( 0x7d06aa16, 0x1b6e7b7a ), STCP( 0x7ce3ceb2, 0x1c0b826a ),
     333             :     STCP( 0x7cc02e15, 0x1ca85d12 ), STCP( 0x7c9bc87a, 0x1d450a78 ),
     334             :     STCP( 0x7c769e18, 0x1de189a6 ), STCP( 0x7c50af2b, 0x1e7dd9a4 ),
     335             :     STCP( 0x7c29fbee, 0x1f19f97b ), STCP( 0x7c02849f, 0x1fb5e836 ),
     336             :     STCP( 0x7bda497d, 0x2051a4dd ), STCP( 0x7bb14ac5, 0x20ed2e7b ),
     337             :     STCP( 0x7b8788ba, 0x2188841a ), STCP( 0x7b5d039e, 0x2223a4c5 ),
     338             :     STCP( 0x7b31bbb2, 0x22be8f87 ), STCP( 0x7b05b13d, 0x2359436c ),
     339             :     STCP( 0x7ad8e482, 0x23f3bf7e ), STCP( 0x7aab55ca, 0x248e02cb ),
     340             :     STCP( 0x7a7d055b, 0x25280c5e ), STCP( 0x7a4df380, 0x25c1db44 ),
     341             :     STCP( 0x7a1e2082, 0x265b6e8a ), STCP( 0x79ed8cad, 0x26f4c53e ),
     342             :     STCP( 0x79bc384d, 0x278dde6e ), STCP( 0x798a23b1, 0x2826b928 ),
     343             :     STCP( 0x79574f28, 0x28bf547b ), STCP( 0x7923bb01, 0x2957af74 ),
     344             :     STCP( 0x78ef678f, 0x29efc925 ), STCP( 0x78ba5524, 0x2a87a09d ),
     345             :     STCP( 0x78848414, 0x2b1f34eb ), STCP( 0x784df4b3, 0x2bb68522 ),
     346             :     STCP( 0x7816a759, 0x2c4d9050 ), STCP( 0x77de9c5b, 0x2ce45589 ),
     347             :     STCP( 0x77a5d413, 0x2d7ad3de ), STCP( 0x776c4edb, 0x2e110a62 ),
     348             :     STCP( 0x77320d0d, 0x2ea6f827 ), STCP( 0x76f70f05, 0x2f3c9c40 ),
     349             :     STCP( 0x76bb5521, 0x2fd1f5c1 ), STCP( 0x767edfbe, 0x306703bf ),
     350             :     STCP( 0x7641af3d, 0x30fbc54d ), STCP( 0x7603c3fd, 0x31903982 ),
     351             :     STCP( 0x75c51e61, 0x32245f72 ), STCP( 0x7585becb, 0x32b83634 ),
     352             :     STCP( 0x7545a5a0, 0x334bbcde ), STCP( 0x7504d345, 0x33def287 ),
     353             :     STCP( 0x74c34820, 0x3471d647 ), STCP( 0x74810499, 0x35046736 ),
     354             :     STCP( 0x743e0918, 0x3596a46c ), STCP( 0x73fa5607, 0x36288d03 ),
     355             :     STCP( 0x73b5ebd1, 0x36ba2014 ), STCP( 0x7370cae2, 0x374b5cb9 ),
     356             :     STCP( 0x732af3a7, 0x37dc420c ), STCP( 0x72e4668f, 0x386ccf2a ),
     357             :     STCP( 0x729d2409, 0x38fd032d ), STCP( 0x72552c85, 0x398cdd32 ),
     358             :     STCP( 0x720c8075, 0x3a1c5c57 ), STCP( 0x71c3204c, 0x3aab7fb7 ),
     359             :     STCP( 0x71790c7e, 0x3b3a4672 ), STCP( 0x712e457f, 0x3bc8afa5 ),
     360             :     STCP( 0x70e2cbc6, 0x3c56ba70 ), STCP( 0x70969fca, 0x3ce465f3 ),
     361             :     STCP( 0x7049c203, 0x3d71b14d ), STCP( 0x6ffc32eb, 0x3dfe9ba1 ),
     362             :     STCP( 0x6fadf2fc, 0x3e8b240e ), STCP( 0x6f5f02b2, 0x3f1749b8 ),
     363             :     STCP( 0x6f0f6289, 0x3fa30bc1 ), STCP( 0x6ebf12ff, 0x402e694c ),
     364             :     STCP( 0x6e6e1492, 0x40b9617d ), STCP( 0x6e1c67c4, 0x4143f379 ),
     365             :     STCP( 0x6dca0d14, 0x41ce1e65 ), STCP( 0x6d770506, 0x4257e166 ),
     366             :     STCP( 0x6d23501b, 0x42e13ba4 ), STCP( 0x6cceeed8, 0x436a2c45 ),
     367             :     STCP( 0x6c79e1c2, 0x43f2b271 ), STCP( 0x6c242960, 0x447acd50 ),
     368             :     STCP( 0x6bcdc639, 0x45027c0c ), STCP( 0x6b76b8d6, 0x4589bdcf ),
     369             :     STCP( 0x6b1f01c0, 0x461091c2 ), STCP( 0x6ac6a180, 0x4696f710 ),
     370             :     STCP( 0x6a6d98a4, 0x471cece7 ), STCP( 0x6a13e7b8, 0x47a27271 ),
     371             :     STCP( 0x69b98f48, 0x482786dc ), STCP( 0x695e8fe5, 0x48ac2957 ),
     372             :     STCP( 0x6902ea1d, 0x4930590f ), STCP( 0x68a69e81, 0x49b41533 ),
     373             :     STCP( 0x6849ada3, 0x4a375cf5 ), STCP( 0x67ec1817, 0x4aba2f84 ),
     374             :     STCP( 0x678dde6e, 0x4b3c8c12 ), STCP( 0x672f013f, 0x4bbe71d1 ),
     375             :     STCP( 0x66cf8120, 0x4c3fdff4 ), STCP( 0x666f5ea6, 0x4cc0d5ae ),
     376             :     STCP( 0x660e9a6a, 0x4d415234 ), STCP( 0x65ad3505, 0x4dc154bb ),
     377             :     STCP( 0x654b2f10, 0x4e40dc79 ), STCP( 0x64e88926, 0x4ebfe8a5 ),
     378             :     STCP( 0x648543e4, 0x4f3e7875 ), STCP( 0x64215fe5, 0x4fbc8b22 ),
     379             :     STCP( 0x63bcddc7, 0x503a1fe5 ), STCP( 0x6357be2a, 0x50b735f8 ),
     380             :     STCP( 0x62f201ac, 0x5133cc94 ), STCP( 0x628ba8ef, 0x51afe2f6 ),
     381             :     STCP( 0x6224b495, 0x522b7859 ), STCP( 0x61bd253f, 0x52a68bfb ),
     382             :     STCP( 0x6154fb91, 0x53211d18 ), STCP( 0x60ec3830, 0x539b2af0 ),
     383             :     STCP( 0x6082dbc1, 0x5414b4c1 ), STCP( 0x6018e6eb, 0x548db9cb ),
     384             :     STCP( 0x5fae5a55, 0x55063951 ), STCP( 0x5f4336a7, 0x557e3292 ),
     385             :     STCP( 0x5ed77c8a, 0x55f5a4d2 ), STCP( 0x5e6b2ca8, 0x566c8f55 ),
     386             :     STCP( 0x5dfe47ad, 0x56e2f15d ), STCP( 0x5d90ce45, 0x5758ca31 ),
     387             :     STCP( 0x5d22c11c, 0x57ce1917 ), STCP( 0x5cb420e0, 0x5842dd54 ),
     388             :     STCP( 0x5c44ee40, 0x58b71632 ), STCP( 0x5bd529eb, 0x592ac2f7 ),
     389             :     STCP( 0x5b64d492, 0x599de2ee ), STCP( 0x5af3eee6, 0x5a107561 ),
     390             :     STCP( 0x5a82799a, 0x5a82799a )
     391             : };
     392             : 
     393             : #define WTC( x ) WORD322WORD16( x )
     394             : 
     395             : #define WTCP( a, b )           \
     396             :     {                          \
     397             :         {                      \
     398             :             WTC( a ), WTC( b ) \
     399             :         }                      \
     400             :     }
     401             : 
     402             : const PWord16 SineWindow10[5] = {
     403             :     // Q15
     404             :     WTCP( 0x7f9afcb9, 0x0a0af299 ),
     405             :     WTCP( 0x7c769e18, 0x1de189a6 ),
     406             :     WTCP( 0x7641af3d, 0x30fbc54d ),
     407             :     WTCP( 0x6d23501b, 0x42e13ba4 ),
     408             :     WTCP( 0x6154fb91, 0x53211d18 ),
     409             : };
     410             : 
     411             : const PWord16 SineWindow16[8] = {
     412             :     // Q15
     413             :     WTCP( 0x7fd8878e, 0x0647d97c ),
     414             :     WTCP( 0x7e9d55fc, 0x12c8106f ),
     415             :     WTCP( 0x7c29fbee, 0x1f19f97b ),
     416             :     WTCP( 0x78848414, 0x2b1f34eb ),
     417             :     WTCP( 0x73b5ebd1, 0x36ba2014 ),
     418             :     WTCP( 0x6dca0d14, 0x41ce1e65 ),
     419             :     WTCP( 0x66cf8120, 0x4c3fdff4 ),
     420             :     WTCP( 0x5ed77c8a, 0x55f5a4d2 ),
     421             : };
     422             : 
     423             : const PWord16 SineWindow20[10] = {
     424             :     // Q15
     425             :     WTCP( 0x7fe6bcb0, 0x05067734 ),
     426             :     WTCP( 0x7f1cde01, 0x0f0b7727 ),
     427             :     WTCP( 0x7d8a5f40, 0x18f8b83c ),
     428             :     WTCP( 0x7b31bbb2, 0x22be8f87 ),
     429             :     WTCP( 0x7816a759, 0x2c4d9050 ),
     430             :     WTCP( 0x743e0918, 0x3596a46c ),
     431             :     WTCP( 0x6fadf2fc, 0x3e8b240e ),
     432             :     WTCP( 0x6a6d98a4, 0x471cece7 ),
     433             :     WTCP( 0x648543e4, 0x4f3e7875 ),
     434             :     WTCP( 0x5dfe47ad, 0x56e2f15d ),
     435             : };
     436             : 
     437             : const PWord16 SineWindow30[15] = {
     438             :     // Q15
     439             :     WTCP( 0x7ff4c56f, 0x0359c428 ),
     440             :     WTCP( 0x7f9afcb9, 0x0a0af299 ),
     441             :     WTCP( 0x7ee7aa4c, 0x10b5150f ),
     442             :     WTCP( 0x7ddb4bfc, 0x17537e63 ),
     443             :     WTCP( 0x7c769e18, 0x1de189a6 ),
     444             :     WTCP( 0x7aba9ae6, 0x245a9d65 ),
     445             :     WTCP( 0x78a879f4, 0x2aba2ee4 ),
     446             :     WTCP( 0x7641af3d, 0x30fbc54d ),
     447             :     WTCP( 0x7387ea23, 0x371afcd5 ),
     448             :     WTCP( 0x707d1443, 0x3d1389cb ),
     449             :     WTCP( 0x6d23501b, 0x42e13ba4 ),
     450             :     WTCP( 0x697cf78a, 0x487fffe4 ),
     451             :     WTCP( 0x658c9a2d, 0x4debe4fe ),
     452             :     WTCP( 0x6154fb91, 0x53211d18 ),
     453             :     WTCP( 0x5cd91140, 0x581c00b3 ),
     454             : };
     455             : 
     456             : const PWord16 SineWindow32[16] = { // Q15
     457             :     WTCP( 0x7ff62182, 0x03242abf ), WTCP( 0x7fa736b4, 0x096a9049 ), WTCP( 0x7f0991c4, 0x0fab272b ), WTCP( 0x7e1d93ea, 0x15e21445 ),
     458             :     WTCP( 0x7ce3ceb2, 0x1c0b826a ), WTCP( 0x7b5d039e, 0x2223a4c5 ), WTCP( 0x798a23b1, 0x2826b928 ), WTCP( 0x776c4edb, 0x2e110a62 ),
     459             :     WTCP( 0x7504d345, 0x33def287 ), WTCP( 0x72552c85, 0x398cdd32 ), WTCP( 0x6f5f02b2, 0x3f1749b8 ), WTCP( 0x6c242960, 0x447acd50 ),
     460             :     WTCP( 0x68a69e81, 0x49b41533 ), WTCP( 0x64e88926, 0x4ebfe8a5 ), WTCP( 0x60ec3830, 0x539b2af0 ), WTCP( 0x5cb420e0, 0x5842dd54 )
     461             : };
     462             : 
     463             : const PWord16 SineWindow40[20] = {
     464             :     // Q15
     465             :     WTCP( 0x7ff9af04, 0x02835b5a ),
     466             :     WTCP( 0x7fc72ae2, 0x07891418 ),
     467             :     WTCP( 0x7f62368f, 0x0c8bd35e ),
     468             :     WTCP( 0x7ecaf9e5, 0x11899ed3 ),
     469             :     WTCP( 0x7e01b096, 0x16807e15 ),
     470             :     WTCP( 0x7d06aa16, 0x1b6e7b7a ),
     471             :     WTCP( 0x7bda497d, 0x2051a4dd ),
     472             :     WTCP( 0x7a7d055b, 0x25280c5e ),
     473             :     WTCP( 0x78ef678f, 0x29efc925 ),
     474             :     WTCP( 0x77320d0d, 0x2ea6f827 ),
     475             :     WTCP( 0x7545a5a0, 0x334bbcde ),
     476             :     WTCP( 0x732af3a7, 0x37dc420c ),
     477             :     WTCP( 0x70e2cbc6, 0x3c56ba70 ),
     478             :     WTCP( 0x6e6e1492, 0x40b9617d ),
     479             :     WTCP( 0x6bcdc639, 0x45027c0c ),
     480             :     WTCP( 0x6902ea1d, 0x4930590f ),
     481             :     WTCP( 0x660e9a6a, 0x4d415234 ),
     482             :     WTCP( 0x62f201ac, 0x5133cc94 ),
     483             :     WTCP( 0x5fae5a55, 0x55063951 ),
     484             :     WTCP( 0x5c44ee40, 0x58b71632 ),
     485             : };
     486             : 
     487             : const PWord16 SineWindow48[24] = { // Q15
     488             :     WTCP( 0x7ffb9d15, 0x02182427 ), WTCP( 0x7fd8878e, 0x0647d97c ), WTCP( 0x7f92661d, 0x0a75d60e ), WTCP( 0x7f294bfd, 0x0ea0f48c ),
     489             :     WTCP( 0x7e9d55fc, 0x12c8106f ), WTCP( 0x7deeaa7a, 0x16ea0646 ), WTCP( 0x7d1d7958, 0x1b05b40f ), WTCP( 0x7c29fbee, 0x1f19f97b ),
     490             :     WTCP( 0x7b1474fd, 0x2325b847 ), WTCP( 0x79dd3098, 0x2727d486 ), WTCP( 0x78848414, 0x2b1f34eb ), WTCP( 0x770acdec, 0x2f0ac320 ),
     491             :     WTCP( 0x757075ac, 0x32e96c09 ), WTCP( 0x73b5ebd1, 0x36ba2014 ), WTCP( 0x71dba9ab, 0x3a7bd382 ), WTCP( 0x6fe2313c, 0x3e2d7eb1 ),
     492             :     WTCP( 0x6dca0d14, 0x41ce1e65 ), WTCP( 0x6b93d02e, 0x455cb40c ), WTCP( 0x694015c3, 0x48d84609 ), WTCP( 0x66cf8120, 0x4c3fdff4 ),
     493             :     WTCP( 0x6442bd7e, 0x4f9292dc ), WTCP( 0x619a7dce, 0x52cf758f ), WTCP( 0x5ed77c8a, 0x55f5a4d2 ), WTCP( 0x5bfa7b82, 0x590443a7 )
     494             : };
     495             : 
     496             : const PWord16 SineWindow60[60] = {
     497             :     // Q15
     498             :     WTCP( 0x7ffd3154, 0x01aceb7c ),
     499             :     WTCP( 0x7fe6bcb0, 0x05067734 ),
     500             :     WTCP( 0x7fb9d759, 0x085f2137 ),
     501             :     WTCP( 0x7f76892f, 0x0bb65336 ),
     502             :     WTCP( 0x7f1cde01, 0x0f0b7727 ),
     503             :     WTCP( 0x7eace58a, 0x125df75b ),
     504             :     WTCP( 0x7e26b371, 0x15ad3e9a ),
     505             :     WTCP( 0x7d8a5f40, 0x18f8b83c ),
     506             :     WTCP( 0x7cd80464, 0x1c3fd045 ),
     507             :     WTCP( 0x7c0fc22a, 0x1f81f37c ),
     508             :     WTCP( 0x7b31bbb2, 0x22be8f87 ),
     509             :     WTCP( 0x7a3e17f2, 0x25f51307 ),
     510             :     WTCP( 0x793501a9, 0x2924edac ),
     511             :     WTCP( 0x7816a759, 0x2c4d9050 ),
     512             :     WTCP( 0x76e33b3f, 0x2f6e6d16 ),
     513             :     WTCP( 0x759af34c, 0x3286f779 ),
     514             :     WTCP( 0x743e0918, 0x3596a46c ),
     515             :     WTCP( 0x72ccb9db, 0x389cea72 ),
     516             :     WTCP( 0x71474660, 0x3b9941b1 ),
     517             :     WTCP( 0x6fadf2fc, 0x3e8b240e ),
     518             :     WTCP( 0x6e010780, 0x41720d46 ),
     519             :     WTCP( 0x6c40cf2c, 0x444d7aff ),
     520             :     WTCP( 0x6a6d98a4, 0x471cece7 ),
     521             :     WTCP( 0x6887b5e2, 0x49dfe4c2 ),
     522             :     WTCP( 0x668f7c25, 0x4c95e688 ),
     523             :     WTCP( 0x648543e4, 0x4f3e7875 ),
     524             :     WTCP( 0x626968be, 0x51d92321 ),
     525             :     WTCP( 0x603c496c, 0x54657194 ),
     526             :     WTCP( 0x5dfe47ad, 0x56e2f15d ),
     527             :     WTCP( 0x5bafc837, 0x595132a2 ),
     528             : };
     529             : 
     530             : const PWord16 SineWindow64[32] = {
     531             :     // Q15
     532             :     WTCP( 0x7ffd885a, 0x01921d20 ),
     533             :     WTCP( 0x7fe9cbc0, 0x04b6195d ),
     534             :     WTCP( 0x7fc25596, 0x07d95b9e ),
     535             :     WTCP( 0x7f872bf3, 0x0afb6805 ),
     536             :     WTCP( 0x7f3857f6, 0x0e1bc2e4 ),
     537             :     WTCP( 0x7ed5e5c6, 0x1139f0cf ),
     538             :     WTCP( 0x7e5fe493, 0x145576b1 ),
     539             :     WTCP( 0x7dd6668f, 0x176dd9de ),
     540             :     WTCP( 0x7d3980ec, 0x1a82a026 ),
     541             :     WTCP( 0x7c894bde, 0x1d934fe5 ),
     542             :     WTCP( 0x7bc5e290, 0x209f701c ),
     543             :     WTCP( 0x7aef6323, 0x23a6887f ),
     544             :     WTCP( 0x7a05eead, 0x26a82186 ),
     545             :     WTCP( 0x7909a92d, 0x29a3c485 ),
     546             :     WTCP( 0x77fab989, 0x2c98fbba ),
     547             :     WTCP( 0x76d94989, 0x2f875262 ),
     548             :     WTCP( 0x75a585cf, 0x326e54c7 ),
     549             :     WTCP( 0x745f9dd1, 0x354d9057 ),
     550             :     WTCP( 0x7307c3d0, 0x382493b0 ),
     551             :     WTCP( 0x719e2cd2, 0x3af2eeb7 ),
     552             :     WTCP( 0x7023109a, 0x3db832a6 ),
     553             :     WTCP( 0x6e96a99d, 0x4073f21d ),
     554             :     WTCP( 0x6cf934fc, 0x4325c135 ),
     555             :     WTCP( 0x6b4af279, 0x45cd358f ),
     556             :     WTCP( 0x698c246c, 0x4869e665 ),
     557             :     WTCP( 0x67bd0fbd, 0x4afb6c98 ),
     558             :     WTCP( 0x65ddfbd3, 0x4d8162c4 ),
     559             :     WTCP( 0x63ef3290, 0x4ffb654d ),
     560             :     WTCP( 0x61f1003f, 0x5269126e ),
     561             :     WTCP( 0x5fe3b38d, 0x54ca0a4b ),
     562             :     WTCP( 0x5dc79d7c, 0x571deefa ),
     563             :     WTCP( 0x5b9d1154, 0x59646498 ),
     564             : };
     565             : 
     566             : const PWord16 SineWindow80[40] = {
     567             :     // Q15
     568             :     WTCP( 0x7ffe6bbf, 0x0141b1a5 ),
     569             :     WTCP( 0x7ff1c9ef, 0x03c4f52f ),
     570             :     WTCP( 0x7fd8878e, 0x0647d97c ),
     571             :     WTCP( 0x7fb2a71b, 0x08ca1f1b ),
     572             :     WTCP( 0x7f802c52, 0x0b4b86a8 ),
     573             :     WTCP( 0x7f411c2f, 0x0dcbd0d5 ),
     574             :     WTCP( 0x7ef57cea, 0x104abe71 ),
     575             :     WTCP( 0x7e9d55fc, 0x12c8106f ),
     576             :     WTCP( 0x7e38b017, 0x154387e6 ),
     577             :     WTCP( 0x7dc79529, 0x17bce621 ),
     578             :     WTCP( 0x7d4a105d, 0x1a33ec9c ),
     579             :     WTCP( 0x7cc02e15, 0x1ca85d12 ),
     580             :     WTCP( 0x7c29fbee, 0x1f19f97b ),
     581             :     WTCP( 0x7b8788ba, 0x2188841a ),
     582             :     WTCP( 0x7ad8e482, 0x23f3bf7e ),
     583             :     WTCP( 0x7a1e2082, 0x265b6e8a ),
     584             :     WTCP( 0x79574f28, 0x28bf547b ),
     585             :     WTCP( 0x78848414, 0x2b1f34eb ),
     586             :     WTCP( 0x77a5d413, 0x2d7ad3de ),
     587             :     WTCP( 0x76bb5521, 0x2fd1f5c1 ),
     588             :     WTCP( 0x75c51e61, 0x32245f72 ),
     589             :     WTCP( 0x74c34820, 0x3471d647 ),
     590             :     WTCP( 0x73b5ebd1, 0x36ba2014 ),
     591             :     WTCP( 0x729d2409, 0x38fd032d ),
     592             :     WTCP( 0x71790c7e, 0x3b3a4672 ),
     593             :     WTCP( 0x7049c203, 0x3d71b14d ),
     594             :     WTCP( 0x6f0f6289, 0x3fa30bc1 ),
     595             :     WTCP( 0x6dca0d14, 0x41ce1e65 ),
     596             :     WTCP( 0x6c79e1c2, 0x43f2b271 ),
     597             :     WTCP( 0x6b1f01c0, 0x461091c2 ),
     598             :     WTCP( 0x69b98f48, 0x482786dc ),
     599             :     WTCP( 0x6849ada3, 0x4a375cf5 ),
     600             :     WTCP( 0x66cf8120, 0x4c3fdff4 ),
     601             :     WTCP( 0x654b2f10, 0x4e40dc79 ),
     602             :     WTCP( 0x63bcddc7, 0x503a1fe5 ),
     603             :     WTCP( 0x6224b495, 0x522b7859 ),
     604             :     WTCP( 0x6082dbc1, 0x5414b4c1 ),
     605             :     WTCP( 0x5ed77c8a, 0x55f5a4d2 ),
     606             :     WTCP( 0x5d22c11c, 0x57ce1917 ),
     607             :     WTCP( 0x5b64d492, 0x599de2ee ),
     608             : };
     609             : 
     610             : const PWord16 SineWindow70[35] = { // Q15
     611             :     WTCP( 0x7ffdeffe, 0x016fa5fd ), WTCP( 0x7fed7058, 0x044ec292 ), WTCP( 0x7fcc732b, 0x072d5101 ), WTCP( 0x7f9afcb9, 0x0a0af299 ),
     612             :     WTCP( 0x7f591361, 0x0ce748ca ), WTCP( 0x7f06bfa3, 0x0fc1f52d ), WTCP( 0x7ea40c1b, 0x129a9991 ), WTCP( 0x7e310583, 0x1570d80b ),
     613             :     WTCP( 0x7dadbaaf, 0x184452fd ), WTCP( 0x7d1a3c8a, 0x1b14ad24 ), WTCP( 0x7c769e18, 0x1de189a6 ), WTCP( 0x7bc2f470, 0x20aa8c19 ),
     614             :     WTCP( 0x7aff56bc, 0x236f5896 ), WTCP( 0x7a2bde32, 0x262f93be ), WTCP( 0x7948a614, 0x28eae2cb ), WTCP( 0x7855cbae, 0x2ba0eb97 ),
     615             :     WTCP( 0x77536e4c, 0x2e5154ac ), WTCP( 0x7641af3d, 0x30fbc54d ), WTCP( 0x7520b1ca, 0x339fe582 ), WTCP( 0x73f09b33, 0x363d5e23 ),
     616             :     WTCP( 0x72b192ac, 0x38d3d8e3 ), WTCP( 0x7163c154, 0x3b63005e ), WTCP( 0x70075233, 0x3dea8020 ), WTCP( 0x6e9c7233, 0x406a04b2 ),
     617             :     WTCP( 0x6d23501b, 0x42e13ba4 ), WTCP( 0x6b9c1c87, 0x454fd398 ), WTCP( 0x6a0709e6, 0x47b57c4e ), WTCP( 0x68644c6e, 0x4a11e6aa ),
     618             :     WTCP( 0x66b41a1a, 0x4c64c4c4 ), WTCP( 0x64f6aa9f, 0x4eadc9ee ), WTCP( 0x632c3769, 0x50ecaabd ), WTCP( 0x6154fb91, 0x53211d18 ),
     619             :     WTCP( 0x5f7133d4, 0x554ad83c ), WTCP( 0x5d811e90, 0x576994c8 ), WTCP( 0x5b84fbb6, 0x597d0cc7 )
     620             : };
     621             : 
     622             : const PWord16 SineWindow96[48] = { // Q15
     623             :     WTCP( 0x7ffee744, 0x010c1460 ), WTCP( 0x7ff62182, 0x03242abf ), WTCP( 0x7fe49698, 0x053c0a01 ), WTCP( 0x7fca47b9, 0x07538d6b ),
     624             :     WTCP( 0x7fa736b4, 0x096a9049 ), WTCP( 0x7f7b65ef, 0x0b80edf1 ), WTCP( 0x7f46d86c, 0x0d9681c2 ), WTCP( 0x7f0991c4, 0x0fab272b ),
     625             :     WTCP( 0x7ec3962a, 0x11beb9aa ), WTCP( 0x7e74ea6a, 0x13d114d0 ), WTCP( 0x7e1d93ea, 0x15e21445 ), WTCP( 0x7dbd98a4, 0x17f193c5 ),
     626             :     WTCP( 0x7d54ff2e, 0x19ff6f2a ), WTCP( 0x7ce3ceb2, 0x1c0b826a ), WTCP( 0x7c6a0ef2, 0x1e15a99a ), WTCP( 0x7be7c847, 0x201dc0ef ),
     627             :     WTCP( 0x7b5d039e, 0x2223a4c5 ), WTCP( 0x7ac9ca7a, 0x2427319d ), WTCP( 0x7a2e26f2, 0x26284422 ), WTCP( 0x798a23b1, 0x2826b928 ),
     628             :     WTCP( 0x78ddcbf5, 0x2a226db5 ), WTCP( 0x78292b8d, 0x2c1b3efb ), WTCP( 0x776c4edb, 0x2e110a62 ), WTCP( 0x76a742d1, 0x3003ad85 ),
     629             :     WTCP( 0x75da14ef, 0x31f30638 ), WTCP( 0x7504d345, 0x33def287 ), WTCP( 0x74278c72, 0x35c750bc ), WTCP( 0x73424fa0, 0x37abff5d ),
     630             :     WTCP( 0x72552c85, 0x398cdd32 ), WTCP( 0x71603361, 0x3b69c947 ), WTCP( 0x706374ff, 0x3d42a2ec ), WTCP( 0x6f5f02b2, 0x3f1749b8 ),
     631             :     WTCP( 0x6e52ee52, 0x40e79d8c ), WTCP( 0x6d3f4a40, 0x42b37e96 ), WTCP( 0x6c242960, 0x447acd50 ), WTCP( 0x6b019f1a, 0x463d6a87 ),
     632             :     WTCP( 0x69d7bf57, 0x47fb3757 ), WTCP( 0x68a69e81, 0x49b41533 ), WTCP( 0x676e5183, 0x4b67e5e4 ), WTCP( 0x662eedc3, 0x4d168b8b ),
     633             :     WTCP( 0x64e88926, 0x4ebfe8a5 ), WTCP( 0x639b3a0b, 0x5063e008 ), WTCP( 0x62471749, 0x520254ef ), WTCP( 0x60ec3830, 0x539b2af0 ),
     634             :     WTCP( 0x5f8ab487, 0x552e4605 ), WTCP( 0x5e22a487, 0x56bb8a90 ), WTCP( 0x5cb420e0, 0x5842dd54 ), WTCP( 0x5b3f42ae, 0x59c42381 )
     635             : };
     636             : 
     637             : const PWord16 SineWindow112[56] = { // Q15
     638             :     WTCP( 0x7fff31bf, 0x00e5c87e ), WTCP( 0x7ff8bfc7, 0x02b14de9 ), WTCP( 0x7febdc2a, 0x047cb09e ), WTCP( 0x7fd8878e, 0x0647d97c ),
     639             :     WTCP( 0x7fbec2ec, 0x0812b164 ), WTCP( 0x7f9e8f91, 0x09dd213a ), WTCP( 0x7f77ef1c, 0x0ba711ea ), WTCP( 0x7f4ae37e, 0x0d706c64 ),
     640             :     WTCP( 0x7f176efc, 0x0f3919a0 ), WTCP( 0x7edd942d, 0x110102a0 ), WTCP( 0x7e9d55fc, 0x12c8106f ), WTCP( 0x7e56b7a4, 0x148e2c22 ),
     641             :     WTCP( 0x7e09bcb4, 0x16533edc ), WTCP( 0x7db6690c, 0x181731cd ), WTCP( 0x7d5cc0df, 0x19d9ee32 ), WTCP( 0x7cfcc8af, 0x1b9b5d5a ),
     642             :     WTCP( 0x7c968552, 0x1d5b68a2 ), WTCP( 0x7c29fbee, 0x1f19f97b ), WTCP( 0x7bb731fb, 0x20d6f969 ), WTCP( 0x7b3e2d40, 0x22925203 ),
     643             :     WTCP( 0x7abef3d5, 0x244becf6 ), WTCP( 0x7a398c22, 0x2603b406 ), WTCP( 0x79adfcdf, 0x27b9910e ), WTCP( 0x791c4d13, 0x296d6e00 ),
     644             :     WTCP( 0x78848414, 0x2b1f34eb ), WTCP( 0x77e6a986, 0x2ccecff7 ), WTCP( 0x7742c55c, 0x2e7c2969 ), WTCP( 0x7698dfd8, 0x30272ba0 ),
     645             :     WTCP( 0x75e90186, 0x31cfc11e ), WTCP( 0x75333343, 0x3375d481 ), WTCP( 0x74777e35, 0x35195088 ), WTCP( 0x73b5ebd1, 0x36ba2014 ),
     646             :     WTCP( 0x72ee85d5, 0x38582e27 ), WTCP( 0x7221564d, 0x39f365e9 ), WTCP( 0x714e678c, 0x3b8bb2a3 ), WTCP( 0x7075c433, 0x3d20ffc8 ),
     647             :     WTCP( 0x6f977729, 0x3eb338ef ), WTCP( 0x6eb38ba1, 0x404249d5 ), WTCP( 0x6dca0d14, 0x41ce1e65 ), WTCP( 0x6cdb0745, 0x4356a2ad ),
     648             :     WTCP( 0x6be6863c, 0x44dbc2ec ), WTCP( 0x6aec9649, 0x465d6b89 ), WTCP( 0x69ed4403, 0x47db8918 ), WTCP( 0x68e89c43, 0x4956085b ),
     649             :     WTCP( 0x67deac2c, 0x4accd644 ), WTCP( 0x66cf8120, 0x4c3fdff4 ), WTCP( 0x65bb28c7, 0x4daf12ba ), WTCP( 0x64a1b10b, 0x4f1a5c1a ),
     650             :     WTCP( 0x6383281a, 0x5081a9c9 ), WTCP( 0x625f9c5f, 0x51e4e9ae ), WTCP( 0x61371c8b, 0x534409e8 ), WTCP( 0x6009b78a, 0x549ef8c6 ),
     651             :     WTCP( 0x5ed77c8a, 0x55f5a4d2 ), WTCP( 0x5da07af6, 0x5747fcca ), WTCP( 0x5c64c278, 0x5895efa4 ), WTCP( 0x5b2462f5, 0x59df6c8f )
     652             : };
     653             : 
     654             : const PWord16 SineWindow120[60] = {
     655             :     // Q15
     656             :     WTCP( 0x7fff4c54, 0x00d676eb ),
     657             :     WTCP( 0x7ff9af04, 0x02835b5a ),
     658             :     WTCP( 0x7fee74a2, 0x0430238f ),
     659             :     WTCP( 0x7fdd9dad, 0x05dcbcbe ),
     660             :     WTCP( 0x7fc72ae2, 0x07891418 ),
     661             :     WTCP( 0x7fab1d3d, 0x093516d4 ),
     662             :     WTCP( 0x7f8975f9, 0x0ae0b22c ),
     663             :     WTCP( 0x7f62368f, 0x0c8bd35e ),
     664             :     WTCP( 0x7f3560b9, 0x0e3667ad ),
     665             :     WTCP( 0x7f02f66f, 0x0fe05c64 ),
     666             :     WTCP( 0x7ecaf9e5, 0x11899ed3 ),
     667             :     WTCP( 0x7e8d6d91, 0x13321c53 ),
     668             :     WTCP( 0x7e4a5426, 0x14d9c245 ),
     669             :     WTCP( 0x7e01b096, 0x16807e15 ),
     670             :     WTCP( 0x7db3860f, 0x18263d36 ),
     671             :     WTCP( 0x7d5fd801, 0x19caed29 ),
     672             :     WTCP( 0x7d06aa16, 0x1b6e7b7a ),
     673             :     WTCP( 0x7ca80038, 0x1d10d5c2 ),
     674             :     WTCP( 0x7c43de8e, 0x1eb1e9a7 ),
     675             :     WTCP( 0x7bda497d, 0x2051a4dd ),
     676             :     WTCP( 0x7b6b45a5, 0x21eff528 ),
     677             :     WTCP( 0x7af6d7e6, 0x238cc85d ),
     678             :     WTCP( 0x7a7d055b, 0x25280c5e ),
     679             :     WTCP( 0x79fdd35c, 0x26c1af22 ),
     680             :     WTCP( 0x7979477d, 0x28599eb0 ),
     681             :     WTCP( 0x78ef678f, 0x29efc925 ),
     682             :     WTCP( 0x7860399e, 0x2b841caf ),
     683             :     WTCP( 0x77cbc3f2, 0x2d168792 ),
     684             :     WTCP( 0x77320d0d, 0x2ea6f827 ),
     685             :     WTCP( 0x76931bae, 0x30355cdd ),
     686             :     WTCP( 0x75eef6ce, 0x31c1a43b ),
     687             :     WTCP( 0x7545a5a0, 0x334bbcde ),
     688             :     WTCP( 0x74972f92, 0x34d3957e ),
     689             :     WTCP( 0x73e39c49, 0x36591cea ),
     690             :     WTCP( 0x732af3a7, 0x37dc420c ),
     691             :     WTCP( 0x726d3dc6, 0x395cf3e9 ),
     692             :     WTCP( 0x71aa82f7, 0x3adb21a1 ),
     693             :     WTCP( 0x70e2cbc6, 0x3c56ba70 ),
     694             :     WTCP( 0x701620f5, 0x3dcfadb0 ),
     695             :     WTCP( 0x6f448b7e, 0x3f45ead8 ),
     696             :     WTCP( 0x6e6e1492, 0x40b9617d ),
     697             :     WTCP( 0x6d92c59b, 0x422a0154 ),
     698             :     WTCP( 0x6cb2a837, 0x4397ba32 ),
     699             :     WTCP( 0x6bcdc639, 0x45027c0c ),
     700             :     WTCP( 0x6ae429ae, 0x466a36f9 ),
     701             :     WTCP( 0x69f5dcd3, 0x47cedb31 ),
     702             :     WTCP( 0x6902ea1d, 0x4930590f ),
     703             :     WTCP( 0x680b5c33, 0x4a8ea111 ),
     704             :     WTCP( 0x670f3df3, 0x4be9a3db ),
     705             :     WTCP( 0x660e9a6a, 0x4d415234 ),
     706             :     WTCP( 0x65097cdb, 0x4e959d08 ),
     707             :     WTCP( 0x63fff0ba, 0x4fe6756a ),
     708             :     WTCP( 0x62f201ac, 0x5133cc94 ),
     709             :     WTCP( 0x61dfbb8a, 0x527d93e6 ),
     710             :     WTCP( 0x60c92a5a, 0x53c3bcea ),
     711             :     WTCP( 0x5fae5a55, 0x55063951 ),
     712             :     WTCP( 0x5e8f57e2, 0x5644faf4 ),
     713             :     WTCP( 0x5d6c2f99, 0x577ff3da ),
     714             :     WTCP( 0x5c44ee40, 0x58b71632 ),
     715             :     WTCP( 0x5b19a0c8, 0x59ea5454 ),
     716             : };
     717             : 
     718             : const PWord16 SineWindow128[64] = {
     719             :     // Q15
     720             :     WTCP( 0x7fff6216, 0x00c90f88 ),
     721             :     WTCP( 0x7ffa72d1, 0x025b26d7 ),
     722             :     WTCP( 0x7ff09478, 0x03ed26e6 ),
     723             :     WTCP( 0x7fe1c76b, 0x057f0035 ),
     724             :     WTCP( 0x7fce0c3e, 0x0710a345 ),
     725             :     WTCP( 0x7fb563b3, 0x08a2009a ),
     726             :     WTCP( 0x7f97cebd, 0x0a3308bd ),
     727             :     WTCP( 0x7f754e80, 0x0bc3ac35 ),
     728             :     WTCP( 0x7f4de451, 0x0d53db92 ),
     729             :     WTCP( 0x7f2191b4, 0x0ee38766 ),
     730             :     WTCP( 0x7ef05860, 0x1072a048 ),
     731             :     WTCP( 0x7eba3a39, 0x120116d5 ),
     732             :     WTCP( 0x7e7f3957, 0x138edbb1 ),
     733             :     WTCP( 0x7e3f57ff, 0x151bdf86 ),
     734             :     WTCP( 0x7dfa98a8, 0x16a81305 ),
     735             :     WTCP( 0x7db0fdf8, 0x183366e9 ),
     736             :     WTCP( 0x7d628ac6, 0x19bdcbf3 ),
     737             :     WTCP( 0x7d0f4218, 0x1b4732ef ),
     738             :     WTCP( 0x7cb72724, 0x1ccf8cb3 ),
     739             :     WTCP( 0x7c5a3d50, 0x1e56ca1e ),
     740             :     WTCP( 0x7bf88830, 0x1fdcdc1b ),
     741             :     WTCP( 0x7b920b89, 0x2161b3a0 ),
     742             :     WTCP( 0x7b26cb4f, 0x22e541af ),
     743             :     WTCP( 0x7ab6cba4, 0x24677758 ),
     744             :     WTCP( 0x7a4210d8, 0x25e845b6 ),
     745             :     WTCP( 0x79c89f6e, 0x27679df4 ),
     746             :     WTCP( 0x794a7c12, 0x28e5714b ),
     747             :     WTCP( 0x78c7aba2, 0x2a61b101 ),
     748             :     WTCP( 0x78403329, 0x2bdc4e6f ),
     749             :     WTCP( 0x77b417df, 0x2d553afc ),
     750             :     WTCP( 0x77235f2d, 0x2ecc681e ),
     751             :     WTCP( 0x768e0ea6, 0x3041c761 ),
     752             :     WTCP( 0x75f42c0b, 0x31b54a5e ),
     753             :     WTCP( 0x7555bd4c, 0x3326e2c3 ),
     754             :     WTCP( 0x74b2c884, 0x34968250 ),
     755             :     WTCP( 0x740b53fb, 0x36041ad9 ),
     756             :     WTCP( 0x735f6626, 0x376f9e46 ),
     757             :     WTCP( 0x72af05a7, 0x38d8fe93 ),
     758             :     WTCP( 0x71fa3949, 0x3a402dd2 ),
     759             :     WTCP( 0x71410805, 0x3ba51e29 ),
     760             :     WTCP( 0x708378ff, 0x3d07c1d6 ),
     761             :     WTCP( 0x6fc19385, 0x3e680b2c ),
     762             :     WTCP( 0x6efb5f12, 0x3fc5ec98 ),
     763             :     WTCP( 0x6e30e34a, 0x4121589b ),
     764             :     WTCP( 0x6d6227fa, 0x427a41d0 ),
     765             :     WTCP( 0x6c8f351c, 0x43d09aed ),
     766             :     WTCP( 0x6bb812d1, 0x452456bd ),
     767             :     WTCP( 0x6adcc964, 0x46756828 ),
     768             :     WTCP( 0x69fd614a, 0x47c3c22f ),
     769             :     WTCP( 0x6919e320, 0x490f57ee ),
     770             :     WTCP( 0x683257ab, 0x4a581c9e ),
     771             :     WTCP( 0x6746c7d8, 0x4b9e0390 ),
     772             :     WTCP( 0x66573cbb, 0x4ce10034 ),
     773             :     WTCP( 0x6563bf92, 0x4e210617 ),
     774             :     WTCP( 0x646c59bf, 0x4f5e08e3 ),
     775             :     WTCP( 0x637114cc, 0x5097fc5e ),
     776             :     WTCP( 0x6271fa69, 0x51ced46e ),
     777             :     WTCP( 0x616f146c, 0x53028518 ),
     778             :     WTCP( 0x60686ccf, 0x5433027d ),
     779             :     WTCP( 0x5f5e0db3, 0x556040e2 ),
     780             :     WTCP( 0x5e50015d, 0x568a34a9 ),
     781             :     WTCP( 0x5d3e5237, 0x57b0d256 ),
     782             :     WTCP( 0x5c290acc, 0x58d40e8c ),
     783             :     WTCP( 0x5b1035cf, 0x59f3de12 ),
     784             : };
     785             : 
     786             : const PWord16 SineWindow140[70] = { // Q15
     787             :     WTCP( 0x7fff7bff, 0x00b7d3bc ), WTCP( 0x7ffb5c00, 0x02277547 ), WTCP( 0x7ff31c25, 0x0397050d ), WTCP( 0x7fe6bcb0, 0x05067734 ),
     788             :     WTCP( 0x7fd63e09, 0x0675bfe7 ), WTCP( 0x7fc1a0b6, 0x07e4d34d ), WTCP( 0x7fa8e564, 0x0953a594 ), WTCP( 0x7f8c0cdc, 0x0ac22ae8 ),
     789             :     WTCP( 0x7f6b180f, 0x0c30577a ), WTCP( 0x7f46080a, 0x0d9e1f7d ), WTCP( 0x7f1cde01, 0x0f0b7727 ), WTCP( 0x7eef9b46, 0x107852b2 ),
     790             :     WTCP( 0x7ebe414f, 0x11e4a65c ), WTCP( 0x7e88d1b4, 0x13506668 ), WTCP( 0x7e4f4e2c, 0x14bb871b ), WTCP( 0x7e11b894, 0x1625fcc3 ),
     791             :     WTCP( 0x7dd012e6, 0x178fbbb1 ), WTCP( 0x7d8a5f40, 0x18f8b83c ), WTCP( 0x7d409fe1, 0x1a60e6c3 ), WTCP( 0x7cf2d72b, 0x1bc83baa ),
     792             :     WTCP( 0x7ca1079d, 0x1d2eab5d ), WTCP( 0x7c4b33dc, 0x1e942a4d ), WTCP( 0x7bf15eac, 0x1ff8acf7 ), WTCP( 0x7b938af1, 0x215c27dc ),
     793             :     WTCP( 0x7b31bbb2, 0x22be8f87 ), WTCP( 0x7acbf416, 0x241fd88e ), WTCP( 0x7a623764, 0x257ff78e ), WTCP( 0x79f48904, 0x26dee12c ),
     794             :     WTCP( 0x7982ec80, 0x283c8a1b ), WTCP( 0x790d6581, 0x2998e716 ), WTCP( 0x7893f7d1, 0x2af3ece2 ), WTCP( 0x7816a759, 0x2c4d9050 ),
     795             :     WTCP( 0x77957822, 0x2da5c63e ), WTCP( 0x77106e58, 0x2efc8393 ), WTCP( 0x76878e43, 0x3051bd43 ), WTCP( 0x75fadc4d, 0x31a56850 ),
     796             :     WTCP( 0x756a5cff, 0x32f779c7 ), WTCP( 0x74d61500, 0x3447e6c3 ), WTCP( 0x743e0918, 0x3596a46c ), WTCP( 0x73a23e2d, 0x36e3a7fa ),
     797             :     WTCP( 0x7302b945, 0x382ee6b0 ), WTCP( 0x725f7f84, 0x397855e1 ), WTCP( 0x71b8962b, 0x3abfeaf1 ), WTCP( 0x710e029e, 0x3c059b4f ),
     798             :     WTCP( 0x705fca59, 0x3d495c7e ), WTCP( 0x6fadf2fc, 0x3e8b240e ), WTCP( 0x6ef88241, 0x3fcae7a1 ), WTCP( 0x6e3f7e01, 0x41089ce8 ),
     799             :     WTCP( 0x6d82ec32, 0x424439a6 ), WTCP( 0x6cc2d2e9, 0x437db3b0 ), WTCP( 0x6bff3855, 0x44b500eb ), WTCP( 0x6b3822c6, 0x45ea1750 ),
     800             :     WTCP( 0x6a6d98a4, 0x471cece7 ), WTCP( 0x699fa078, 0x484d77ce ), WTCP( 0x68ce40e4, 0x497bae33 ), WTCP( 0x67f980a8, 0x4aa7865b ),
     801             :     WTCP( 0x6721669f, 0x4bd0f69b ), WTCP( 0x6645f9c0, 0x4cf7f55d ), WTCP( 0x6567411d, 0x4e1c791f ), WTCP( 0x648543e4, 0x4f3e7875 ),
     802             :     WTCP( 0x63a0095c, 0x505dea05 ), WTCP( 0x62b798ea, 0x517ac48c ), WTCP( 0x61cbfa0b, 0x5294fedd ), WTCP( 0x60dd3457, 0x53ac8fde ),
     803             :     WTCP( 0x5feb4f7f, 0x54c16e8e ), WTCP( 0x5ef6534f, 0x55d391ff ), WTCP( 0x5dfe47ad, 0x56e2f15d ), WTCP( 0x5d033497, 0x57ef83e9 ),
     804             :     WTCP( 0x5c052224, 0x58f940fa ), WTCP( 0x5b041885, 0x5a002001 )
     805             : };
     806             : 
     807             : const PWord16 SineWindow160[80] = {
     808             :     // Q15
     809             :     WTCP( 0x7fff9aef, 0x00a0d951 ),
     810             :     WTCP( 0x7ffc726f, 0x01e287fc ),
     811             :     WTCP( 0x7ff62182, 0x03242abf ),
     812             :     WTCP( 0x7feca851, 0x0465b9aa ),
     813             :     WTCP( 0x7fe00716, 0x05a72ccf ),
     814             :     WTCP( 0x7fd03e23, 0x06e87c3f ),
     815             :     WTCP( 0x7fbd4dda, 0x0829a00c ),
     816             :     WTCP( 0x7fa736b4, 0x096a9049 ),
     817             :     WTCP( 0x7f8df93c, 0x0aab450d ),
     818             :     WTCP( 0x7f719611, 0x0bebb66c ),
     819             :     WTCP( 0x7f520de6, 0x0d2bdc80 ),
     820             :     WTCP( 0x7f2f6183, 0x0e6baf61 ),
     821             :     WTCP( 0x7f0991c4, 0x0fab272b ),
     822             :     WTCP( 0x7ee09f95, 0x10ea3bfd ),
     823             :     WTCP( 0x7eb48bfb, 0x1228e5f8 ),
     824             :     WTCP( 0x7e85580c, 0x13671d3d ),
     825             :     WTCP( 0x7e5304f2, 0x14a4d9f4 ),
     826             :     WTCP( 0x7e1d93ea, 0x15e21445 ),
     827             :     WTCP( 0x7de50646, 0x171ec45c ),
     828             :     WTCP( 0x7da95d6c, 0x185ae269 ),
     829             :     WTCP( 0x7d6a9ad5, 0x199666a0 ),
     830             :     WTCP( 0x7d28c00c, 0x1ad14938 ),
     831             :     WTCP( 0x7ce3ceb2, 0x1c0b826a ),
     832             :     WTCP( 0x7c9bc87a, 0x1d450a78 ),
     833             :     WTCP( 0x7c50af2b, 0x1e7dd9a4 ),
     834             :     WTCP( 0x7c02849f, 0x1fb5e836 ),
     835             :     WTCP( 0x7bb14ac5, 0x20ed2e7b ),
     836             :     WTCP( 0x7b5d039e, 0x2223a4c5 ),
     837             :     WTCP( 0x7b05b13d, 0x2359436c ),
     838             :     WTCP( 0x7aab55ca, 0x248e02cb ),
     839             :     WTCP( 0x7a4df380, 0x25c1db44 ),
     840             :     WTCP( 0x79ed8cad, 0x26f4c53e ),
     841             :     WTCP( 0x798a23b1, 0x2826b928 ),
     842             :     WTCP( 0x7923bb01, 0x2957af74 ),
     843             :     WTCP( 0x78ba5524, 0x2a87a09d ),
     844             :     WTCP( 0x784df4b3, 0x2bb68522 ),
     845             :     WTCP( 0x77de9c5b, 0x2ce45589 ),
     846             :     WTCP( 0x776c4edb, 0x2e110a62 ),
     847             :     WTCP( 0x76f70f05, 0x2f3c9c40 ),
     848             :     WTCP( 0x767edfbe, 0x306703bf ),
     849             :     WTCP( 0x7603c3fd, 0x31903982 ),
     850             :     WTCP( 0x7585becb, 0x32b83634 ),
     851             :     WTCP( 0x7504d345, 0x33def287 ),
     852             :     WTCP( 0x74810499, 0x35046736 ),
     853             :     WTCP( 0x73fa5607, 0x36288d03 ),
     854             :     WTCP( 0x7370cae2, 0x374b5cb9 ),
     855             :     WTCP( 0x72e4668f, 0x386ccf2a ),
     856             :     WTCP( 0x72552c85, 0x398cdd32 ),
     857             :     WTCP( 0x71c3204c, 0x3aab7fb7 ),
     858             :     WTCP( 0x712e457f, 0x3bc8afa5 ),
     859             :     WTCP( 0x70969fca, 0x3ce465f3 ),
     860             :     WTCP( 0x6ffc32eb, 0x3dfe9ba1 ),
     861             :     WTCP( 0x6f5f02b2, 0x3f1749b8 ),
     862             :     WTCP( 0x6ebf12ff, 0x402e694c ),
     863             :     WTCP( 0x6e1c67c4, 0x4143f379 ),
     864             :     WTCP( 0x6d770506, 0x4257e166 ),
     865             :     WTCP( 0x6cceeed8, 0x436a2c45 ),
     866             :     WTCP( 0x6c242960, 0x447acd50 ),
     867             :     WTCP( 0x6b76b8d6, 0x4589bdcf ),
     868             :     WTCP( 0x6ac6a180, 0x4696f710 ),
     869             :     WTCP( 0x6a13e7b8, 0x47a27271 ),
     870             :     WTCP( 0x695e8fe5, 0x48ac2957 ),
     871             :     WTCP( 0x68a69e81, 0x49b41533 ),
     872             :     WTCP( 0x67ec1817, 0x4aba2f84 ),
     873             :     WTCP( 0x672f013f, 0x4bbe71d1 ),
     874             :     WTCP( 0x666f5ea6, 0x4cc0d5ae ),
     875             :     WTCP( 0x65ad3505, 0x4dc154bb ),
     876             :     WTCP( 0x64e88926, 0x4ebfe8a5 ),
     877             :     WTCP( 0x64215fe5, 0x4fbc8b22 ),
     878             :     WTCP( 0x6357be2a, 0x50b735f8 ),
     879             :     WTCP( 0x628ba8ef, 0x51afe2f6 ),
     880             :     WTCP( 0x61bd253f, 0x52a68bfb ),
     881             :     WTCP( 0x60ec3830, 0x539b2af0 ),
     882             :     WTCP( 0x6018e6eb, 0x548db9cb ),
     883             :     WTCP( 0x5f4336a7, 0x557e3292 ),
     884             :     WTCP( 0x5e6b2ca8, 0x566c8f55 ),
     885             :     WTCP( 0x5d90ce45, 0x5758ca31 ),
     886             :     WTCP( 0x5cb420e0, 0x5842dd54 ),
     887             :     WTCP( 0x5bd529eb, 0x592ac2f7 ),
     888             :     WTCP( 0x5af3eee6, 0x5a107561 ),
     889             : };
     890             : 
     891             : const PWord16 SineWindow180[90] = {
     892             :     // Q15
     893             :     WTCP( 0x7fffb026, 0x008efa17 ),
     894             :     WTCP( 0x7ffd3154, 0x01aceb7c ),
     895             :     WTCP( 0x7ff833bd, 0x02cad485 ),
     896             :     WTCP( 0x7ff0b77a, 0x03e8af9e ),
     897             :     WTCP( 0x7fe6bcb0, 0x05067734 ),
     898             :     WTCP( 0x7fda4391, 0x062425b6 ),
     899             :     WTCP( 0x7fcb4c5b, 0x0741b592 ),
     900             :     WTCP( 0x7fb9d759, 0x085f2137 ),
     901             :     WTCP( 0x7fa5e4e1, 0x097c6313 ),
     902             :     WTCP( 0x7f8f7559, 0x0a997598 ),
     903             :     WTCP( 0x7f76892f, 0x0bb65336 ),
     904             :     WTCP( 0x7f5b20df, 0x0cd2f660 ),
     905             :     WTCP( 0x7f3d3cf4, 0x0def598a ),
     906             :     WTCP( 0x7f1cde01, 0x0f0b7727 ),
     907             :     WTCP( 0x7efa04a8, 0x102749af ),
     908             :     WTCP( 0x7ed4b198, 0x1142cb98 ),
     909             :     WTCP( 0x7eace58a, 0x125df75b ),
     910             :     WTCP( 0x7e82a146, 0x1378c774 ),
     911             :     WTCP( 0x7e55e59e, 0x1493365f ),
     912             :     WTCP( 0x7e26b371, 0x15ad3e9a ),
     913             :     WTCP( 0x7df50bab, 0x16c6daa6 ),
     914             :     WTCP( 0x7dc0ef44, 0x17e00505 ),
     915             :     WTCP( 0x7d8a5f40, 0x18f8b83c ),
     916             :     WTCP( 0x7d515caf, 0x1a10eed3 ),
     917             :     WTCP( 0x7d15e8ad, 0x1b28a351 ),
     918             :     WTCP( 0x7cd80464, 0x1c3fd045 ),
     919             :     WTCP( 0x7c97b109, 0x1d56703c ),
     920             :     WTCP( 0x7c54efdc, 0x1e6c7dc7 ),
     921             :     WTCP( 0x7c0fc22a, 0x1f81f37c ),
     922             :     WTCP( 0x7bc8294d, 0x2096cbf1 ),
     923             :     WTCP( 0x7b7e26aa, 0x21ab01c0 ),
     924             :     WTCP( 0x7b31bbb2, 0x22be8f87 ),
     925             :     WTCP( 0x7ae2e9e4, 0x23d16fe8 ),
     926             :     WTCP( 0x7a91b2c7, 0x24e39d85 ),
     927             :     WTCP( 0x7a3e17f2, 0x25f51307 ),
     928             :     WTCP( 0x79e81b06, 0x2705cb19 ),
     929             :     WTCP( 0x798fbdb0, 0x2815c06a ),
     930             :     WTCP( 0x793501a9, 0x2924edac ),
     931             :     WTCP( 0x78d7e8b6, 0x2a334d96 ),
     932             :     WTCP( 0x787874a7, 0x2b40dae2 ),
     933             :     WTCP( 0x7816a759, 0x2c4d9050 ),
     934             :     WTCP( 0x77b282b3, 0x2d5968a3 ),
     935             :     WTCP( 0x774c08ab, 0x2e645ea1 ),
     936             :     WTCP( 0x76e33b3f, 0x2f6e6d16 ),
     937             :     WTCP( 0x76781c7a, 0x30778ed2 ),
     938             :     WTCP( 0x760aae73, 0x317fbeab ),
     939             :     WTCP( 0x759af34c, 0x3286f779 ),
     940             :     WTCP( 0x7528ed32, 0x338d341b ),
     941             :     WTCP( 0x74b49e5f, 0x34926f74 ),
     942             :     WTCP( 0x743e0918, 0x3596a46c ),
     943             :     WTCP( 0x73c52fab, 0x3699cdf2 ),
     944             :     WTCP( 0x734a1475, 0x379be6f6 ),
     945             :     WTCP( 0x72ccb9db, 0x389cea72 ),
     946             :     WTCP( 0x724d224f, 0x399cd362 ),
     947             :     WTCP( 0x71cb504e, 0x3a9b9cca ),
     948             :     WTCP( 0x71474660, 0x3b9941b1 ),
     949             :     WTCP( 0x70c10718, 0x3c95bd26 ),
     950             :     WTCP( 0x70389514, 0x3d910a3c ),
     951             :     WTCP( 0x6fadf2fc, 0x3e8b240e ),
     952             :     WTCP( 0x6f212385, 0x3f8405bc ),
     953             :     WTCP( 0x6e92296e, 0x407baa6a ),
     954             :     WTCP( 0x6e010780, 0x41720d46 ),
     955             :     WTCP( 0x6d6dc08f, 0x42672981 ),
     956             :     WTCP( 0x6cd8577a, 0x435afa54 ),
     957             :     WTCP( 0x6c40cf2c, 0x444d7aff ),
     958             :     WTCP( 0x6ba72a98, 0x453ea6c7 ),
     959             :     WTCP( 0x6b0b6cbd, 0x462e78f9 ),
     960             :     WTCP( 0x6a6d98a4, 0x471cece7 ),
     961             :     WTCP( 0x69cdb162, 0x4809fdeb ),
     962             :     WTCP( 0x692bba14, 0x48f5a767 ),
     963             :     WTCP( 0x6887b5e2, 0x49dfe4c2 ),
     964             :     WTCP( 0x67e1a7ff, 0x4ac8b16b ),
     965             :     WTCP( 0x673993a9, 0x4bb008d9 ),
     966             :     WTCP( 0x668f7c25, 0x4c95e688 ),
     967             :     WTCP( 0x65e364c4, 0x4d7a45fe ),
     968             :     WTCP( 0x653550e2, 0x4e5d22c6 ),
     969             :     WTCP( 0x648543e4, 0x4f3e7875 ),
     970             :     WTCP( 0x63d34137, 0x501e42a5 ),
     971             :     WTCP( 0x631f4c54, 0x50fc7cfb ),
     972             :     WTCP( 0x626968be, 0x51d92321 ),
     973             :     WTCP( 0x61b19a00, 0x52b430c9 ),
     974             :     WTCP( 0x60f7e3b0, 0x538da1ae ),
     975             :     WTCP( 0x603c496c, 0x54657194 ),
     976             :     WTCP( 0x5f7ecedd, 0x553b9c45 ),
     977             :     WTCP( 0x5ebf77b5, 0x56101d94 ),
     978             :     WTCP( 0x5dfe47ad, 0x56e2f15d ),
     979             :     WTCP( 0x5d3b428c, 0x57b41384 ),
     980             :     WTCP( 0x5c766c1c, 0x58837ff4 ),
     981             :     WTCP( 0x5bafc837, 0x595132a2 ),
     982             :     WTCP( 0x5ae75ab9, 0x5a1d278d ),
     983             : };
     984             : 
     985             : 
     986             : const PWord16 SineWindow224[112] = { // Q15
     987             :     WTCP( 0x7fffcc70, 0x0072e46e ), WTCP( 0x7ffe2fee, 0x0158abd6 ), WTCP( 0x7ffaf6f1, 0x023e6ee8 ), WTCP( 0x7ff62182, 0x03242abf ),
     988             :     WTCP( 0x7fefafb1, 0x0409dc76 ), WTCP( 0x7fe7a192, 0x04ef8129 ), WTCP( 0x7fddf741, 0x05d515f5 ), WTCP( 0x7fd2b0da, 0x06ba97f4 ),
     989             :     WTCP( 0x7fc5ce84, 0x07a00445 ), WTCP( 0x7fb75068, 0x08855802 ), WTCP( 0x7fa736b4, 0x096a9049 ), WTCP( 0x7f95819c, 0x0a4faa38 ),
     990             :     WTCP( 0x7f82315a, 0x0b34a2ec ), WTCP( 0x7f6d462b, 0x0c197784 ), WTCP( 0x7f56c053, 0x0cfe251d ), WTCP( 0x7f3ea01a, 0x0de2a8d7 ),
     991             :     WTCP( 0x7f24e5cf, 0x0ec6ffd1 ), WTCP( 0x7f0991c4, 0x0fab272b ), WTCP( 0x7eeca451, 0x108f1c07 ), WTCP( 0x7ece1dd3, 0x1172db86 ),
     992             :     WTCP( 0x7eadfeae, 0x125662c9 ), WTCP( 0x7e8c4748, 0x1339aef3 ), WTCP( 0x7e68f80e, 0x141cbd28 ), WTCP( 0x7e441171, 0x14ff8a8c ),
     993             :     WTCP( 0x7e1d93ea, 0x15e21445 ), WTCP( 0x7df57ff3, 0x16c45777 ), WTCP( 0x7dcbd60e, 0x17a6514a ), WTCP( 0x7da096c2, 0x1887fee6 ),
     994             :     WTCP( 0x7d73c299, 0x19695d74 ), WTCP( 0x7d455a24, 0x1a4a6a1c ), WTCP( 0x7d155df9, 0x1b2b220b ), WTCP( 0x7ce3ceb2, 0x1c0b826a ),
     995             :     WTCP( 0x7cb0acef, 0x1ceb8869 ), WTCP( 0x7c7bf954, 0x1dcb3134 ), WTCP( 0x7c45b48d, 0x1eaa79fa ), WTCP( 0x7c0ddf47, 0x1f895fed ),
     996             :     WTCP( 0x7bd47a36, 0x2067e03e ), WTCP( 0x7b998614, 0x2145f81f ), WTCP( 0x7b5d039e, 0x2223a4c5 ), WTCP( 0x7b1ef397, 0x2300e366 ),
     997             :     WTCP( 0x7adf56c8, 0x23ddb139 ), WTCP( 0x7a9e2dfd, 0x24ba0b76 ), WTCP( 0x7a5b7a09, 0x2595ef56 ), WTCP( 0x7a173bc2, 0x26715a16 ),
     998             :     WTCP( 0x79d17405, 0x274c48f2 ), WTCP( 0x798a23b1, 0x2826b928 ), WTCP( 0x79414bae, 0x2900a7f9 ), WTCP( 0x78f6ece5, 0x29da12a7 ),
     999             :     WTCP( 0x78ab0847, 0x2ab2f674 ), WTCP( 0x785d9ec8, 0x2b8b50a5 ), WTCP( 0x780eb161, 0x2c631e82 ), WTCP( 0x77be4111, 0x2d3a5d53 ),
    1000             :     WTCP( 0x776c4edb, 0x2e110a62 ), WTCP( 0x7718dbc8, 0x2ee722fb ), WTCP( 0x76c3e8e3, 0x2fbca46d ), WTCP( 0x766d773f, 0x30918c08 ),
    1001             :     WTCP( 0x761587f3, 0x3165d71c ), WTCP( 0x75bc1c1a, 0x323982ff ), WTCP( 0x756134d4, 0x330c8d05 ), WTCP( 0x7504d345, 0x33def287 ),
    1002             :     WTCP( 0x74a6f899, 0x34b0b0df ), WTCP( 0x7447a5fc, 0x3581c569 ), WTCP( 0x73e6dca3, 0x36522d83 ), WTCP( 0x73849dc5, 0x3721e68d ),
    1003             :     WTCP( 0x7320ea9f, 0x37f0edea ), WTCP( 0x72bbc472, 0x38bf40ff ), WTCP( 0x72552c85, 0x398cdd32 ), WTCP( 0x71ed2421, 0x3a59bfee ),
    1004             :     WTCP( 0x7183ac96, 0x3b25e69e ), WTCP( 0x7118c739, 0x3bf14eaf ), WTCP( 0x70ac7560, 0x3cbbf594 ), WTCP( 0x703eb86a, 0x3d85d8bd ),
    1005             :     WTCP( 0x6fcf91b9, 0x3e4ef5a1 ), WTCP( 0x6f5f02b2, 0x3f1749b8 ), WTCP( 0x6eed0cc0, 0x3fded27c ), WTCP( 0x6e79b152, 0x40a58d69 ),
    1006             :     WTCP( 0x6e04f1dd, 0x416b7801 ), WTCP( 0x6d8ecfd8, 0x42308fc4 ), WTCP( 0x6d174cc0, 0x42f4d237 ), WTCP( 0x6c9e6a16, 0x43b83ce3 ),
    1007             :     WTCP( 0x6c242960, 0x447acd50 ), WTCP( 0x6ba88c28, 0x453c810d ), WTCP( 0x6b2b93fd, 0x45fd55a9 ), WTCP( 0x6aad4270, 0x46bd48b7 ),
    1008             :     WTCP( 0x6a2d9919, 0x477c57cb ), WTCP( 0x69ac9994, 0x483a807f ), WTCP( 0x692a4580, 0x48f7c06d ), WTCP( 0x68a69e81, 0x49b41533 ),
    1009             :     WTCP( 0x6821a640, 0x4a6f7c74 ), WTCP( 0x679b5e68, 0x4b29f3d1 ), WTCP( 0x6713c8ac, 0x4be378f4 ), WTCP( 0x668ae6bf, 0x4c9c0985 ),
    1010             :     WTCP( 0x6600ba5b, 0x4d53a332 ), WTCP( 0x6575453d, 0x4e0a43ab ), WTCP( 0x64e88926, 0x4ebfe8a5 ), WTCP( 0x645a87dd, 0x4f748fd4 ),
    1011             :     WTCP( 0x63cb432a, 0x502836f4 ), WTCP( 0x633abcdc, 0x50dadbc1 ), WTCP( 0x62a8f6c4, 0x518c7bfb ), WTCP( 0x6215f2b9, 0x523d1567 ),
    1012             :     WTCP( 0x6181b292, 0x52eca5ca ), WTCP( 0x60ec3830, 0x539b2af0 ), WTCP( 0x60558573, 0x5448a2a5 ), WTCP( 0x5fbd9c41, 0x54f50abb ),
    1013             :     WTCP( 0x5f247e83, 0x55a06106 ), WTCP( 0x5e8a2e27, 0x564aa35d ), WTCP( 0x5deead1f, 0x56f3cf9d ), WTCP( 0x5d51fd5e, 0x579be3a4 ),
    1014             :     WTCP( 0x5cb420e0, 0x5842dd54 ), WTCP( 0x5c15199f, 0x58e8ba94 ), WTCP( 0x5b74e99d, 0x598d794c ), WTCP( 0x5ad392de, 0x5a31176a )
    1015             : };
    1016             : 
    1017             : 
    1018             : const PWord16 SineWindow256[128] = {
    1019             :     // Q15
    1020             :     WTCP( 0x7fffd886, 0x006487e3 ),
    1021             :     WTCP( 0x7ffe9cb2, 0x012d96b1 ),
    1022             :     WTCP( 0x7ffc250f, 0x01f6a297 ),
    1023             :     WTCP( 0x7ff871a2, 0x02bfa9a4 ),
    1024             :     WTCP( 0x7ff38274, 0x0388a9ea ),
    1025             :     WTCP( 0x7fed5791, 0x0451a177 ),
    1026             :     WTCP( 0x7fe5f108, 0x051a8e5c ),
    1027             :     WTCP( 0x7fdd4eec, 0x05e36ea9 ),
    1028             :     WTCP( 0x7fd37153, 0x06ac406f ),
    1029             :     WTCP( 0x7fc85854, 0x077501be ),
    1030             :     WTCP( 0x7fbc040a, 0x083db0a7 ),
    1031             :     WTCP( 0x7fae7495, 0x09064b3a ),
    1032             :     WTCP( 0x7f9faa15, 0x09cecf89 ),
    1033             :     WTCP( 0x7f8fa4b0, 0x0a973ba5 ),
    1034             :     WTCP( 0x7f7e648c, 0x0b5f8d9f ),
    1035             :     WTCP( 0x7f6be9d4, 0x0c27c389 ),
    1036             :     WTCP( 0x7f5834b7, 0x0cefdb76 ),
    1037             :     WTCP( 0x7f434563, 0x0db7d376 ),
    1038             :     WTCP( 0x7f2d1c0e, 0x0e7fa99e ),
    1039             :     WTCP( 0x7f15b8ee, 0x0f475bff ),
    1040             :     WTCP( 0x7efd1c3c, 0x100ee8ad ),
    1041             :     WTCP( 0x7ee34636, 0x10d64dbd ),
    1042             :     WTCP( 0x7ec8371a, 0x119d8941 ),
    1043             :     WTCP( 0x7eabef2c, 0x1264994e ),
    1044             :     WTCP( 0x7e8e6eb2, 0x132b7bf9 ),
    1045             :     WTCP( 0x7e6fb5f4, 0x13f22f58 ),
    1046             :     WTCP( 0x7e4fc53e, 0x14b8b17f ),
    1047             :     WTCP( 0x7e2e9cdf, 0x157f0086 ),
    1048             :     WTCP( 0x7e0c3d29, 0x16451a83 ),
    1049             :     WTCP( 0x7de8a670, 0x170afd8d ),
    1050             :     WTCP( 0x7dc3d90d, 0x17d0a7bc ),
    1051             :     WTCP( 0x7d9dd55a, 0x18961728 ),
    1052             :     WTCP( 0x7d769bb5, 0x195b49ea ),
    1053             :     WTCP( 0x7d4e2c7f, 0x1a203e1b ),
    1054             :     WTCP( 0x7d24881b, 0x1ae4f1d6 ),
    1055             :     WTCP( 0x7cf9aef0, 0x1ba96335 ),
    1056             :     WTCP( 0x7ccda169, 0x1c6d9053 ),
    1057             :     WTCP( 0x7ca05ff1, 0x1d31774d ),
    1058             :     WTCP( 0x7c71eaf9, 0x1df5163f ),
    1059             :     WTCP( 0x7c4242f2, 0x1eb86b46 ),
    1060             :     WTCP( 0x7c116853, 0x1f7b7481 ),
    1061             :     WTCP( 0x7bdf5b94, 0x203e300d ),
    1062             :     WTCP( 0x7bac1d31, 0x21009c0c ),
    1063             :     WTCP( 0x7b77ada8, 0x21c2b69c ),
    1064             :     WTCP( 0x7b420d7a, 0x22847de0 ),
    1065             :     WTCP( 0x7b0b3d2c, 0x2345eff8 ),
    1066             :     WTCP( 0x7ad33d45, 0x24070b08 ),
    1067             :     WTCP( 0x7a9a0e50, 0x24c7cd33 ),
    1068             :     WTCP( 0x7a5fb0d8, 0x2588349d ),
    1069             :     WTCP( 0x7a24256f, 0x26483f6c ),
    1070             :     WTCP( 0x79e76ca7, 0x2707ebc7 ),
    1071             :     WTCP( 0x79a98715, 0x27c737d3 ),
    1072             :     WTCP( 0x796a7554, 0x288621b9 ),
    1073             :     WTCP( 0x792a37fe, 0x2944a7a2 ),
    1074             :     WTCP( 0x78e8cfb2, 0x2a02c7b8 ),
    1075             :     WTCP( 0x78a63d11, 0x2ac08026 ),
    1076             :     WTCP( 0x786280bf, 0x2b7dcf17 ),
    1077             :     WTCP( 0x781d9b65, 0x2c3ab2b9 ),
    1078             :     WTCP( 0x77d78daa, 0x2cf72939 ),
    1079             :     WTCP( 0x7790583e, 0x2db330c7 ),
    1080             :     WTCP( 0x7747fbce, 0x2e6ec792 ),
    1081             :     WTCP( 0x76fe790e, 0x2f29ebcc ),
    1082             :     WTCP( 0x76b3d0b4, 0x2fe49ba7 ),
    1083             :     WTCP( 0x76680376, 0x309ed556 ),
    1084             :     WTCP( 0x761b1211, 0x3158970e ),
    1085             :     WTCP( 0x75ccfd42, 0x3211df04 ),
    1086             :     WTCP( 0x757dc5ca, 0x32caab6f ),
    1087             :     WTCP( 0x752d6c6c, 0x3382fa88 ),
    1088             :     WTCP( 0x74dbf1ef, 0x343aca87 ),
    1089             :     WTCP( 0x7489571c, 0x34f219a8 ),
    1090             :     WTCP( 0x74359cbd, 0x35a8e625 ),
    1091             :     WTCP( 0x73e0c3a3, 0x365f2e3b ),
    1092             :     WTCP( 0x738acc9e, 0x3714f02a ),
    1093             :     WTCP( 0x7333b883, 0x37ca2a30 ),
    1094             :     WTCP( 0x72db8828, 0x387eda8e ),
    1095             :     WTCP( 0x72823c67, 0x3932ff87 ),
    1096             :     WTCP( 0x7227d61c, 0x39e6975e ),
    1097             :     WTCP( 0x71cc5626, 0x3a99a057 ),
    1098             :     WTCP( 0x716fbd68, 0x3b4c18ba ),
    1099             :     WTCP( 0x71120cc5, 0x3bfdfecd ),
    1100             :     WTCP( 0x70b34525, 0x3caf50da ),
    1101             :     WTCP( 0x70536771, 0x3d600d2c ),
    1102             :     WTCP( 0x6ff27497, 0x3e10320d ),
    1103             :     WTCP( 0x6f906d84, 0x3ebfbdcd ),
    1104             :     WTCP( 0x6f2d532c, 0x3f6eaeb8 ),
    1105             :     WTCP( 0x6ec92683, 0x401d0321 ),
    1106             :     WTCP( 0x6e63e87f, 0x40cab958 ),
    1107             :     WTCP( 0x6dfd9a1c, 0x4177cfb1 ),
    1108             :     WTCP( 0x6d963c54, 0x42244481 ),
    1109             :     WTCP( 0x6d2dd027, 0x42d0161e ),
    1110             :     WTCP( 0x6cc45698, 0x437b42e1 ),
    1111             :     WTCP( 0x6c59d0a9, 0x4425c923 ),
    1112             :     WTCP( 0x6bee3f62, 0x44cfa740 ),
    1113             :     WTCP( 0x6b81a3cd, 0x4578db93 ),
    1114             :     WTCP( 0x6b13fef5, 0x4621647d ),
    1115             :     WTCP( 0x6aa551e9, 0x46c9405c ),
    1116             :     WTCP( 0x6a359db9, 0x47706d93 ),
    1117             :     WTCP( 0x69c4e37a, 0x4816ea86 ),
    1118             :     WTCP( 0x69532442, 0x48bcb599 ),
    1119             :     WTCP( 0x68e06129, 0x4961cd33 ),
    1120             :     WTCP( 0x686c9b4b, 0x4a062fbd ),
    1121             :     WTCP( 0x67f7d3c5, 0x4aa9dba2 ),
    1122             :     WTCP( 0x67820bb7, 0x4b4ccf4d ),
    1123             :     WTCP( 0x670b4444, 0x4bef092d ),
    1124             :     WTCP( 0x66937e91, 0x4c9087b1 ),
    1125             :     WTCP( 0x661abbc5, 0x4d31494b ),
    1126             :     WTCP( 0x65a0fd0b, 0x4dd14c6e ),
    1127             :     WTCP( 0x6526438f, 0x4e708f8f ),
    1128             :     WTCP( 0x64aa907f, 0x4f0f1126 ),
    1129             :     WTCP( 0x642de50d, 0x4faccfab ),
    1130             :     WTCP( 0x63b0426d, 0x5049c999 ),
    1131             :     WTCP( 0x6331a9d4, 0x50e5fd6d ),
    1132             :     WTCP( 0x62b21c7b, 0x518169a5 ),
    1133             :     WTCP( 0x62319b9d, 0x521c0cc2 ),
    1134             :     WTCP( 0x61b02876, 0x52b5e546 ),
    1135             :     WTCP( 0x612dc447, 0x534ef1b5 ),
    1136             :     WTCP( 0x60aa7050, 0x53e73097 ),
    1137             :     WTCP( 0x60262dd6, 0x547ea073 ),
    1138             :     WTCP( 0x5fa0fe1f, 0x55153fd4 ),
    1139             :     WTCP( 0x5f1ae274, 0x55ab0d46 ),
    1140             :     WTCP( 0x5e93dc1f, 0x56400758 ),
    1141             :     WTCP( 0x5e0bec6e, 0x56d42c99 ),
    1142             :     WTCP( 0x5d8314b1, 0x57677b9d ),
    1143             :     WTCP( 0x5cf95638, 0x57f9f2f8 ),
    1144             :     WTCP( 0x5c6eb258, 0x588b9140 ),
    1145             :     WTCP( 0x5be32a67, 0x591c550e ),
    1146             :     WTCP( 0x5b56bfbd, 0x59ac3cfd ),
    1147             :     WTCP( 0x5ac973b5, 0x5a3b47ab ),
    1148             : };
    1149             : 
    1150             : const PWord16 SineWindow280[140] = { // Q15
    1151             :     WTCP( 0x7fffdf00, 0x005be9f6 ), WTCP( 0x7ffed6ff, 0x0113bd23 ), WTCP( 0x7ffcc6ff, 0x01cb8e18 ), WTCP( 0x7ff9af04, 0x02835b5a ),
    1152             :     WTCP( 0x7ff58f15, 0x033b236c ), WTCP( 0x7ff0673a, 0x03f2e4d4 ), WTCP( 0x7fea377e, 0x04aa9e17 ), WTCP( 0x7fe2ffee, 0x05624dba ),
    1153             :     WTCP( 0x7fdac098, 0x0619f243 ), WTCP( 0x7fd1798e, 0x06d18a36 ), WTCP( 0x7fc72ae2, 0x07891418 ), WTCP( 0x7fbbd4aa, 0x08408e70 ),
    1154             :     WTCP( 0x7faf76fe, 0x08f7f7c3 ), WTCP( 0x7fa211f6, 0x09af4e96 ), WTCP( 0x7f93a5af, 0x0a66916f ), WTCP( 0x7f843246, 0x0b1dbed5 ),
    1155             :     WTCP( 0x7f73b7da, 0x0bd4d54d ), WTCP( 0x7f62368f, 0x0c8bd35e ), WTCP( 0x7f4fae88, 0x0d42b78f ), WTCP( 0x7f3c1fec, 0x0df98066 ),
    1156             :     WTCP( 0x7f278ae1, 0x0eb02c6a ), WTCP( 0x7f11ef95, 0x0f66ba22 ), WTCP( 0x7efb4e31, 0x101d2817 ), WTCP( 0x7ee3a6e7, 0x10d374cf ),
    1157             :     WTCP( 0x7ecaf9e5, 0x11899ed3 ), WTCP( 0x7eb1475f, 0x123fa4ab ), WTCP( 0x7e968f8b, 0x12f584e0 ), WTCP( 0x7e7ad29e, 0x13ab3dfa ),
    1158             :     WTCP( 0x7e5e10d3, 0x1460ce82 ), WTCP( 0x7e404a65, 0x15163503 ), WTCP( 0x7e217f90, 0x15cb7006 ), WTCP( 0x7e01b096, 0x16807e15 ),
    1159             :     WTCP( 0x7de0ddb6, 0x17355dba ), WTCP( 0x7dbf0736, 0x17ea0d81 ), WTCP( 0x7d9c2d5a, 0x189e8bf6 ), WTCP( 0x7d78506a, 0x1952d7a3 ),
    1160             :     WTCP( 0x7d5370b2, 0x1a06ef15 ), WTCP( 0x7d2d8e7b, 0x1abad0d8 ), WTCP( 0x7d06aa16, 0x1b6e7b7a ), WTCP( 0x7cdec3d2, 0x1c21ed87 ),
    1161             :     WTCP( 0x7cb5dc00, 0x1cd5258f ), WTCP( 0x7c8bf2f7, 0x1d88221e ), WTCP( 0x7c61090b, 0x1e3ae1c5 ), WTCP( 0x7c351e96, 0x1eed6311 ),
    1162             :     WTCP( 0x7c0833f3, 0x1f9fa494 ), WTCP( 0x7bda497d, 0x2051a4dd ), WTCP( 0x7bab5f93, 0x2103627d ), WTCP( 0x7b7b7697, 0x21b4dc06 ),
    1163             :     WTCP( 0x7b4a8eeb, 0x2266100a ), WTCP( 0x7b18a8f4, 0x2316fd1b ), WTCP( 0x7ae5c518, 0x23c7a1cc ), WTCP( 0x7ab1e3c2, 0x2477fcb1 ),
    1164             :     WTCP( 0x7a7d055b, 0x25280c5e ), WTCP( 0x7a472a51, 0x25d7cf68 ), WTCP( 0x7a105313, 0x26874464 ), WTCP( 0x79d88013, 0x273669e9 ),
    1165             :     WTCP( 0x799fb1c2, 0x27e53e8e ), WTCP( 0x7965e897, 0x2893c0e9 ), WTCP( 0x792b2508, 0x2941ef93 ), WTCP( 0x78ef678f, 0x29efc925 ),
    1166             :     WTCP( 0x78b2b0a7, 0x2a9d4c38 ), WTCP( 0x787500ce, 0x2b4a7766 ), WTCP( 0x78365881, 0x2bf7494a ), WTCP( 0x77f6b844, 0x2ca3c07f ),
    1167             :     WTCP( 0x77b62098, 0x2d4fdba2 ), WTCP( 0x77749203, 0x2dfb9950 ), WTCP( 0x77320d0d, 0x2ea6f827 ), WTCP( 0x76ee923e, 0x2f51f6c4 ),
    1168             :     WTCP( 0x76aa2222, 0x2ffc93c9 ), WTCP( 0x7664bd46, 0x30a6cdd3 ), WTCP( 0x761e6439, 0x3150a385 ), WTCP( 0x75d7178c, 0x31fa1381 ),
    1169             :     WTCP( 0x758ed7d2, 0x32a31c68 ), WTCP( 0x7545a5a0, 0x334bbcde ), WTCP( 0x74fb818e, 0x33f3f387 ), WTCP( 0x74b06c33, 0x349bbf09 ),
    1170             :     WTCP( 0x7464662c, 0x35431e09 ), WTCP( 0x74177014, 0x35ea0f2e ), WTCP( 0x73c98a8a, 0x36909120 ), WTCP( 0x737ab630, 0x3736a287 ),
    1171             :     WTCP( 0x732af3a7, 0x37dc420c ), WTCP( 0x72da4395, 0x38816e5b ), WTCP( 0x7288a69f, 0x3926261e ), WTCP( 0x72361d6e, 0x39ca6802 ),
    1172             :     WTCP( 0x71e2a8ad, 0x3a6e32b4 ), WTCP( 0x718e4907, 0x3b1184e2 ), WTCP( 0x7138ff2a, 0x3bb45d3b ), WTCP( 0x70e2cbc6, 0x3c56ba70 ),
    1173             :     WTCP( 0x708baf8d, 0x3cf89b31 ), WTCP( 0x7033ab34, 0x3d99fe31 ), WTCP( 0x6fdabf6e, 0x3e3ae223 ), WTCP( 0x6f80ecf4, 0x3edb45ba ),
    1174             :     WTCP( 0x6f26347f, 0x3f7b27ac ), WTCP( 0x6eca96ca, 0x401a86b0 ), WTCP( 0x6e6e1492, 0x40b9617d ), WTCP( 0x6e10ae96, 0x4157b6ca ),
    1175             :     WTCP( 0x6db26597, 0x41f58552 ), WTCP( 0x6d533a56, 0x4292cbcf ), WTCP( 0x6cf32d99, 0x432f88fc ), WTCP( 0x6c924024, 0x43cbbb97 ),
    1176             :     WTCP( 0x6c3072c1, 0x4467625d ), WTCP( 0x6bcdc639, 0x45027c0c ), WTCP( 0x6b6a3b58, 0x459d0766 ), WTCP( 0x6b05d2ea, 0x4637032c ),
    1177             :     WTCP( 0x6aa08dbf, 0x46d06e1f ), WTCP( 0x6a3a6ca8, 0x47694703 ), WTCP( 0x69d37078, 0x48018c9e ), WTCP( 0x696b9a02, 0x48993db5 ),
    1178             :     WTCP( 0x6902ea1d, 0x4930590f ), WTCP( 0x689961a1, 0x49c6dd74 ), WTCP( 0x682f0167, 0x4a5cc9af ), WTCP( 0x67c3ca4c, 0x4af21c89 ),
    1179             :     WTCP( 0x6757bd2b, 0x4b86d4cf ), WTCP( 0x66eadae5, 0x4c1af14f ), WTCP( 0x667d2459, 0x4cae70d6 ), WTCP( 0x660e9a6a, 0x4d415234 ),
    1180             :     WTCP( 0x659f3dfc, 0x4dd3943b ), WTCP( 0x652f0ff4, 0x4e6535bd ), WTCP( 0x64be113a, 0x4ef6358d ), WTCP( 0x644c42b8, 0x4f869280 ),
    1181             :     WTCP( 0x63d9a556, 0x50164b6d ), WTCP( 0x63663a03, 0x50a55f2c ), WTCP( 0x62f201ac, 0x5133cc94 ), WTCP( 0x627cfd41, 0x51c19281 ),
    1182             :     WTCP( 0x62072db3, 0x524eafce ), WTCP( 0x619093f5, 0x52db2357 ), WTCP( 0x611930fc, 0x5366ebfc ), WTCP( 0x60a105be, 0x53f2089b ),
    1183             :     WTCP( 0x60281333, 0x547c7817 ), WTCP( 0x5fae5a55, 0x55063951 ), WTCP( 0x5f33dc1d, 0x558f4b2d ), WTCP( 0x5eb8998a, 0x5617ac90 ),
    1184             :     WTCP( 0x5e3c9399, 0x569f5c62 ), WTCP( 0x5dbfcb4a, 0x5726598b ), WTCP( 0x5d42419f, 0x57aca2f3 ), WTCP( 0x5cc3f79a, 0x58323787 ),
    1185             :     WTCP( 0x5c44ee40, 0x58b71632 ), WTCP( 0x5bc52696, 0x593b3de2 ), WTCP( 0x5b44a1a5, 0x59bead87 ), WTCP( 0x5ac36076, 0x5a416413 )
    1186             : };
    1187             : 
    1188             : const PWord16 SineWindow320[160] = {
    1189             :     // Q15
    1190             :     WTCP( 0x7fffe6bc, 0x00506cb9 ),
    1191             :     WTCP( 0x7fff1c9b, 0x00f145ab ),
    1192             :     WTCP( 0x7ffd885a, 0x01921d20 ),
    1193             :     WTCP( 0x7ffb29fd, 0x0232f21a ),
    1194             :     WTCP( 0x7ff80186, 0x02d3c39b ),
    1195             :     WTCP( 0x7ff40efa, 0x037490a5 ),
    1196             :     WTCP( 0x7fef5260, 0x0415583b ),
    1197             :     WTCP( 0x7fe9cbc0, 0x04b6195d ),
    1198             :     WTCP( 0x7fe37b22, 0x0556d30f ),
    1199             :     WTCP( 0x7fdc608f, 0x05f78453 ),
    1200             :     WTCP( 0x7fd47c14, 0x06982c2b ),
    1201             :     WTCP( 0x7fcbcdbc, 0x0738c998 ),
    1202             :     WTCP( 0x7fc25596, 0x07d95b9e ),
    1203             :     WTCP( 0x7fb813b0, 0x0879e140 ),
    1204             :     WTCP( 0x7fad081b, 0x091a597e ),
    1205             :     WTCP( 0x7fa132e8, 0x09bac35d ),
    1206             :     WTCP( 0x7f949429, 0x0a5b1dde ),
    1207             :     WTCP( 0x7f872bf3, 0x0afb6805 ),
    1208             :     WTCP( 0x7f78fa5b, 0x0b9ba0d5 ),
    1209             :     WTCP( 0x7f69ff76, 0x0c3bc74f ),
    1210             :     WTCP( 0x7f5a3b5e, 0x0cdbda79 ),
    1211             :     WTCP( 0x7f49ae2a, 0x0d7bd954 ),
    1212             :     WTCP( 0x7f3857f6, 0x0e1bc2e4 ),
    1213             :     WTCP( 0x7f2638db, 0x0ebb962c ),
    1214             :     WTCP( 0x7f1350f8, 0x0f5b5231 ),
    1215             :     WTCP( 0x7effa069, 0x0ffaf5f6 ),
    1216             :     WTCP( 0x7eeb274d, 0x109a807e ),
    1217             :     WTCP( 0x7ed5e5c6, 0x1139f0cf ),
    1218             :     WTCP( 0x7ebfdbf5, 0x11d945eb ),
    1219             :     WTCP( 0x7ea909fc, 0x12787ed8 ),
    1220             :     WTCP( 0x7e917000, 0x13179a9b ),
    1221             :     WTCP( 0x7e790e25, 0x13b69836 ),
    1222             :     WTCP( 0x7e5fe493, 0x145576b1 ),
    1223             :     WTCP( 0x7e45f371, 0x14f43510 ),
    1224             :     WTCP( 0x7e2b3ae8, 0x1592d257 ),
    1225             :     WTCP( 0x7e0fbb22, 0x16314d8e ),
    1226             :     WTCP( 0x7df3744b, 0x16cfa5b9 ),
    1227             :     WTCP( 0x7dd6668f, 0x176dd9de ),
    1228             :     WTCP( 0x7db8921c, 0x180be904 ),
    1229             :     WTCP( 0x7d99f721, 0x18a9d231 ),
    1230             :     WTCP( 0x7d7a95cf, 0x1947946c ),
    1231             :     WTCP( 0x7d5a6e57, 0x19e52ebb ),
    1232             :     WTCP( 0x7d3980ec, 0x1a82a026 ),
    1233             :     WTCP( 0x7d17cdc2, 0x1b1fe7b3 ),
    1234             :     WTCP( 0x7cf5550e, 0x1bbd046c ),
    1235             :     WTCP( 0x7cd21707, 0x1c59f557 ),
    1236             :     WTCP( 0x7cae13e4, 0x1cf6b97c ),
    1237             :     WTCP( 0x7c894bde, 0x1d934fe5 ),
    1238             :     WTCP( 0x7c63bf2f, 0x1e2fb79a ),
    1239             :     WTCP( 0x7c3d6e13, 0x1ecbefa4 ),
    1240             :     WTCP( 0x7c1658c5, 0x1f67f70b ),
    1241             :     WTCP( 0x7bee7f85, 0x2003ccdb ),
    1242             :     WTCP( 0x7bc5e290, 0x209f701c ),
    1243             :     WTCP( 0x7b9c8226, 0x213adfda ),
    1244             :     WTCP( 0x7b725e8a, 0x21d61b1e ),
    1245             :     WTCP( 0x7b4777fe, 0x227120f3 ),
    1246             :     WTCP( 0x7b1bcec4, 0x230bf065 ),
    1247             :     WTCP( 0x7aef6323, 0x23a6887f ),
    1248             :     WTCP( 0x7ac23561, 0x2440e84d ),
    1249             :     WTCP( 0x7a9445c5, 0x24db0edb ),
    1250             :     WTCP( 0x7a659496, 0x2574fb36 ),
    1251             :     WTCP( 0x7a362220, 0x260eac6a ),
    1252             :     WTCP( 0x7a05eead, 0x26a82186 ),
    1253             :     WTCP( 0x79d4fa89, 0x27415996 ),
    1254             :     WTCP( 0x79a34602, 0x27da53a9 ),
    1255             :     WTCP( 0x7970d165, 0x28730ecd ),
    1256             :     WTCP( 0x793d9d03, 0x290b8a12 ),
    1257             :     WTCP( 0x7909a92d, 0x29a3c485 ),
    1258             :     WTCP( 0x78d4f634, 0x2a3bbd37 ),
    1259             :     WTCP( 0x789f846b, 0x2ad37338 ),
    1260             :     WTCP( 0x78695428, 0x2b6ae598 ),
    1261             :     WTCP( 0x783265c0, 0x2c021369 ),
    1262             :     WTCP( 0x77fab989, 0x2c98fbba ),
    1263             :     WTCP( 0x77c24fdb, 0x2d2f9d9f ),
    1264             :     WTCP( 0x77892910, 0x2dc5f829 ),
    1265             :     WTCP( 0x774f4581, 0x2e5c0a6b ),
    1266             :     WTCP( 0x7714a58b, 0x2ef1d377 ),
    1267             :     WTCP( 0x76d94989, 0x2f875262 ),
    1268             :     WTCP( 0x769d31d9, 0x301c863f ),
    1269             :     WTCP( 0x76605edb, 0x30b16e23 ),
    1270             :     WTCP( 0x7622d0ef, 0x31460922 ),
    1271             :     WTCP( 0x75e48874, 0x31da5651 ),
    1272             :     WTCP( 0x75a585cf, 0x326e54c7 ),
    1273             :     WTCP( 0x7565c962, 0x3302039b ),
    1274             :     WTCP( 0x75255392, 0x339561e1 ),
    1275             :     WTCP( 0x74e424c5, 0x34286eb3 ),
    1276             :     WTCP( 0x74a23d62, 0x34bb2927 ),
    1277             :     WTCP( 0x745f9dd1, 0x354d9057 ),
    1278             :     WTCP( 0x741c467b, 0x35dfa35a ),
    1279             :     WTCP( 0x73d837ca, 0x3671614b ),
    1280             :     WTCP( 0x7393722a, 0x3702c942 ),
    1281             :     WTCP( 0x734df607, 0x3793da5b ),
    1282             :     WTCP( 0x7307c3d0, 0x382493b0 ),
    1283             :     WTCP( 0x72c0dbf3, 0x38b4f45d ),
    1284             :     WTCP( 0x72793edf, 0x3944fb7e ),
    1285             :     WTCP( 0x7230ed07, 0x39d4a82f ),
    1286             :     WTCP( 0x71e7e6dc, 0x3a63f98d ),
    1287             :     WTCP( 0x719e2cd2, 0x3af2eeb7 ),
    1288             :     WTCP( 0x7153bf5d, 0x3b8186ca ),
    1289             :     WTCP( 0x71089ef2, 0x3c0fc0e6 ),
    1290             :     WTCP( 0x70bccc09, 0x3c9d9c28 ),
    1291             :     WTCP( 0x70704718, 0x3d2b17b3 ),
    1292             :     WTCP( 0x7023109a, 0x3db832a6 ),
    1293             :     WTCP( 0x6fd52907, 0x3e44ec22 ),
    1294             :     WTCP( 0x6f8690db, 0x3ed14349 ),
    1295             :     WTCP( 0x6f374891, 0x3f5d373e ),
    1296             :     WTCP( 0x6ee750a8, 0x3fe8c724 ),
    1297             :     WTCP( 0x6e96a99d, 0x4073f21d ),
    1298             :     WTCP( 0x6e4553ef, 0x40feb74f ),
    1299             :     WTCP( 0x6df35020, 0x418915de ),
    1300             :     WTCP( 0x6da09eb1, 0x42130cf0 ),
    1301             :     WTCP( 0x6d4d4023, 0x429c9bab ),
    1302             :     WTCP( 0x6cf934fc, 0x4325c135 ),
    1303             :     WTCP( 0x6ca47dbf, 0x43ae7cb7 ),
    1304             :     WTCP( 0x6c4f1af2, 0x4436cd58 ),
    1305             :     WTCP( 0x6bf90d1d, 0x44beb240 ),
    1306             :     WTCP( 0x6ba254c7, 0x45462a9a ),
    1307             :     WTCP( 0x6b4af279, 0x45cd358f ),
    1308             :     WTCP( 0x6af2e6bc, 0x4653d24b ),
    1309             :     WTCP( 0x6a9a321d, 0x46d9fff8 ),
    1310             :     WTCP( 0x6a40d527, 0x475fbdc3 ),
    1311             :     WTCP( 0x69e6d067, 0x47e50ad8 ),
    1312             :     WTCP( 0x698c246c, 0x4869e665 ),
    1313             :     WTCP( 0x6930d1c4, 0x48ee4f98 ),
    1314             :     WTCP( 0x68d4d900, 0x497245a1 ),
    1315             :     WTCP( 0x68783ab1, 0x49f5c7ae ),
    1316             :     WTCP( 0x681af76a, 0x4a78d4f0 ),
    1317             :     WTCP( 0x67bd0fbd, 0x4afb6c98 ),
    1318             :     WTCP( 0x675e843e, 0x4b7d8dd8 ),
    1319             :     WTCP( 0x66ff5584, 0x4bff37e2 ),
    1320             :     WTCP( 0x669f8425, 0x4c8069ea ),
    1321             :     WTCP( 0x663f10b7, 0x4d012324 ),
    1322             :     WTCP( 0x65ddfbd3, 0x4d8162c4 ),
    1323             :     WTCP( 0x657c4613, 0x4e012800 ),
    1324             :     WTCP( 0x6519f010, 0x4e80720e ),
    1325             :     WTCP( 0x64b6fa66, 0x4eff4025 ),
    1326             :     WTCP( 0x645365b2, 0x4f7d917c ),
    1327             :     WTCP( 0x63ef3290, 0x4ffb654d ),
    1328             :     WTCP( 0x638a619e, 0x5078bad1 ),
    1329             :     WTCP( 0x6324f37d, 0x50f59141 ),
    1330             :     WTCP( 0x62bee8cc, 0x5171e7d9 ),
    1331             :     WTCP( 0x6258422c, 0x51edbdd4 ),
    1332             :     WTCP( 0x61f1003f, 0x5269126e ),
    1333             :     WTCP( 0x618923a9, 0x52e3e4e6 ),
    1334             :     WTCP( 0x6120ad0d, 0x535e3479 ),
    1335             :     WTCP( 0x60b79d10, 0x53d80065 ),
    1336             :     WTCP( 0x604df459, 0x545147eb ),
    1337             :     WTCP( 0x5fe3b38d, 0x54ca0a4b ),
    1338             :     WTCP( 0x5f78db56, 0x554246c6 ),
    1339             :     WTCP( 0x5f0d6c5b, 0x55b9fc9e ),
    1340             :     WTCP( 0x5ea16747, 0x56312b17 ),
    1341             :     WTCP( 0x5e34ccc3, 0x56a7d174 ),
    1342             :     WTCP( 0x5dc79d7c, 0x571deefa ),
    1343             :     WTCP( 0x5d59da1e, 0x579382ee ),
    1344             :     WTCP( 0x5ceb8355, 0x58088c96 ),
    1345             :     WTCP( 0x5c7c99d1, 0x587d0b3b ),
    1346             :     WTCP( 0x5c0d1e41, 0x58f0fe23 ),
    1347             :     WTCP( 0x5b9d1154, 0x59646498 ),
    1348             :     WTCP( 0x5b2c73bb, 0x59d73de3 ),
    1349             :     WTCP( 0x5abb4629, 0x5a498950 ),
    1350             : };
    1351             : 
    1352             : 
    1353             : const PWord16 SineWindow420[210] = { // Q15
    1354             :     WTCP( 0x7ffff155, 0x003d46a7 ), WTCP( 0x7fff7bff, 0x00b7d3bc ), WTCP( 0x7ffe9154, 0x01326029 ), WTCP( 0x7ffd3154, 0x01aceb7c ),
    1355             :     WTCP( 0x7ffb5c00, 0x02277547 ), WTCP( 0x7ff9115b, 0x02a1fd18 ), WTCP( 0x7ff65166, 0x031c8280 ), WTCP( 0x7ff31c25, 0x0397050d ),
    1356             :     WTCP( 0x7fef7199, 0x0411844f ), WTCP( 0x7feb51c6, 0x048bffd7 ), WTCP( 0x7fe6bcb0, 0x05067734 ), WTCP( 0x7fe1b25b, 0x0580e9f6 ),
    1357             :     WTCP( 0x7fdc32cc, 0x05fb57ac ), WTCP( 0x7fd63e09, 0x0675bfe7 ), WTCP( 0x7fcfd415, 0x06f02235 ), WTCP( 0x7fc8f4f7, 0x076a7e27 ),
    1358             :     WTCP( 0x7fc1a0b6, 0x07e4d34d ), WTCP( 0x7fb9d759, 0x085f2137 ), WTCP( 0x7fb198e5, 0x08d96773 ), WTCP( 0x7fa8e564, 0x0953a594 ),
    1359             :     WTCP( 0x7f9fbcdc, 0x09cddb27 ), WTCP( 0x7f961f57, 0x0a4807be ), WTCP( 0x7f8c0cdc, 0x0ac22ae8 ), WTCP( 0x7f818577, 0x0b3c4435 ),
    1360             :     WTCP( 0x7f76892f, 0x0bb65336 ), WTCP( 0x7f6b180f, 0x0c30577a ), WTCP( 0x7f5f3221, 0x0caa5092 ), WTCP( 0x7f52d771, 0x0d243e0d ),
    1361             :     WTCP( 0x7f46080a, 0x0d9e1f7d ), WTCP( 0x7f38c3f7, 0x0e17f471 ), WTCP( 0x7f2b0b45, 0x0e91bc79 ), WTCP( 0x7f1cde01, 0x0f0b7727 ),
    1362             :     WTCP( 0x7f0e3c36, 0x0f85240a ), WTCP( 0x7eff25f3, 0x0ffec2b3 ), WTCP( 0x7eef9b46, 0x107852b2 ), WTCP( 0x7edf9c3c, 0x10f1d398 ),
    1363             :     WTCP( 0x7ecf28e5, 0x116b44f6 ), WTCP( 0x7ebe414f, 0x11e4a65c ), WTCP( 0x7eace58a, 0x125df75b ), WTCP( 0x7e9b15a6, 0x12d73784 ),
    1364             :     WTCP( 0x7e88d1b4, 0x13506668 ), WTCP( 0x7e7619c3, 0x13c98397 ), WTCP( 0x7e62ede5, 0x14428ea2 ), WTCP( 0x7e4f4e2c, 0x14bb871b ),
    1365             :     WTCP( 0x7e3b3aaa, 0x15346c93 ), WTCP( 0x7e26b371, 0x15ad3e9a ), WTCP( 0x7e11b894, 0x1625fcc3 ), WTCP( 0x7dfc4a26, 0x169ea69e ),
    1366             :     WTCP( 0x7de6683a, 0x17173bbd ), WTCP( 0x7dd012e6, 0x178fbbb1 ), WTCP( 0x7db94a3c, 0x1808260c ), WTCP( 0x7da20e53, 0x18807a5f ),
    1367             :     WTCP( 0x7d8a5f40, 0x18f8b83c ), WTCP( 0x7d723d18, 0x1970df36 ), WTCP( 0x7d59a7f1, 0x19e8eedd ), WTCP( 0x7d409fe1, 0x1a60e6c3 ),
    1368             :     WTCP( 0x7d272501, 0x1ad8c67c ), WTCP( 0x7d0d3767, 0x1b508d98 ), WTCP( 0x7cf2d72b, 0x1bc83baa ), WTCP( 0x7cd80464, 0x1c3fd045 ),
    1369             :     WTCP( 0x7cbcbf2d, 0x1cb74afa ), WTCP( 0x7ca1079d, 0x1d2eab5d ), WTCP( 0x7c84ddcf, 0x1da5f0ff ), WTCP( 0x7c6841db, 0x1e1d1b73 ),
    1370             :     WTCP( 0x7c4b33dc, 0x1e942a4d ), WTCP( 0x7c2db3ee, 0x1f0b1d1f ), WTCP( 0x7c0fc22a, 0x1f81f37c ), WTCP( 0x7bf15eac, 0x1ff8acf7 ),
    1371             :     WTCP( 0x7bd28991, 0x206f4923 ), WTCP( 0x7bb342f3, 0x20e5c793 ), WTCP( 0x7b938af1, 0x215c27dc ), WTCP( 0x7b7361a7, 0x21d2698f ),
    1372             :     WTCP( 0x7b52c733, 0x22488c42 ), WTCP( 0x7b31bbb2, 0x22be8f87 ), WTCP( 0x7b103f43, 0x233472f3 ), WTCP( 0x7aee5205, 0x23aa361a ),
    1373             :     WTCP( 0x7acbf416, 0x241fd88e ), WTCP( 0x7aa92596, 0x249559e6 ), WTCP( 0x7a85e6a5, 0x250ab9b4 ), WTCP( 0x7a623764, 0x257ff78e ),
    1374             :     WTCP( 0x7a3e17f2, 0x25f51307 ), WTCP( 0x7a198872, 0x266a0bb5 ), WTCP( 0x79f48904, 0x26dee12c ), WTCP( 0x79cf19cb, 0x27539302 ),
    1375             :     WTCP( 0x79a93ae9, 0x27c820ca ), WTCP( 0x7982ec80, 0x283c8a1b ), WTCP( 0x795c2eb5, 0x28b0ce8a ), WTCP( 0x793501a9, 0x2924edac ),
    1376             :     WTCP( 0x790d6581, 0x2998e716 ), WTCP( 0x78e55a62, 0x2a0cba5e ), WTCP( 0x78bce070, 0x2a80671b ), WTCP( 0x7893f7d1, 0x2af3ece2 ),
    1377             :     WTCP( 0x786aa0a9, 0x2b674b49 ), WTCP( 0x7840db1f, 0x2bda81e6 ), WTCP( 0x7816a759, 0x2c4d9050 ), WTCP( 0x77ec057d, 0x2cc0761e ),
    1378             :     WTCP( 0x77c0f5b3, 0x2d3332e5 ), WTCP( 0x77957822, 0x2da5c63e ), WTCP( 0x77698cf3, 0x2e182fbe ), WTCP( 0x773d344d, 0x2e8a6efd ),
    1379             :     WTCP( 0x77106e58, 0x2efc8393 ), WTCP( 0x76e33b3f, 0x2f6e6d16 ), WTCP( 0x76b59b2a, 0x2fe02b1e ), WTCP( 0x76878e43, 0x3051bd43 ),
    1380             :     WTCP( 0x765914b5, 0x30c3231d ), WTCP( 0x762a2eaa, 0x31345c44 ), WTCP( 0x75fadc4d, 0x31a56850 ), WTCP( 0x75cb1dca, 0x321646d9 ),
    1381             :     WTCP( 0x759af34c, 0x3286f779 ), WTCP( 0x756a5cff, 0x32f779c7 ), WTCP( 0x75395b10, 0x3367cd5d ), WTCP( 0x7507edac, 0x33d7f1d3 ),
    1382             :     WTCP( 0x74d61500, 0x3447e6c3 ), WTCP( 0x74a3d13a, 0x34b7abc6 ), WTCP( 0x74712288, 0x35274076 ), WTCP( 0x743e0918, 0x3596a46c ),
    1383             :     WTCP( 0x740a8519, 0x3605d743 ), WTCP( 0x73d696bb, 0x3674d894 ), WTCP( 0x73a23e2d, 0x36e3a7fa ), WTCP( 0x736d7b9f, 0x3752450f ),
    1384             :     WTCP( 0x73384f41, 0x37c0af6d ), WTCP( 0x7302b945, 0x382ee6b0 ), WTCP( 0x72ccb9db, 0x389cea72 ), WTCP( 0x72965134, 0x390aba4f ),
    1385             :     WTCP( 0x725f7f84, 0x397855e1 ), WTCP( 0x722844fb, 0x39e5bcc5 ), WTCP( 0x71f0a1cc, 0x3a52ee96 ), WTCP( 0x71b8962b, 0x3abfeaf1 ),
    1386             :     WTCP( 0x7180224b, 0x3b2cb170 ), WTCP( 0x71474660, 0x3b9941b1 ), WTCP( 0x710e029e, 0x3c059b4f ), WTCP( 0x70d45738, 0x3c71bde8 ),
    1387             :     WTCP( 0x709a4465, 0x3cdda919 ), WTCP( 0x705fca59, 0x3d495c7e ), WTCP( 0x7024e94b, 0x3db4d7b5 ), WTCP( 0x6fe9a16f, 0x3e201a5b ),
    1388             :     WTCP( 0x6fadf2fc, 0x3e8b240e ), WTCP( 0x6f71de2a, 0x3ef5f46c ), WTCP( 0x6f35632e, 0x3f608b13 ), WTCP( 0x6ef88241, 0x3fcae7a1 ),
    1389             :     WTCP( 0x6ebb3b9a, 0x403509b4 ), WTCP( 0x6e7d8f72, 0x409ef0ed ), WTCP( 0x6e3f7e01, 0x41089ce8 ), WTCP( 0x6e010780, 0x41720d46 ),
    1390             :     WTCP( 0x6dc22c28, 0x41db41a5 ), WTCP( 0x6d82ec32, 0x424439a6 ), WTCP( 0x6d4347da, 0x42acf4e8 ), WTCP( 0x6d033f58, 0x4315730c ),
    1391             :     WTCP( 0x6cc2d2e9, 0x437db3b0 ), WTCP( 0x6c8202c6, 0x43e5b676 ), WTCP( 0x6c40cf2c, 0x444d7aff ), WTCP( 0x6bff3855, 0x44b500eb ),
    1392             :     WTCP( 0x6bbd3e7f, 0x451c47dc ), WTCP( 0x6b7ae1e6, 0x45834f72 ), WTCP( 0x6b3822c6, 0x45ea1750 ), WTCP( 0x6af5015c, 0x46509f16 ),
    1393             :     WTCP( 0x6ab17de7, 0x46b6e668 ), WTCP( 0x6a6d98a4, 0x471cece7 ), WTCP( 0x6a2951d2, 0x4782b236 ), WTCP( 0x69e4a9ae, 0x47e835f7 ),
    1394             :     WTCP( 0x699fa078, 0x484d77ce ), WTCP( 0x695a366f, 0x48b2775d ), WTCP( 0x69146bd3, 0x49173448 ), WTCP( 0x68ce40e4, 0x497bae33 ),
    1395             :     WTCP( 0x6887b5e2, 0x49dfe4c2 ), WTCP( 0x6840cb0e, 0x4a43d799 ), WTCP( 0x67f980a8, 0x4aa7865b ), WTCP( 0x67b1d6f3, 0x4b0af0ae ),
    1396             :     WTCP( 0x6769ce2f, 0x4b6e1637 ), WTCP( 0x6721669f, 0x4bd0f69b ), WTCP( 0x66d8a085, 0x4c33917f ), WTCP( 0x668f7c25, 0x4c95e688 ),
    1397             :     WTCP( 0x6645f9c0, 0x4cf7f55d ), WTCP( 0x65fc199a, 0x4d59bda3 ), WTCP( 0x65b1dbf8, 0x4dbb3f02 ), WTCP( 0x6567411d, 0x4e1c791f ),
    1398             :     WTCP( 0x651c494d, 0x4e7d6ba2 ), WTCP( 0x64d0f4ce, 0x4ede1631 ), WTCP( 0x648543e4, 0x4f3e7875 ), WTCP( 0x643936d4, 0x4f9e9214 ),
    1399             :     WTCP( 0x63eccde5, 0x4ffe62b6 ), WTCP( 0x63a0095c, 0x505dea05 ), WTCP( 0x6352e980, 0x50bd27a7 ), WTCP( 0x63056e98, 0x511c1b47 ),
    1400             :     WTCP( 0x62b798ea, 0x517ac48c ), WTCP( 0x626968be, 0x51d92321 ), WTCP( 0x621ade5c, 0x523736ae ), WTCP( 0x61cbfa0b, 0x5294fedd ),
    1401             :     WTCP( 0x617cbc14, 0x52f27b58 ), WTCP( 0x612d24c0, 0x534fabcb ), WTCP( 0x60dd3457, 0x53ac8fde ), WTCP( 0x608ceb22, 0x5409273e ),
    1402             :     WTCP( 0x603c496c, 0x54657194 ), WTCP( 0x5feb4f7f, 0x54c16e8e ), WTCP( 0x5f99fda4, 0x551d1dd5 ), WTCP( 0x5f485426, 0x55787f17 ),
    1403             :     WTCP( 0x5ef6534f, 0x55d391ff ), WTCP( 0x5ea3fb6c, 0x562e563a ), WTCP( 0x5e514cc8, 0x5688cb75 ), WTCP( 0x5dfe47ad, 0x56e2f15d ),
    1404             :     WTCP( 0x5daaec6a, 0x573cc79f ), WTCP( 0x5d573b49, 0x57964de9 ), WTCP( 0x5d033497, 0x57ef83e9 ), WTCP( 0x5caed8a2, 0x5848694d ),
    1405             :     WTCP( 0x5c5a27b8, 0x58a0fdc3 ), WTCP( 0x5c052224, 0x58f940fa ), WTCP( 0x5bafc837, 0x595132a2 ), WTCP( 0x5b5a1a3d, 0x59a8d26a ),
    1406             :     WTCP( 0x5b041885, 0x5a002001 ), WTCP( 0x5aadc35e, 0x5a571b18 )
    1407             : };
    1408             : 
    1409             : 
    1410             : const PWord16 *const windowSlopes[1][2][8] = { // Q15
    1411             :     {
    1412             :         /* Sine */
    1413             :         { /* Radix 2 */
    1414             :           NULL,
    1415             :           NULL,
    1416             :           SineWindow16,
    1417             :           SineWindow32,
    1418             :           SineWindow64,
    1419             :           SineWindow128,
    1420             :           SineWindow256,
    1421             :           NULL },
    1422             :         {       /* 640 raster */
    1423             :           NULL, /* 2.5 */
    1424             :           NULL, /* 5 */
    1425             :           SineWindow10,
    1426             :           SineWindow20,
    1427             :           SineWindow40,
    1428             :           SineWindow80,
    1429             :           SineWindow160,
    1430             :           SineWindow320 },
    1431             :     }
    1432             : };
    1433             : 
    1434             : #define DCTIV_SINETABLE         SineTable512
    1435             : #define DCTIV_SINETABLE_SIZE_LD 9
    1436             : 
    1437             : #define DCTIV_SINETABLE320         SineTable320
    1438             : #define DCTIV_SINETABLE320_SIZE_LD 8
    1439             : 
    1440     2718450 : void BASOP_getTables( const PWord16 **ptwiddle /*Q15*/, const PWord16 **sin_twiddle /*Q15*/, Word16 *psin_step, Word16 length )
    1441             : {
    1442             :     const PWord16 *twiddle;
    1443             :     const PWord16 *sine;
    1444             :     Word16 ld2_length, sin_step;
    1445             : 
    1446             :     /* Get ld2 of length - 2 + 1
    1447             :             -2: because first table entry is window of size 4
    1448             :             +1: because we already include +1 because of ceil(log2(length)) */
    1449     2718450 :     ld2_length = sub( 16 - 1 - 1, norm_s( length ) );
    1450             : 
    1451             :     /* Extract sort of "eigenvalue" (the 5 left most bits) of length. */
    1452     2718450 :     SWITCH( (UWord16) L_shl( length, sub( 15, ld2_length ) ) )
    1453             :     {
    1454     2153259 :         case 0xa000: /* 640 */
    1455     2153259 :             move16();
    1456     2153259 :             move16();
    1457     2153259 :             sine = DCTIV_SINETABLE320;
    1458     2153259 :             sin_step = shl( 1, sub( DCTIV_SINETABLE320_SIZE_LD + 1, ld2_length ) );
    1459     2153259 :             twiddle = windowSlopes[0][1][ld2_length - 1]; // Q15
    1460     2153259 :             BREAK;
    1461             : 
    1462      565191 :         case 0x8000: /* radix 2 */
    1463      565191 :             move16();
    1464      565191 :             move16();
    1465      565191 :             sine = DCTIV_SINETABLE;
    1466      565191 :             sin_step = shl( 1, sub( DCTIV_SINETABLE_SIZE_LD + 1, ld2_length ) );
    1467      565191 :             twiddle = windowSlopes[0][0][ld2_length - 2]; // Q15
    1468      565191 :             BREAK;
    1469             : 
    1470           0 :         default: /* not instrumented, probably obsolete */
    1471           0 :             sine = NULL;
    1472           0 :             sin_step = 0;
    1473           0 :             twiddle = NULL;
    1474           0 :             BREAK;
    1475             :     }
    1476             : 
    1477     2718450 :     if ( ptwiddle != NULL )
    1478             :     {
    1479     2188308 :         assert( twiddle != NULL || length == 0 );
    1480     2188308 :         move16();
    1481     2188308 :         *ptwiddle = twiddle;
    1482             :     }
    1483             : 
    1484     2718450 :     if ( sin_twiddle != NULL )
    1485             :     {
    1486      530142 :         move16();
    1487      530142 :         *sin_twiddle = sine;
    1488             :     }
    1489     2718450 :     if ( psin_step != NULL )
    1490             :     {
    1491      536976 :         assert( sin_step > 0 || length == 0 );
    1492      536976 :         move16();
    1493      536976 :         *psin_step = sin_step;
    1494             :     }
    1495     2718450 : }
    1496             : 
    1497         808 : const PWord16 *getSineWindowTable( Word16 length )
    1498             : {
    1499         808 :     const PWord16 *p = NULL;
    1500             : 
    1501         808 :     SWITCH( length )
    1502             :     {
    1503           0 :         case 10:
    1504           0 :             p = SineWindow10; // Q15
    1505           0 :             BREAK;
    1506          88 :         case 16:
    1507          88 :             p = SineWindow16; // Q15
    1508          88 :             BREAK;
    1509         112 :         case 20:
    1510         112 :             p = SineWindow20; // Q15
    1511         112 :             BREAK;
    1512           0 :         case 30:
    1513           0 :             p = SineWindow30; // Q15
    1514           0 :             BREAK;
    1515           2 :         case 32:
    1516           2 :             p = SineWindow32; // Q15
    1517           2 :             BREAK;
    1518          84 :         case 40:
    1519          84 :             p = SineWindow40; // Q15
    1520          84 :             BREAK;
    1521          44 :         case 48:
    1522          44 :             p = SineWindow48; // Q15
    1523          44 :             BREAK;
    1524         174 :         case 60:
    1525         174 :             p = SineWindow60; // Q15
    1526         174 :             BREAK;
    1527           0 :         case 70:
    1528           0 :             p = SineWindow70; // Q15
    1529           0 :             BREAK;
    1530           1 :         case 96:
    1531           1 :             p = SineWindow96; // Q15
    1532           1 :             BREAK;
    1533          44 :         case 112:
    1534          44 :             p = SineWindow112; // Q15
    1535          44 :             BREAK;
    1536          42 :         case 120:
    1537          42 :             p = SineWindow120; // Q15
    1538          42 :             BREAK;
    1539          56 :         case 140:
    1540          56 :             p = SineWindow140; // Q15
    1541          56 :             BREAK;
    1542          59 :         case 180:
    1543          59 :             p = SineWindow180; // Q15
    1544          59 :             BREAK;
    1545           1 :         case 224:
    1546           1 :             p = SineWindow224; // Q15
    1547           1 :             BREAK;
    1548          42 :         case 280:
    1549          42 :             p = SineWindow280; // Q15
    1550          42 :             BREAK;
    1551          59 :         case 420:
    1552          59 :             p = SineWindow420; // Q15
    1553          59 :             BREAK;
    1554             :     }
    1555             : 
    1556         808 :     assert( p != NULL );
    1557             : 
    1558         808 :     return p;
    1559             : }

Generated by: LCOV version 1.14