static const int32_t a52_imdct_window[256] =
{
  0x000474c9, 0x7fffffec, 0x0007fdfd, 0x7fffffc0
, 0x000c0272, 0x7fffff70, 0x0010a35b, 0x7ffffeeb
, 0x0015f4ae, 0x7ffffe1e, 0x001c079e, 0x7ffffcee
, 0x0022ecc2, 0x7ffffb3c, 0x002ab4c6, 0x7ffff8e0
, 0x003370ac, 0x7ffff5aa, 0x003d31e5, 0x7ffff15f
, 0x00480a5e, 0x7fffebba, 0x00540c87, 0x7fffe468
, 0x00614b4e, 0x7fffdb06, 0x006fda25, 0x7fffcf21
, 0x007fccfb, 0x7fffc033, 0x0091383a, 0x7fffad9f
, 0x00a430c2, 0x7fff96b1, 0x00b8cbe7, 0x7fff7a9a
, 0x00cf1f67, 0x7fff586c, 0x00e74167, 0x7fff2f18
, 0x0101486b, 0x7ffefd6c, 0x011d4b53, 0x7ffec20e
, 0x013b614e, 0x7ffe7b75, 0x015ba1d9, 0x7ffe27ec
, 0x017e24af, 0x7ffdc58a, 0x01a301c8, 0x7ffd522a
, 0x01ca514e, 0x7ffccb6f, 0x01f42b91, 0x7ffc2eb7
, 0x0220a901, 0x7ffb791d, 0x024fe223, 0x7ffaa76e
, 0x0281ef88, 0x7ff9b627, 0x02b6e9c0, 0x7ff8a171
, 0x02eee953, 0x7ff7651a, 0x032a06b4, 0x7ff5fc8d
, 0x03685a36, 0x7ff462d2, 0x03a9fc01, 0x7ff29285
, 0x03ef0407, 0x7ff085d0, 0x043789f9, 0x7fee3667
, 0x0483a539, 0x7feb9d84, 0x04d36cd0, 0x7fe8b3de
, 0x0526f763, 0x7fe571a7, 0x057e5b22, 0x7fe1ce83
, 0x05d9adc4, 0x7fddc18a, 0x06390472, 0x7fd9413a
, 0x069c73c2, 0x7fd4437d, 0x07040fa8, 0x7fcebd9a
, 0x076feb68, 0x7fc8a43a, 0x07e0198f, 0x7fc1eb5f
, 0x0854abe2, 0x7fba8666, 0x08cdb357, 0x7fb267fd
, 0x094b4004, 0x7fa98228, 0x09cd611b, 0x7f9fc63c
, 0x0a5424d7, 0x7f9524dd, 0x0adf9878, 0x7f898dfe
, 0x0b6fc832, 0x7f7cf0e4, 0x0c04bf28, 0x7f6f3c21
, 0x0c9e8760, 0x7f605d98, 0x0d3d29ba, 0x7f504282
, 0x0de0ade4, 0x7f3ed768, 0x0e891a56, 0x7f2c082f
, 0x0f367444, 0x7f17c017, 0x0fe8bf9c, 0x7f01e9c0
, 0x109ffefb, 0x7eea6f2f, 0x115c33a3, 0x7ed139d7
, 0x121d5d7d, 0x7eb6329a, 0x12e37b0c, 0x7e9941d6
, 0x13ae8969, 0x7e7a4f69, 0x147e843f, 0x7e5942bb
, 0x155365c9, 0x7e3602c8, 0x162d26ca, 0x7e107628
, 0x170bbe8c, 0x7de8831e, 0x17ef22e1, 0x7dbe0f9c
, 0x18d7481a, 0x7d910157, 0x19c4210c, 0x7d613dcc
, 0x1ab59f10, 0x7d2eaa53, 0x1babb1fe, 0x7cf92c27
, 0x1ca64833, 0x7cc0a87a, 0x1da54e8f, 0x7c85047b
, 0x1ea8b07c, 0x7c46256e, 0x1fb057ed, 0x7c03f0b1
, 0x20bc2d64, 0x7bbe4bd6, 0x21cc17f4, 0x7b751ca8
, 0x22dffd4a, 0x7b284943, 0x23f7c1b0, 0x7ad7b81d
, 0x25134815, 0x7a83501c, 0x26327213, 0x7a2af8a3
, 0x27551ff8, 0x79ce999f, 0x287b30cf, 0x796e1b9e
, 0x29a48269, 0x790967d8, 0x2ad0f165, 0x78a06844
, 0x2c00593c, 0x783307a1, 0x2d32944f, 0x77c1318e
, 0x2e677bed, 0x774ad292, 0x2f9ee863, 0x76cfd82c
, 0x30d8b109, 0x765030e5, 0x3214ac4e, 0x75cbcc58
, 0x3352afc7, 0x75429b45, 0x3492903b, 0x74b48f9b
, 0x35d421b7, 0x74219c85, 0x37173796, 0x7389b676
, 0x385ba498, 0x72ecd333, 0x39a13aec, 0x724ae9e0
, 0x3ae7cc44, 0x71a3f30b, 0x3c2f29e7, 0x70f7e8af
, 0x3d7724bb, 0x7046c643, 0x3ebf8d60, 0x6f9088c1
, 0x40083439, 0x6ed52ea9, 0x4150e982, 0x6e14b80e
, 0x42997d62, 0x6d4f2694, 0x43e1bff9, 0x6c847d7a
, 0x45298176, 0x6bb4c19f, 0x4670922a, 0x6adff97e
, 0x47b6c293, 0x6a062d39, 0x48fbe376, 0x69276694
, 0x4a3fc5eb, 0x6843b0fa, 0x4b823b74, 0x675b1978
, 0x4cc3160a, 0x666daec1, 0x4e02282f, 0x657b8128
, 0x4f3f4502, 0x6484a2a1, 0x507a404f, 0x638926b8
, 0x51b2ee9e, 0x62892294, 0x52e92544, 0x6184acea
, 0x541cba73, 0x607bddfb, 0x554d854b, 0x5f6ecf8e
, 0x567b5de8, 0x5e5d9ce6, 0x57a61d70, 0x5d4862bb
, 0x58cd9e21, 0x5c2f3f30, 0x59f1bb61, 0x5b1251c8
};

static const int32_t roots16[3] =
{
  0x7641af3d, 0x5a82799a, 0x30fbc54d
};

static const int32_t roots32[7] =
{
  0x7d8a5f40, 0x7641af3d, 0x6a6d98a4, 0x5a82799a
, 0x471cece7, 0x30fbc54d, 0x18f8b83c
};

static const int32_t roots64[15] =
{
  0x7f62368f, 0x7d8a5f40, 0x7a7d055b, 0x7641af3d
, 0x70e2cbc6, 0x6a6d98a4, 0x62f201ac, 0x5a82799a
, 0x5133cc94, 0x471cece7, 0x3c56ba70, 0x30fbc54d
, 0x25280c5e, 0x18f8b83c, 0x0c8bd35e
};

static const int32_t roots128[31] =
{
  0x7fd8878e, 0x7f62368f, 0x7e9d55fc, 0x7d8a5f40
, 0x7c29fbee, 0x7a7d055b, 0x78848414, 0x7641af3d
, 0x73b5ebd1, 0x70e2cbc6, 0x6dca0d14, 0x6a6d98a4
, 0x66cf8120, 0x62f201ac, 0x5ed77c8a, 0x5a82799a
, 0x55f5a4d2, 0x5133cc94, 0x4c3fdff4, 0x471cece7
, 0x41ce1e65, 0x3c56ba70, 0x36ba2014, 0x30fbc54d
, 0x2b1f34eb, 0x25280c5e, 0x1f19f97b, 0x18f8b83c
, 0x12c8106f, 0x0c8bd35e, 0x0647d97c
};

static const complex_t pre1[128] =
{
  {0x5ac973b5, 0x5a3b47ab}, {0x006487e3, 0x7fffd886}
, {0x3158970e, 0x761b1211}, {0xcf612aab, 0x76680376}
, {0x47706d93, 0x6a359db9}, {0xe769e8d9, 0x7d9dd55a}
, {0xb936bfa5, 0x6aa551e9}, {0x195b49ea, 0x7d769bb5}
, {0x518169a5, 0x62b21c7b}, {0xf3d83c78, 0x7f6be9d4}
, {0x2588349d, 0x7a5fb0d8}, {0xc4020134, 0x71120cc5}
, {0xaf1a0294, 0x6331a9d4}, {0x0cefdb76, 0x7f5834b7}
, {0x3caf50da, 0x70b34525}, {0xdb3832ce, 0x7a9a0e50}
, {0x56400758, 0x5e93dc1f}, {0xfa1c9158, 0x7fdd4eec}
, {0x2b7dcf17, 0x786280bf}, {0xc9a0d1c6, 0x73e0c3a3}
, {0x42244481, 0x6d963c54}, {0xe14794bb, 0x7c4242f2}
, {0xb410f6d4, 0x670b4444}, {0x132b7bf9, 0x7e8e6eb2}
, {0xaa54f2bb, 0x5f1ae274}, {0x06ac406f, 0x7fd37153}
, {0x3714f02a, 0x738acc9e}, {0xd53f7fdb, 0x78a63d11}
, {0x4c9087b1, 0x66937e91}, {0xed9b66b3, 0x7eabef2c}
, {0xbe883050, 0x6dfd9a1c}, {0x1f7b7481, 0x7c116853}
, {0x588b9140, 0x5c6eb258}, {0xfd40565d, 0x7ff871a2}
, {0x2e6ec792, 0x7747fbce}, {0xcc7d0579, 0x752d6c6c}
, {0x44cfa740, 0x6bee3f62}, {0xe4569ccc, 0x7cf9aef0}
, {0xb69e32ce, 0x68e06129}, {0x16451a83, 0x7e0c3d29}
, {0x4f0f1126, 0x64aa907f}, {0xf0b8a402, 0x7f15b8ee}
, {0x22847de0, 0x7b420d7a}, {0xc1404234, 0x6f906d84}
, {0xacb10e4c, 0x612dc447}, {0x09cecf89, 0x7f9faa15}
, {0x39e6975e, 0x7227d61c}, {0xd838c82e, 0x79a98715}
, {0xa8060d09, 0x5cf95638}, {0x0388a9ea, 0x7ff38274}
, {0x343aca87, 0x74dbf1ef}, {0xd24ccf3a, 0x7790583e}
, {0x4a062fbd, 0x686c9b4b}, {0xea80ff7b, 0x7e2e9cdf}
, {0xbbda36de, 0x6c59d0a9}, {0x1c6d9053, 0x7ccda169}
, {0x53e73097, 0x60aa7050}, {0xf6f9b4c7, 0x7fae7495}
, {0x288621b9, 0x796a7554}, {0xc6cd007a, 0x72823c67}
, {0xb18f7072, 0x6526438f}, {0x100ee8ad, 0x7efd1c3c}
, {0x3f6eaeb8, 0x6f2d532c}, {0xde3d4965, 0x7b77ada8}
, {0xa653c304, 0xa4a94044}, {0x012d96b1, 0x8001634f}
, {0xd01b645a, 0x894c2f4d}, {0x3211df04, 0x8a3302bf}
, {0xb9de9b84, 0x94ec010c}, {0x1a203e1b, 0x82b1d382}
, {0x4816ea86, 0x963b1c87}, {0xe82f5845, 0x823c26f4}
, {0xafb63668, 0x9c4fbd94}, {0x0db7d376, 0x80bcba9e}
, {0xdbf8f4f9, 0x852cc2bc}, {0x3d600d2c, 0x8fac9890}
, {0x521c0cc2, 0x9dce6464}, {0xf4a07262, 0x80819b75}
, {0xc4b3e747, 0x8e904299}, {0x26483f6c, 0x85dbda92}
, {0xaaeac02d, 0xa05f01e2}, {0x077501be, 0x8037a7ad}
, {0xd5fd3849, 0x8717304f}, {0x37ca2a30, 0x8ccc477e}
, {0xbf3546a9, 0x919c1782}, {0x203e300d, 0x8420a46d}
, {0x4d31494b, 0x99e5443c}, {0xee6276c0, 0x8137c8e7}
, {0x56d42c99, 0xa1f41393}, {0xfae571a5, 0x801a0ef9}
, {0xca5719dc, 0x8bca6344}, {0x2c3ab2b9, 0x87e2649c}
, {0xb4b330b4, 0x987df44a}, {0x13f22f58, 0x81904a0d}
, {0x42d0161e, 0x92d22fda}, {0xe20ae9c2, 0x838e1508}
, {0x591c550e, 0xa41cd59a}, {0xfe095d6a, 0x8003daf2}
, {0xcd355492, 0x8a823a37}, {0x2f29ebcc, 0x890186f3}
, {0xb7434a68, 0x96acdbbf}, {0x170afd8d, 0x82175991}
, {0x4578db93, 0x947e5c34}, {0xe51b0e2b, 0x82db77e6}
, {0xad4a1abb, 0x9e4fd78b}, {0x0a973ba5, 0x80705b51}
, {0xd8f8143a, 0x8618935a}, {0x3a99a057, 0x8e33a9db}
, {0x4faccfab, 0x9bd21af4}, {0xf1805663, 0x80d2e3f3}
, {0xc1efcdf4, 0x900d8b6a}, {0x2345eff8, 0x84f4c2d5}
, {0xa8988464, 0xa27ceb50}, {0x0451a177, 0x8012a870}
, {0xd308d6c8, 0x88287257}, {0x34f219a8, 0x8b76a8e5}
, {0xbc84bd20, 0x933ba969}, {0x1d31774d, 0x835fa010}
, {0x4aa9dba2, 0x98082c3c}, {0xeb474e82, 0x81b03ac3}
, {0x547ea073, 0x9fd9d22b}, {0xf7c24f5a, 0x8043fbf7}
, {0xc7812573, 0x8d2477d9}, {0x2944a7a2, 0x86d5c803}
, {0xb22eb393, 0x9a5f02f6}, {0x10d64dbd, 0x811cb9cb}
, {0x401d0321, 0x9136d97e}, {0xdeff63f5, 0x8453e2d0}
};

static const complex_t post1[64] =
{
  {0x7fff6216, 0x00c90f88}, {0x7ffa72d1, 0x025b26d7}
, {0x7ff09478, 0x03ed26e6}, {0x7fe1c76b, 0x057f0035}
, {0x7fce0c3e, 0x0710a345}, {0x7fb563b3, 0x08a2009a}
, {0x7f97cebd, 0x0a3308bd}, {0x7f754e80, 0x0bc3ac35}
, {0x7f4de451, 0x0d53db92}, {0x7f2191b4, 0x0ee38766}
, {0x7ef05860, 0x1072a048}, {0x7eba3a39, 0x120116d5}
, {0x7e7f3957, 0x138edbb1}, {0x7e3f57ff, 0x151bdf86}
, {0x7dfa98a8, 0x16a81305}, {0x7db0fdf8, 0x183366e9}
, {0x7d628ac6, 0x19bdcbf3}, {0x7d0f4218, 0x1b4732ef}
, {0x7cb72724, 0x1ccf8cb3}, {0x7c5a3d50, 0x1e56ca1e}
, {0x7bf88830, 0x1fdcdc1b}, {0x7b920b89, 0x2161b3a0}
, {0x7b26cb4f, 0x22e541af}, {0x7ab6cba4, 0x24677758}
, {0x7a4210d8, 0x25e845b6}, {0x79c89f6e, 0x27679df4}
, {0x794a7c12, 0x28e5714b}, {0x78c7aba2, 0x2a61b101}
, {0x78403329, 0x2bdc4e6f}, {0x77b417df, 0x2d553afc}
, {0x77235f2d, 0x2ecc681e}, {0x768e0ea6, 0x3041c761}
, {0x75f42c0b, 0x31b54a5e}, {0x7555bd4c, 0x3326e2c3}
, {0x74b2c884, 0x34968250}, {0x740b53fb, 0x36041ad9}
, {0x735f6626, 0x376f9e46}, {0x72af05a7, 0x38d8fe93}
, {0x71fa3949, 0x3a402dd2}, {0x71410805, 0x3ba51e29}
, {0x708378ff, 0x3d07c1d6}, {0x6fc19385, 0x3e680b2c}
, {0x6efb5f12, 0x3fc5ec98}, {0x6e30e34a, 0x4121589b}
, {0x6d6227fa, 0x427a41d0}, {0x6c8f351c, 0x43d09aed}
, {0x6bb812d1, 0x452456bd}, {0x6adcc964, 0x46756828}
, {0x69fd614a, 0x47c3c22f}, {0x6919e320, 0x490f57ee}
, {0x683257ab, 0x4a581c9e}, {0x6746c7d8, 0x4b9e0390}
, {0x66573cbb, 0x4ce10034}, {0x6563bf92, 0x4e210617}
, {0x646c59bf, 0x4f5e08e3}, {0x637114cc, 0x5097fc5e}
, {0x6271fa69, 0x51ced46e}, {0x616f146c, 0x53028518}
, {0x60686ccf, 0x5433027d}, {0x5f5e0db3, 0x556040e2}
, {0x5e50015d, 0x568a34a9}, {0x5d3e5237, 0x57b0d256}
, {0x5c290acc, 0x58d40e8c}, {0x5b1035cf, 0x59f3de12}
};

static const complex_t pre2[64] =
{
  {0x7fff6216, 0xff36f079}, {0x5b1035cf, 0x59f3de12}
, {0x768e0ea6, 0x3041c761}, {0x31b54a5e, 0x75f42c0b}
, {0x7db0fdf8, 0x183366e9}, {0x47c3c22f, 0x69fd614a}
, {0x19bdcbf3, 0x7d628ac6}, {0x6adcc964, 0x46756828}
, {0x7f754e80, 0x0bc3ac35}, {0x51ced46e, 0x6271fa69}
, {0x71410805, 0x3ba51e29}, {0x25e845b6, 0x7a4210d8}
, {0x0d53db92, 0x7f4de451}, {0x637114cc, 0x5097fc5e}
, {0x7ab6cba4, 0x24677758}, {0x3d07c1d6, 0x708378ff}
, {0x7fe1c76b, 0x057f0035}, {0x568a34a9, 0x5e50015d}
, {0x740b53fb, 0x36041ad9}, {0x2bdc4e6f, 0x78403329}
, {0x7c5a3d50, 0x1e56ca1e}, {0x427a41d0, 0x6d6227fa}
, {0x138edbb1, 0x7e7f3957}, {0x6746c7d8, 0x4b9e0390}
, {0x0710a345, 0x7fce0c3e}, {0x5f5e0db3, 0x556040e2}
, {0x78c7aba2, 0x2a61b101}, {0x376f9e46, 0x735f6626}
, {0x7eba3a39, 0x120116d5}, {0x4ce10034, 0x66573cbb}
, {0x1fdcdc1b, 0x7bf88830}, {0x6e30e34a, 0x4121589b}
, {0x7ffa72d1, 0x025b26d7}, {0x58d40e8c, 0x5c290acc}
, {0x7555bd4c, 0x3326e2c3}, {0x2ecc681e, 0x77235f2d}
, {0x7d0f4218, 0x1b4732ef}, {0x452456bd, 0x6bb812d1}
, {0x16a81305, 0x7dfa98a8}, {0x6919e320, 0x490f57ee}
, {0x7f2191b4, 0x0ee38766}, {0x4f5e08e3, 0x646c59bf}
, {0x6fc19385, 0x3e680b2c}, {0x22e541af, 0x7b26cb4f}
, {0x0a3308bd, 0x7f97cebd}, {0x616f146c, 0x53028518}
, {0x79c89f6e, 0x27679df4}, {0x3a402dd2, 0x71fa3949}
, {0x03ed26e6, 0x7ff09478}, {0x5d3e5237, 0x57b0d256}
, {0x77b417df, 0x2d553afc}, {0x34968250, 0x74b2c884}
, {0x7e3f57ff, 0x151bdf86}, {0x4a581c9e, 0x683257ab}
, {0x1ccf8cb3, 0x7cb72724}, {0x6c8f351c, 0x43d09aed}
, {0x7fb563b3, 0x08a2009a}, {0x5433027d, 0x60686ccf}
, {0x72af05a7, 0x38d8fe93}, {0x28e5714b, 0x794a7c12}
, {0x1072a048, 0x7ef05860}, {0x6563bf92, 0x4e210617}
, {0x7b920b89, 0x2161b3a0}, {0x3fc5ec98, 0x6efb5f12}
};

static const complex_t post2[32] =
{
  {0x7ffd885a, 0x01921d20}, {0x7fe9cbc0, 0x04b6195d}
, {0x7fc25596, 0x07d95b9e}, {0x7f872bf3, 0x0afb6805}
, {0x7f3857f6, 0x0e1bc2e4}, {0x7ed5e5c6, 0x1139f0cf}
, {0x7e5fe493, 0x145576b1}, {0x7dd6668f, 0x176dd9de}
, {0x7d3980ec, 0x1a82a026}, {0x7c894bde, 0x1d934fe5}
, {0x7bc5e290, 0x209f701c}, {0x7aef6323, 0x23a6887f}
, {0x7a05eead, 0x26a82186}, {0x7909a92d, 0x29a3c485}
, {0x77fab989, 0x2c98fbba}, {0x76d94989, 0x2f875262}
, {0x75a585cf, 0x326e54c7}, {0x745f9dd1, 0x354d9057}
, {0x7307c3d0, 0x382493b0}, {0x719e2cd2, 0x3af2eeb7}
, {0x7023109a, 0x3db832a6}, {0x6e96a99d, 0x4073f21d}
, {0x6cf934fc, 0x4325c135}, {0x6b4af279, 0x45cd358f}
, {0x698c246c, 0x4869e665}, {0x67bd0fbd, 0x4afb6c98}
, {0x65ddfbd3, 0x4d8162c4}, {0x63ef3290, 0x4ffb654d}
, {0x61f1003f, 0x5269126e}, {0x5fe3b38d, 0x54ca0a4b}
, {0x5dc79d7c, 0x571deefa}, {0x5b9d1154, 0x59646498}
};
