📄 g728tables.c
字号:
/*/////////////////////////////////////////////////////////////////////////////
//
// INTEL CORPORATION PROPRIETARY INFORMATION
// This software is supplied under the terms of a license agreement or
// nondisclosure agreement with Intel Corporation and may not be copied
// or disclosed except in accordance with the terms of that agreement.
// Copyright(c) 2005 Intel Corporation. All Rights Reserved.
//
// Intel(R) Integrated Performance Primitives
// USC - Unified Speech Codec interface library
//
// By downloading and installing USC codec, you hereby agree that the
// accompanying Materials are being provided to you under the terms and
// conditions of the End User License Agreement for the Intel(R) Integrated
// Performance Primitives product previously accepted by you. Please refer
// to the file ipplic.htm located in the root directory of your Intel(R) IPP
// product installation for more information.
//
// A speech coding standards promoted by ITU, ETSI, 3GPP and other
// organizations. Implementations of these standards, or the standard enabled
// platforms may require licenses from various entities, including
// Intel Corporation.
//
//
// Purpose: G.728 speech codec: tables.
//
*/
#include "owng728.h"
#include "g728tables.h"
#define NA 0
__ALIGN32 CONST Ipp16s wnrw[64] = {
0x07A5, 0x0F44, 0x16D5, 0x1E50, 0x25B0, 0x2CEE, 0x3402, 0x3AE7,
0x4196, 0x4809, 0x4E3A, 0x5424, 0x59C0, 0x5F0B, 0x63FF, 0x6897,
0x6CD0, 0x70A5, 0x7413, 0x7717, 0x79AE, 0x7BD6, 0x7D8D, 0x7ED0,
0x7FA0, 0x7FFB, 0x7FE2, 0x7F53, 0x7E50, 0x7CD9, 0x7AF0, 0x78D3,
0x76C0, 0x74B6, 0x72B5, 0x70BC, 0x6ECC, 0x6CE5, 0x6B06, 0x692F,
0x6761, 0x659A, 0x63DB, 0x6224, 0x6075, 0x5ECC, 0x5D2B, 0x5B92,
0x59FF, 0x5873, 0x56EE, 0x5570, 0x53F8, 0x5287, 0x511C, 0x4FB7,
0x4E59, 0x4D00, 0x4BAD, 0x4A61, 0x0000, 0x0000, 0x0000, 0x0000};
__ALIGN32 CONST Ipp16s wnrlg[40] = {
0x0BD2, 0x1789, 0x230D, 0x2E45, 0x3917, 0x436D, 0x4D2F, 0x5648,
0x5EA4, 0x6632, 0x6CE0, 0x72A0, 0x7765, 0x7B25, 0x7DD8, 0x7F77,
0x7FFF, 0x7F71, 0x7DCB, 0x7B12, 0x774C, 0x7315, 0x6F04, 0x6B18,
0x6750, 0x63AA, 0x6025, 0x5CBF, 0x5979, 0x5650, 0x5343, 0x5052,
0x4D7C, 0x4ABF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000};
__ALIGN32 CONST Ipp16s wnr[112] = {
0x061D, 0x0C37, 0x1249, 0x1851, 0x1E4B, 0x2432, 0x2A05, 0x2FBF,
0x355D, 0x3ADC, 0x4039, 0x4570, 0x4A7F, 0x4F62, 0x5416, 0x589A,
0x5CEA, 0x6103, 0x64E4, 0x6889, 0x6BF2, 0x6F1C, 0x7204, 0x74AA,
0x770C, 0x7928, 0x7AFE, 0x7C8C, 0x7DD0, 0x7ECC, 0x7F7D, 0x7FE3,
0x7FFF, 0x7FD1, 0x7F57, 0x7E93, 0x7DAB, 0x7CC4, 0x7BDF, 0x7AFC,
0x7A1B, 0x793A, 0x785C, 0x777F, 0x76A4, 0x75CA, 0x74F2, 0x741C,
0x7347, 0x7273, 0x71A1, 0x70D1, 0x7002, 0x6F34, 0x6E68, 0x6D9E,
0x6CD5, 0x6C0D, 0x6B47, 0x6A82, 0x69BF, 0x68FD, 0x683C, 0x677D,
0x66BF, 0x6602, 0x6547, 0x648E, 0x63D5, 0x631E, 0x6268, 0x61B4,
0x6100, 0x604E, 0x5F9E, 0x5EEE, 0x5E40, 0x5D93, 0x5CE8, 0x5C3D,
0x5B94, 0x5AEC, 0x5A45, 0x599F, 0x58FB, 0x5858, 0x57B6, 0x5715,
0x5675, 0x55D6, 0x5539, 0x549D, 0x5401, 0x5367, 0x52CE, 0x5236,
0x51A0, 0x510A, 0x5075, 0x4FE2, 0x4F4F, 0x4EBD, 0x4E2D, 0x4D9E,
0x4D0F, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000};
__ALIGN32 CONST Ipp16s cnstSynthesisFilterBroadenVector[56] = { /*facv*/
/*0x4000, */0x3F40, 0x3E82, 0x3DC7, 0x3D0D, 0x3C56, 0x3BA1, 0x3AEE,
0x3A3E, 0x398F, 0x38E2, 0x3837, 0x378F, 0x36E8, 0x3643, 0x35A1,
0x3500, 0x3461, 0x33C4, 0x3328, 0x328F, 0x31F7, 0x3161, 0x30CD,
0x303B, 0x2FAA, 0x2F1B, 0x2E8E, 0x2E02, 0x2D78, 0x2CF0, 0x2C69,
0x2BE4, 0x2B60, 0x2ADE, 0x2A5D, 0x29DE, 0x2961, 0x28E4, 0x286A,
0x27F1, 0x2779, 0x2702, 0x268D, 0x261A, 0x25A7, 0x2536, 0x24C7,
0x2458, 0x23EB, 0x2380, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000};
__ALIGN32 CONST Ipp16s cnstGainPreditorBroadenVector[16] = { /*facgpv*/
0x3A00, 0x3490, 0x2FA3, 0x2B2B, 0x271F, 0x2374, 0x2021, 0x1D1E,
0x1A63, 0x17EA, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000};
__ALIGN32 CONST Ipp16s cnstPoleCtrlFactor[16] = {
0x4000, 0x2666, 0x170A, 0x0DD3, 0x084B, 0x04FA, 0x02FC, 0x01CB,
0x0113, 0x00A5, 0x0063, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000};
__ALIGN32 CONST Ipp16s cnstZeroCtrlFactor[16] = {
0x4000, 0x399A, 0x33D7, 0x2EA8, 0x29FE, 0x25CB, 0x2203, 0x1E9C,
0x1B8D, 0x18CB, 0x1651, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000};
__ALIGN32 CONST Ipp16s cnstSTPostFltrPoleVector[16] = {
0x3000, 0x2400, 0x1B00, 0x1440, 0x0F30, 0x0B64, 0x088B, 0x0668,
0x04CE, 0x039B, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000};
__ALIGN32 CONST Ipp16s cnstSTPostFltrZeroVector[16] = {
0x299A, 0x1B0A, 0x1193, 0x0B6D, 0x076D, 0x04D4, 0x0323, 0x020A,
0x0153, 0x00DD, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000};
__ALIGN32 CONST Ipp16s gq[8] = {
0x1080, 0x1CE0, 0x3288, 0x586E, 0xEF80, 0xE320, 0xCD78, 0xA792};
__ALIGN32 CONST Ipp16s cnstShapeCodebookVectors[128] = {
0xFF1D, 0x2844, 0x1995, 0x1E49, 0x1DAD, 0x40B3, 0x1906, 0x2E9D,
0x3501, 0x2949, 0x3FC8, 0x1988, 0x3DBB, 0x2D99, 0x5346, 0x238C,
0x2FD5, 0x2EF2, 0x09C7, 0x3962, 0x470E, 0x7081, 0x41A3, 0x4F6B,
0x4663, 0x6158, 0x3F1F, 0x44D2, 0x5A20, 0x6DAB, 0x4AE1, 0x647B,
0x21DE, 0x2755, 0x01F7, 0x21C7, 0x2B9D, 0x480F, 0x10A8, 0x43E5,
0x0DCB, 0x292F, 0xF6A8, 0x08DA, 0x38BF, 0x4964, 0x32E6, 0x185E,
0x0721, 0x2382, 0x00D3, 0x0760, 0x46A8, 0x581D, 0x2A8D, 0x46EC,
0x0D62, 0x3458, 0xEEE9, 0x1F22, 0x1E4A, 0x62B6, 0x14C1, 0x3CFF,
0xE768, 0x119E, 0x089A, 0xE3C3, 0x0C4A, 0xF4FE, 0xF58E, 0xF9E1,
0x0731, 0x16AB, 0x1E90, 0x013F, 0x0717, 0x06E5, 0x1B25, 0x09B4,
0x0AF8, 0x25F2, 0xEF89, 0x1A16, 0x0A4A, 0x0DB5, 0x0367, 0x088E,
0x15AA, 0x3BE9, 0x0E7C, 0x0966, 0x1676, 0x1D72, 0x0F48, 0x0DD7,
0xD888, 0x012F, 0xE7EF, 0xFB8A, 0x0F1B, 0x172F, 0xE3DF, 0xFD09,
0xF7D3, 0xF4D1, 0x08A9, 0xF355, 0x1811, 0x16DD, 0x1DAF, 0x1A5B,
0xF82F, 0x27EA, 0xFFCA, 0x0778, 0x2CE7, 0x294F, 0x11A5, 0x10B7,
0x0715, 0x0236, 0x11D9, 0x1039, 0x0D28, 0x2BAB, 0x069E, 0x02F9};
__ALIGN32 CONST Ipp16s nngq[8] = { 3, 3, 2, 1, 3, 3, 2, 1};
__ALIGN32 CONST Ipp16s cnstCodebookVectorsGain[8] = { 0xD1F9, 0xF8DC, 0x1FBF, 0x46A2, 0xD1F9, 0xF8DC, 0x1FBF, 0x46A2};
/* Rate 12.8 specific*/
__ALIGN32 CONST Ipp16s gq_128[4] = { 0x10D4, 0x3200, 0xEF2C, 0xCE00};
__ALIGN32 CONST Ipp16s nngq_128[4] = { 3, 2, 3, 2};
__ALIGN32 CONST Ipp16s cnstCodebookVectorsGain_128[4] = { 0xD356, 0x1F02, 0xD356, 0x1F02};
/* Rate 9.6 specific*/
__ALIGN32 CONST Ipp16s gq_96[4] = { 0x1212, 0x3E02, 0xEDEE, 0xC1FE};
__ALIGN32 CONST Ipp16s nngq_96[4] = {3, 2, 3, 2};
__ALIGN32 CONST Ipp16s cnstCodebookVectorsGain_96[4] = { 0xD849, 0x2DF7, 0xD849, 0x2DF7};
/* Tables shape_all_norm and shape_all_nls are generated from
the table shape_all as follows:
for(i=0; i<128; i++)/
Vscale_16s(&shape_all[i*IDIM],IDIM,IDIM,14,&shape_all_norm[i*IDIM],&shape_all_nls[i]);*/
__ALIGN32 CONST Ipp16s shape_all_norm[128*IDIM] = {
0x14E0, 0xA3D0, 0xD8D0, 0xC810, 0xB038, 0xB160, 0xB87C, 0xEFAC,
0x2D70, 0x33D8, 0xD3F4, 0xD62C, 0xF130, 0xD3DC, 0xBA78, 0x97A4,
0xFAB0, 0x1728, 0xEC10, 0x13B8, 0xF738, 0x966C, 0x1404, 0x02CC,
0xEC18, 0xD8C0, 0x9098, 0xB30C, 0x6C04, 0x25AC, 0xD948, 0xFD90,
0x492C, 0xC37C, 0x0000, 0xBFE0, 0x10B8, 0xFC44, 0xEA3E, 0x042A,
0x1D84, 0x2B1C, 0x1594, 0x9354, 0xA39C, 0x4F68, 0xD990, 0xA5B8,
0x1C14, 0x08E0, 0xDD80, 0xCC4C, 0xB954, 0x9E90, 0x8ABC, 0xD584,
0x4418, 0xD150, 0xEE0C, 0x29A0, 0x09D6, 0x07C6, 0x152E, 0xECC0,
0xAED4, 0x1AE8, 0x89BC, 0xD528, 0x21EC, 0xDB9C, 0x0810, 0x05D6,
0xF94C, 0xC1EC, 0x9BAA, 0x3088, 0x4BE0, 0xBE7C, 0xD84C, 0x102C,
0x1D18, 0xF100, 0x9870, 0x0668, 0x5BE8, 0xD90C, 0xD6F0, 0xC180,
0xFF10, 0x7088, 0xAC80, 0x2D30, 0x3000, 0x8848, 0x2688, 0xAD28,
0x6C00, 0x18D4, 0xBE94, 0x3944, 0xCA00, 0x8058, 0x878C, 0x15A0,
0x4968, 0xEDA5, 0xE7BF, 0xD458, 0x1FA8, 0x41BE, 0x0744, 0x36B8,
0x09EA, 0xB9DE, 0x140E, 0x2452, 0x5C38, 0x1AE2, 0xD3CE, 0x095E,
0x13DC, 0xFE92, 0xBACA, 0xC1B0, 0x193C, 0xE990, 0xF04A, 0xB41E,
0xBE7E, 0x656E, 0x181C, 0x10B8, 0xE340, 0xB4AA, 0xE960, 0x891C,
0x65CC, 0xDC54, 0xD898, 0x62F0, 0xE5F6, 0xD418, 0xB8AC, 0xA90A,
0x2B4E, 0xFE69, 0xE5BF, 0xBBC6, 0xF4B7, 0x2D30, 0x1CD8, 0x3518,
0xFDF4, 0xAB44, 0xF180, 0x38D6, 0x68B8, 0xE8A6, 0xAD3A, 0x2690,
0x03D0, 0xDD54, 0x2980, 0x3B00, 0xAB70, 0xC0D4, 0xA348, 0x214C,
0x0D7C, 0xD338, 0x98D0, 0x3678, 0xC150, 0xFC00, 0xBFE0, 0x9C9C,
0x3438, 0xE744, 0xFFAC, 0x11D8, 0xC40C, 0xE364, 0x63F4, 0x27C4,
0xD380, 0xB718, 0xCD00, 0x297A, 0x0F84, 0xEE76, 0xB9D8, 0x0BB0,
0x1E3C, 0xD0B4, 0xF84C, 0xB7B2, 0x29EC, 0x18F2, 0xDCE6, 0x0DF0,
0x4AC0, 0xFA38, 0x1D28, 0x1084, 0xE27C, 0x72B8, 0xD5F8, 0xD7BC,
0x0A90, 0xF674, 0xF050, 0x45D8, 0xC630, 0xC878, 0xBFF8, 0x1F98,
0x7940, 0xB2F8, 0x4508, 0xFB40, 0x2880, 0x2C34, 0x5750, 0x2C5C,
0x8DD8, 0xE82E, 0xD994, 0x2E86, 0x47E2, 0xDD42, 0x0AE4, 0x3D10,
0x5A98, 0xBA74, 0xB770, 0xDEDC, 0x5510, 0xD7D8, 0x0504, 0xED38,
0x58F0, 0xBED0, 0x6E60, 0x11B0, 0xE9E0, 0xBD24, 0x0ED8, 0x4DD0,
0x3A94, 0x0710, 0xB260, 0x6D70, 0x35B8, 0xFAB0, 0x0770, 0x94A8,
0x0838, 0x4210, 0xC158, 0x49C8, 0xC6AC, 0xF690, 0x4906, 0xF680,
0xE0A6, 0x968C, 0xFC92, 0x3EB8, 0xDEF0, 0x02D2, 0xC5BC, 0x54E4,
0x1F50, 0xB624, 0xEC54, 0xE0DC, 0x3C7E, 0x41DA, 0xE32A, 0xF84A,
0x5138, 0xF964, 0x11F8, 0xEBFC, 0x0CC0, 0x73C4, 0x4034, 0xC24C,
0x2A08, 0x0078, 0x26F0, 0x5F78, 0xFEE8, 0xD530, 0xF850, 0xE8BC,
0x580C, 0xF568, 0xD6F4, 0x3188, 0x4B78, 0xB85C, 0x1F60, 0xEF68,
0x0C7C, 0xFEFE, 0x059A, 0x23E4, 0x74B2, 0x53A4, 0x0684, 0x2B1C,
0x1CE8, 0xB0FC, 0xEDFC, 0xC344, 0x7304, 0xA5E0, 0x42F4, 0x0A68,
0x2D18, 0xE2B0, 0x00A0, 0xBDC8, 0xCAF8, 0x8C00, 0x95B0, 0xBAE0,
0x0370, 0x42C0, 0xA3C0, 0x0060, 0xCF00, 0x92A0, 0xC608, 0xADD0,
0x93D0, 0x4880, 0xDD20, 0x6AD0, 0x0160, 0xB89C, 0x0308, 0xF8E8,
0xD1CC, 0xA748, 0xCBF0, 0xF778, 0x4120, 0xFB28, 0xFA18, 0xB5C0,
0x33F8, 0xDF80, 0xB378, 0xA730, 0xD538, 0x13E0, 0xF840, 0xAC58,
0x2F68, 0x0278, 0xA1D8, 0x8D58, 0xE198, 0x1DE4, 0xD90C, 0xAD00,
0xF44C, 0x13DC, 0xA548, 0x9820, 0x8AA0, 0x8CB0, 0xC6D8, 0xA4F8,
0xCFA8, 0xA9C0, 0xD410, 0x2320, 0x1CD0, 0xE358, 0x0720, 0x0B08,
0xBD40, 0x074C, 0xBD80, 0xE22C, 0x17C4, 0x11B8, 0xFE04, 0xF078,
0xF60C, 0xE8B4, 0x9A88, 0x1B48, 0xC018, 0x8860, 0xA8C0, 0xEDF0,
0x4838, 0xC738, 0x5240, 0xA0A0, 0x3D80, 0x0A04, 0x12A8, 0x1D94,
0x402C, 0x6318, 0xFE98, 0x2570, 0x4380, 0xD2B8, 0x44D8, 0xE0B0,
0x1AC4, 0x36F8, 0x2970, 0x426C, 0x5BC0, 0x8400, 0x2800, 0x0418,
0xD1E0, 0x5858, 0x0040, 0xC3C0, 0x5310, 0x6DC8, 0x63F8, 0xE680,
0x53F8, 0xC998, 0xD408, 0x5C20, 0x7DE8, 0x0C50, 0xF818, 0x2890,
0x42F8, 0x00CC, 0xB994, 0xFF80, 0xF5B4, 0x3CFC, 0x5838, 0xA8B0,
0xD780, 0x592C, 0xF688, 0x1348, 0xE6E4, 0xAEF4, 0x0A60, 0xEF98,
0x7120, 0xBB80, 0xB108, 0x3558, 0x4324, 0xCD34, 0xDC54, 0x0CB0,
0xDCA0, 0x5A14, 0x0840, 0xCCA4, 0x1520, 0x1A20, 0x5578, 0x26C8,
0xDD88, 0x99B8, 0x9588, 0x7E08, 0x3380, 0xA358, 0xDB50, 0x2D20,
0x04A0, 0x3960, 0x7CF0, 0x3930, 0xBFE0, 0xB200, 0xCDD8, 0x3F90,
0x5C30, 0x0728, 0xBC40, 0x3FA8, 0x0078, 0xD880, 0xF980, 0x9100,
0x2FD0, 0x1228, 0x2E98, 0x1E10, 0xAE58, 0xB6F0, 0x7128, 0xD180,
0xBBB8, 0xE4B4, 0x0144, 0x5688, 0x1660, 0xDCBC, 0xE028, 0x1B18,
0x06B0, 0xB8A0, 0xD0D0, 0xCB60, 0x5800, 0xF8D8, 0x4FB8, 0xD498,
0x5498, 0x0FC0, 0x0EF8, 0x56F8, 0xE078, 0x4EA8, 0xD188, 0xCE20,
0x1368, 0x3C48, 0xFDB0, 0x2278, 0xBD00, 0x1430, 0xEA1C, 0xEF88,
0x26D8, 0xAAA8, 0x3BA8, 0x2800, 0x2194, 0xE88C, 0x39A0, 0x0988,
0xB844, 0x6750, 0x96B8, 0x3A98, 0x71A0, 0xD9F8, 0x2838, 0x2744,
0x16A4, 0xCFF8, 0xB234, 0x0CB8, 0x1C88, 0xD8FC, 0x4228, 0xC04C,
0x3400, 0xF920, 0x6AD0, 0x1F50, 0x22D8, 0x0C34, 0x19E8, 0x3D3C,
0x5FC8, 0x3110, 0x23E0, 0x7F08, 0x2F60, 0x1978, 0x0638, 0x2538,
0x4DC8, 0x5008, 0x4BA8, 0x4C58, 0x0C08, 0xA394, 0x562C, 0xFA40,
0xCE04, 0x1298, 0x105C, 0x3A78, 0x6C3C, 0xDF5C, 0x0490, 0x306C,
0x4350, 0xF428, 0xD9A4, 0x1058, 0x7A88, 0x7E60, 0x2B50, 0x02A8,
0x443C, 0x0FB8, 0xEC70, 0xE918, 0xEA64, 0x7860, 0x3158, 0xFD98,
0x4080, 0x1B20, 0x4FD4, 0x2D9C, 0xFCD8, 0x059C, 0xF80C, 0x7210,
0x6430, 0x47F8, 0x34E8, 0x2880, 0x5AC8, 0x85E8, 0x0728, 0xDAA0,
0xB720, 0x5D64, 0xC7FC, 0x0C94, 0x3BC4, 0xCEF8, 0x7510, 0xED10,
0x01A8, 0xF798, 0x98D8, 0x12F0, 0x3F10, 0xD6E0, 0x7F00, 0x0C70};
__ALIGN32 CONST Ipp16s shape_all_nls[128] = {
3, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2,
2, 2, 3, 2, 2, 0, 1, 1, 1, 1, 1, 2, 1, 0, 1, 1,
2, 2, 3, 2, 2, 1, 2, 1, 2, 2, 3, 3, 2, 1, 2, 2,
3, 2, 3, 3, 1, 1, 2, 1, 2, 2, 3, 2, 2, 1, 2, 2,
3, 3, 3, 4, 2, 3, 3, 3, 3, 2, 3, 3, 2, 2, 2, 3,
3, 2, 3, 2, 3, 3, 3, 3, 2, 2, 2, 3, 2, 2, 3, 3,
4, 3, 3, 3, 3, 2, 3, 3, 3, 3, 2, 3, 2, 3, 2, 2,
3, 2, 3, 3, 2, 2, 2, 3, 2, 3, 2, 3, 3, 2, 3, 3};
/* Frame or Packed loss concealment specific*/
__ALIGN32 CONST Ipp16s cnstSynthesisFilterBroadenVectorFE[56] = {
/*0x4000, */0x3E14, 0x3C38, 0x3A69, 0x38A9, 0x36F5, 0x354F, 0x33B6,
0x3229, 0x30A8, 0x2F32, 0x2DC7, 0x2C68, 0x2B13, 0x29C8, 0x2887,
0x2750, 0x2622, 0x24FD, 0x23E1, 0x22CE, 0x21C2, 0x20BF, 0x1FC3,
0x1ED0, 0x1DE3, 0x1CFD, 0x1C1F, 0x1B47, 0x1A75, 0x19AA, 0x18E5,
0x1826, 0x176C, 0x16B8, 0x160A, 0x1561, 0x14BD, 0x141D, 0x1383,
0x12ED, 0x125C, 0x11CF, 0x1146, 0x10C1, 0x1041, 0x0FC4, 0x0F4B,
0x0ED5, 0x0E63, 0x0DF5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -