亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fec_code.c

?? MELPe 1200 bps, fixed point
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* ================================================================== */
/*                                                                    */ 
/*    Microsoft Speech coder     ANSI-C Source Code                   */
/*    SC1200 1200 bps speech coder                                    */
/*    Fixed Point Implementation      Version 7.0                     */
/*    Copyright (C) 2000, Microsoft Corp.                             */
/*    All rights reserved.                                            */
/*                                                                    */ 
/* ================================================================== */

/*

2.4 kbps MELP Proposed Federal Standard speech coder

Fixed-point C code, version 1.0

Copyright (c) 1998, Texas Instruments, Inc.

Texas Instruments has intellectual property rights on the MELP
algorithm.	The Texas Instruments contact for licensing issues for
commercial and non-government use is William Gordon, Director,
Government Contracts, Texas Instruments Incorporated, Semiconductor
Group (phone 972 480 7442).

The fixed-point version of the voice codec Mixed Excitation Linear
Prediction (MELP) is based on specifications on the C-language software
simulation contained in GSM 06.06 which is protected by copyright and
is the property of the European Telecommunications Standards Institute
(ETSI). This standard is available from the ETSI publication office
tel. +33 (0)4 92 94 42 58. ETSI has granted a license to United States
Department of Defense to use the C-language software simulation contained
in GSM 06.06 for the purposes of the development of a fixed-point
version of the voice codec Mixed Excitation Linear Prediction (MELP).
Requests for authorization to make other use of the GSM 06.06 or
otherwise distribute or modify them need to be addressed to the ETSI
Secretariat fax: +33 493 65 47 16.

*/

#include "sc1200.h"
#include "mathhalf.h"
#include "mat_lib.h"


/* Compiler constants */
#define UV_PIND			0                             /* Unvoiced pitch index */
#define INVAL_PIND		1                              /* Invalid pitch index */
#define BEP_CORR		-1                    /* "Correct" bit error position */
#define BEP_UNCORR		-2              /* "Uncorrectable" bit error position */

static Shortword	codewd74[7];
static Shortword	codewd84[8];
static Shortword	codewd_13x9[13];

/* (7,4) Hamming code tables.  Parity generator matrix. */
static const Shortword  pmat74[3][4] = {
	{1, 1, 0, 1}, {1, 0, 1, 1}, {0, 1, 1, 1}
};

/* Syndrome table. */
static const Shortword	syntab74[8] = {BEP_CORR, 6, 5, 2, 4, 1, 0, 3};

/* (8,4) extended Hamming code tables.  Parity generator matrix. */
static const Shortword  pmat84[4][4] = {
	{1, 1, 0, 1}, {1, 0, 1, 1}, {0, 1, 1, 1}, {1, 1, 1, 0}
};

/* Syndrome->error position lookup table. */
static const Shortword  syntab84[16] = {
	BEP_CORR,   7,          6,          BEP_UNCORR,
	5,          BEP_UNCORR, BEP_UNCORR, 2,
	4,          BEP_UNCORR, BEP_UNCORR, 1,
	BEP_UNCORR, 0,          3,          BEP_UNCORR
};

/* Pitch index encoding table.  Reserve Hamming weight 0,1 words for unvoiced */
/* pitch value.  Reserve Hamming weight 2 words for invalid (protect against  */
/* single bit voiced pitch errors.  Assign voiced pitch codes to values       */
/* having Hamming weight > 2.                                                 */

static const Shortword		pitch_enc[PIT_QLEV + 1] = {
	0x0,	/* UV_PIND */
	0x7,	/* 1 (first pitch QL - note offset) */
	0xB,	/* 2 */
	0xD,	/* 3 */
	0xE,	/* 4 */
	0xF,	/* 5 */
	0x13,	/* 6 */
	0x15,	/* 7 */
	0x16,	/* 8 */
	0x17,	/* 9 */
	0x19,	/* 10 */
	0x1A,	/* 11 */
	0x1B,	/* 12 */
	0x1C,	/* 13 */
	0x1D,	/* 14 */
	0x1E,	/* 15 */
	0x1F,	/* 16 */
	0x23,	/* 17 */
	0x25,	/* 18 */
	0x26,	/* 19 */
	0x27,	/* 20 */
	0x29,	/* 21 */
	0x2A,	/* 22 */
	0x2B,	/* 23 */
	0x2C,	/* 24 */
	0x2D,	/* 25 */
	0x2E,	/* 26 */
	0x2F,	/* 27 */
	0x31,	/* 28 */
	0x32,	/* 29 */
	0x33,	/* 30 */
	0x34,	/* 31 */
	0x35,	/* 32 */
	0x36,	/* 33 */
	0x37,	/* 34 */
	0x38,	/* 35 */
	0x39,	/* 36 */
	0x3A,	/* 37 */
	0x3B,	/* 38 */
	0x3C,	/* 39 */
	0x3D,	/* 40 */
	0x3E,	/* 41 */
	0x3F,	/* 42 */
	0x43,	/* 43 */
	0x45,	/* 44 */
	0x46,	/* 45 */
	0x47,	/* 46 */
	0x49,	/* 47 */
	0x4A,	/* 48 */
	0x4B,	/* 49 */
	0x4C,	/* 50 */
	0x4D,	/* 51 */
	0x4E,	/* 52 */
	0x4F,	/* 53 */
	0x51,	/* 54 */
	0x52,	/* 55 */
	0x53,	/* 56 */
	0x54,	/* 57 */
	0x55,	/* 58 */
	0x56,	/* 59 */
	0x57,	/* 60 */
	0x58,	/* 61 */
	0x59,	/* 62 */
	0x5A,	/* 63 */
	0x5B,	/* 64 */
	0x5C,	/* 65 */
	0x5D,	/* 66 */
	0x5E,	/* 67 */
	0x5F,	/* 68 */
	0x61,	/* 69 */
	0x62,	/* 70 */
	0x63,	/* 71 */
	0x64,	/* 72 */
	0x65,	/* 73 */
	0x66,	/* 74 */
	0x67,	/* 75 */
	0x68,	/* 76 */
	0x69,	/* 77 */
	0x6A,	/* 78 */
	0x6B,	/* 79 */
	0x6C,	/* 80 */
	0x6D,	/* 81 */
	0x6E,	/* 82 */
	0x6F,	/* 83 */
	0x70,	/* 84 */
	0x71,	/* 85 */
	0x72,	/* 86 */
	0x73,	/* 87 */
	0x74,	/* 88 */
	0x75,	/* 89 */
	0x76,	/* 90 */
	0x77,	/* 91 */
	0x78,	/* 92 */
	0x79,	/* 93 */
	0x7A,	/* 94 */
	0x7B,	/* 95 */
	0x7C,	/* 96 */
	0x7D,	/* 97 */
	0x7E,	/* 98 */
	0x7F	/* 99 */
};

const Shortword		low_rate_pitch_enc[4][PIT_QLEV] = {
{0},                                                             /* All zeros */
{                                                             /* for UUV (6,7)*/
	 63,  95, 111, 119, 123, 125, 126, 159, 175, 183,
	187, 189, 190, 207, 215, 219, 221, 222, 231, 235,
	237, 238, 243, 245, 246, 249, 250, 252, 287, 303,
	311, 315, 317, 318, 335, 343, 347, 349, 350, 359,
	363, 365, 366, 371, 373, 374, 377, 378, 380, 399,
	407, 411, 413, 414, 423, 427, 429, 430, 435, 437,
	438, 441, 442, 444, 455, 459, 461, 462, 467, 469,
	470, 473, 474, 476, 483, 485, 486, 489, 490, 492,
	497, 498, 500, 504, 127, 191, 223, 239, 247, 251,
	253, 254, 319, 351, 367, 375, 379, 381, 382
},
{                                                              /* for UVU (4) */
	 15,  23,  27,  29,  30,  39,  43,  45,  46,  51,
	 53,  54,  57,  58,  60,  71,  75,  77,  78,  83,
	 85,  86,  89,  90,  92,  99, 101, 102, 105, 106,
	108, 113, 114, 116, 120, 135, 139, 141, 142, 147,
	149, 150, 153, 154, 156, 163, 165, 166, 169, 170,
	172, 177, 178, 180, 184, 195, 197, 198, 201, 202,
	204, 209, 210, 212, 216, 225, 226, 228, 232, 240,
	263, 267, 269, 270, 275, 277, 278, 281, 282, 284,
	291, 293, 294, 297, 298, 300, 305, 306, 308, 312,
	323, 325, 326, 329, 330, 332, 337, 338, 340
},
{                                                              /* for VUU (5) */
	 31,  47,  55,  59,  61,  62,  79,  87,  91,  93,
	 94, 103, 107, 109, 110, 115, 117, 118, 121, 122,
	124, 143, 151, 155, 157, 158, 167, 171, 173, 174,
	179, 181, 182, 185, 186, 188, 199, 203, 205, 206,
	211, 213, 214, 217, 218, 220, 227, 229, 230, 233,
	234, 236, 241, 242, 244, 248, 271, 279, 283, 285,
	286, 295, 299, 301, 302, 307, 309, 310, 313, 314,
	316, 327, 331, 333, 334, 339, 341, 342, 345, 346,
	348, 355, 357, 358, 361, 362, 364, 369, 370, 372,
	376, 391, 395, 397, 398, 403, 405, 406, 409
}
};

/* Pitch index decoding table.  Hamming weight 1 codes map to UV_PIND,        */
/* allowing for 1-bit error correction of unvoiced marker.	Hamming weight 2  */
/* codes map to INVAL_PIND, protecting against 1-bit errors in voiced pitches */
/* creating false unvoiced condition.                                         */

static const Shortword		pitch_dec[1 << PIT_BITS] = {
                                                /* pitch index decoding table */
	UV_PIND,	/* 0x0 */
	UV_PIND,	/* 0x1 */
	UV_PIND,	/* 0x2 */
	INVAL_PIND,	/* 0x3 */
	UV_PIND,	/* 0x4 */
	INVAL_PIND,	/* 0x5 */
	INVAL_PIND,	/* 0x6 */
	2,			/* 0x7 */
	UV_PIND,	/* 0x8 */
	INVAL_PIND,	/* 0x9 */
	INVAL_PIND,	/* 0xA */
	3,			/* 0xB */
	INVAL_PIND,	/* 0xC */
	4,			/* 0xD */
	5,			/* 0xE */
	6,			/* 0xF */
	UV_PIND,	/* 0x10 */
	INVAL_PIND,	/* 0x11 */
	INVAL_PIND,	/* 0x12 */
	7,			/* 0x13 */
	INVAL_PIND,	/* 0x14 */
	8,			/* 0x15 */
	9,			/* 0x16 */
	10,			/* 0x17 */
	INVAL_PIND,	/* 0x18 */
	11,			/* 0x19 */
	12,			/* 0x1A */
	13,			/* 0x1B */
	14,			/* 0x1C */
	15,			/* 0x1D */
	16,			/* 0x1E */
	17,			/* 0x1F */
	UV_PIND,	/* 0x20 */
	INVAL_PIND,	/* 0x21 */
	INVAL_PIND,	/* 0x22 */
	18,			/* 0x23 */
	INVAL_PIND,	/* 0x24 */
	19,			/* 0x25 */
	20,			/* 0x26 */
	21,			/* 0x27 */
	INVAL_PIND,	/* 0x28 */
	22,			/* 0x29 */
	23,			/* 0x2A */
	24,			/* 0x2B */
	25,			/* 0x2C */
	26,			/* 0x2D */
	27,			/* 0x2E */
	28,			/* 0x2F */
	INVAL_PIND,	/* 0x30 */
	29,			/* 0x31 */
	30,			/* 0x32 */
	31,			/* 0x33 */
	32,			/* 0x34 */
	33,			/* 0x35 */
	34,			/* 0x36 */
	35,			/* 0x37 */
	36,			/* 0x38 */
	37,			/* 0x39 */
	38,			/* 0x3A */
	39,			/* 0x3B */
	40,			/* 0x3C */
	41,			/* 0x3D */
	42,			/* 0x3E */
	43,			/* 0x3F */
	UV_PIND,	/* 0x40 */
	INVAL_PIND,	/* 0x41 */
	INVAL_PIND,	/* 0x42 */
	44,			/* 0x43 */
	INVAL_PIND,	/* 0x44 */
	45,			/* 0x45 */
	46,			/* 0x46 */
	47,			/* 0x47 */
	INVAL_PIND,	/* 0x48 */
	48,			/* 0x49 */
	49,			/* 0x4A */
	50,			/* 0x4B */
	51,			/* 0x4C */
	52,			/* 0x4D */
	53,			/* 0x4E */
	54,			/* 0x4F */
	INVAL_PIND,	/* 0x50 */
	55,			/* 0x51 */
	56,			/* 0x52 */
	57,			/* 0x53 */
	58,			/* 0x54 */
	59,			/* 0x55 */
	60,			/* 0x56 */
	61,			/* 0x57 */
	62,			/* 0x58 */
	63,			/* 0x59 */
	64,			/* 0x5A */
	65,			/* 0x5B */
	66,			/* 0x5C */
	67,			/* 0x5D */
	68,			/* 0x5E */
	69,			/* 0x5F */
	INVAL_PIND,	/* 0x60 */
	70,			/* 0x61 */
	71,			/* 0x62 */
	72,			/* 0x63 */
	73,			/* 0x64 */
	74,			/* 0x65 */
	75,			/* 0x66 */
	76,			/* 0x67 */
	77,			/* 0x68 */
	78,			/* 0x69 */
	79,			/* 0x6A */
	80,			/* 0x6B */
	81,			/* 0x6C */
	82,			/* 0x6D */
	83,			/* 0x6E */
	84,			/* 0x6F */
	85,			/* 0x70 */
	86,			/* 0x71 */
	87,			/* 0x72 */
	88,			/* 0x73 */
	89,			/* 0x74 */
	90,			/* 0x75 */
	91,			/* 0x76 */
	92,			/* 0x77 */
	93,			/* 0x78 */
	94,			/* 0x79 */
	95,			/* 0x7A */
	96,			/* 0x7B */
	97,			/* 0x7C */
	98,			/* 0x7D */
	99,			/* 0x7E */
	100 		/* 0x7F */
};

const Shortword		low_rate_pitch_dec[PITCH_VQ_SIZE] = {
	UV_PIND,	/*   0 */
	UV_PIND,	/*   1 */
	UV_PIND,	/*   2 */
	INVAL_PIND,	/*   3 */
	UV_PIND,	/*   4 */
	INVAL_PIND,	/*   5 */
	INVAL_PIND,	/*   6 */
	INVAL_PIND,	/*   7 */
	UV_PIND,	/*   8 */
	INVAL_PIND,	/*   9 */
	INVAL_PIND,	/*  10 */
	INVAL_PIND,	/*  11 */
	INVAL_PIND,	/*  12 */
	INVAL_PIND,	/*  13 */
	INVAL_PIND,	/*  14 */
	2,			/*  15 */ /* UVU */
	UV_PIND,	/*  16 */
	INVAL_PIND,	/*  17 */
	INVAL_PIND,	/*  18 */
	INVAL_PIND,	/*  19 */
	INVAL_PIND,	/*  20 */
	INVAL_PIND,	/*  21 */
	INVAL_PIND,	/*  22 */
	3,			/*  23 */ /* UVU */
	INVAL_PIND,	/*  24 */
	INVAL_PIND,	/*  25 */
	INVAL_PIND,	/*  26 */
	4,			/*  27 */ /* UVU */
	INVAL_PIND,	/*  28 */
	5,			/*  29 */ /* UVU */
	6,			/*  30 */ /* UVU */
	2,			/*  31 */ /* VUU */
	UV_PIND,	/*  32 */
	INVAL_PIND,	/*  33 */
	INVAL_PIND,	/*  34 */
	INVAL_PIND,	/*  35 */
	INVAL_PIND,	/*  36 */
	INVAL_PIND,	/*  37 */
	INVAL_PIND,	/*  38 */
	7,			/*  39 */ /* UVU */
	INVAL_PIND,	/*  40 */
	INVAL_PIND,	/*  41 */
	INVAL_PIND,	/*  42 */
	8,			/*  43 */ /* UVU */
	INVAL_PIND,	/*  44 */
	9,			/*  45 */ /* UVU */
	10,			/*  46 */ /* UVU */
	3,			/*  47 */ /* VUU */
	INVAL_PIND,	/*  48 */
	INVAL_PIND,	/*  49 */
	INVAL_PIND,	/*  50 */
	11,			/*  51 */ /* UVU */
	INVAL_PIND,	/*  52 */
	12,			/*  53 */ /* UVU */
	13,			/*  54 */ /* UVU */
	4,			/*  55 */ /* VUU */
	INVAL_PIND,	/*  56 */
	14,			/*  57 */ /* UVU */
	15,			/*  58 */ /* UVU */
	5,			/*  59 */ /* VUU */
	16,			/*  60 */ /* UVU */
	6,			/*  61 */ /* VUU */
	7,			/*  62 */ /* VUU */
	2,			/*  63 */ /* UUV */
	UV_PIND,	/*  64 */
	INVAL_PIND,	/*  65 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美日韩一区二区| 国产精品自产自拍| 韩国av一区二区三区在线观看| 国产自产视频一区二区三区 | 亚洲一区影音先锋| 精品一区二区久久久| 欧美最猛黑人xxxxx猛交| 精品久久国产97色综合| 一区二区欧美视频| 成人a级免费电影| 精品日韩一区二区三区| 亚洲电影你懂得| 91在线视频免费91| 国产午夜一区二区三区| 免费观看一级欧美片| 在线观看国产精品网站| 中文字幕一区二区三区在线播放| 韩国在线一区二区| 精品日韩欧美在线| 捆绑紧缚一区二区三区视频| 色哟哟一区二区在线观看| 国产精品三级av| 国产成人免费在线观看| 欧美精品一区男女天堂| 日本美女一区二区三区| 欧美福利一区二区| 亚洲不卡av一区二区三区| 色婷婷久久久久swag精品| 综合久久久久久久| 91婷婷韩国欧美一区二区| 中文字幕一区在线观看视频| 成人一道本在线| 国产精品久久一卡二卡| 成人黄色小视频在线观看| 中文字幕电影一区| 国产成人精品影视| 国产精品美女久久久久久久久 | 欧美96一区二区免费视频| 欧美日韩成人一区二区| 免费精品视频最新在线| wwww国产精品欧美| 大尺度一区二区| 亚洲欧美综合色| 色婷婷av一区| 日韩在线观看一区二区| 日韩欧美一区中文| 国产成人午夜视频| 1区2区3区欧美| 欧美视频在线播放| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产精品传媒入口麻豆| 91视视频在线观看入口直接观看www | 成人免费电影视频| 17c精品麻豆一区二区免费| 91麻豆精品一区二区三区| 亚洲一区av在线| 日韩视频永久免费| 丁香亚洲综合激情啪啪综合| 亚洲人成在线观看一区二区| 欧美日韩高清一区二区三区| 蜜桃av一区二区在线观看| 国产亚洲综合av| 色哦色哦哦色天天综合| 美女性感视频久久| 国产精品久久久久一区二区三区共| 色综合久久中文字幕综合网| 日本va欧美va精品| 中文幕一区二区三区久久蜜桃| 日本久久一区二区| 国产真实乱偷精品视频免| 中文字幕日韩一区| 欧美大片国产精品| 色悠悠久久综合| 精品亚洲成a人| 亚洲综合视频网| 国产丝袜在线精品| 91麻豆精品国产无毒不卡在线观看| 国产成人一级电影| 蜜臀久久99精品久久久久久9| 国产精品美女久久久久久2018| 在线成人av网站| 99久久久精品| 国产一区不卡视频| 视频一区二区中文字幕| 亚洲日本va午夜在线影院| 精品久久一区二区三区| 精品视频一区 二区 三区| 成人av一区二区三区| 麻豆高清免费国产一区| 亚洲午夜精品久久久久久久久| 久久精品男人天堂av| 日韩丝袜情趣美女图片| 欧美在线免费视屏| 91在线视频播放地址| 国产成人精品综合在线观看 | 亚洲国产婷婷综合在线精品| 国产女人水真多18毛片18精品视频| 欧美日本在线看| 99久久综合国产精品| 国产剧情一区二区三区| 久久精品国产99久久6| 日韩精品福利网| 亚洲成av人片一区二区三区| 亚洲免费视频成人| 国产精品乱码一区二区三区软件| 日韩精品一区二区三区视频播放| 欧美日韩国产中文| 欧美在线你懂的| 在线看一区二区| 91麻豆视频网站| 99r精品视频| 偷拍亚洲欧洲综合| 性做久久久久久免费观看欧美| 中文字幕一区二区三区在线播放 | 亚洲一级二级三级在线免费观看| 国产精品区一区二区三| 国产视频一区在线播放| 久久综合久久鬼色中文字| 欧美精品一区二区三区久久久| 欧美一二三区在线| 精品99一区二区| 国产日韩视频一区二区三区| 国产欧美精品一区aⅴ影院| 中文字幕电影一区| 亚洲欧美另类图片小说| 亚洲国产精品久久艾草纯爱| 怡红院av一区二区三区| 视频在线观看一区| 麻豆91精品视频| 国产一区二区在线免费观看| 国产69精品久久99不卡| 色综合久久久网| 欧美日韩一区二区三区不卡| 日韩一区二区三区精品视频| 精品国一区二区三区| 欧美国产一区二区| 亚洲精品免费播放| 日韩av电影免费观看高清完整版 | 在线观看亚洲a| 91精品国产色综合久久ai换脸 | 99re在线精品| 欧美日韩国产精选| 久久―日本道色综合久久| 国产精品另类一区| 亚洲一区免费观看| 免费观看在线色综合| av网站免费线看精品| 欧美久久久一区| 国产欧美日韩卡一| 亚洲国产精品久久久久婷婷884 | 国产视频视频一区| 亚洲精品一二三四区| 日本中文字幕一区| 成人激情免费网站| 91精品国产综合久久国产大片| 久久亚洲精品国产精品紫薇 | 国产精品久久久久久妇女6080 | 亚洲成人在线观看视频| 国产一区二区三区在线观看免费 | 国产午夜一区二区三区| 亚洲一区二三区| 国产精品亚洲成人| 欧美亚洲精品一区| 久久久午夜电影| 午夜精品爽啪视频| 99久久久久久| 国产校园另类小说区| 免费在线观看不卡| 91国偷自产一区二区开放时间 | 日本不卡123| 色婷婷综合久色| 久久视频一区二区| 日日夜夜精品视频天天综合网| 成人av在线网| 久久久精品欧美丰满| 日本麻豆一区二区三区视频| 91美女片黄在线| 欧美激情综合在线| 国产又黄又大久久| 欧美一区二区三区白人| 一区二区三区精品| 成人午夜免费视频| 久久久99久久精品欧美| 免费在线视频一区| 91精品国产欧美一区二区18| 亚洲午夜羞羞片| 91在线视频观看| 亚洲欧洲精品成人久久奇米网| 寂寞少妇一区二区三区| 日韩精品在线一区| 日本女人一区二区三区| 欧美一级二级三级蜜桃| 青青草97国产精品免费观看| 欧美日韩一区二区三区免费看| 亚洲一线二线三线久久久| 欧美三级日本三级少妇99| 一区二区三区四区在线免费观看| 成人动漫中文字幕| 国产精品福利影院| 99精品欧美一区二区蜜桃免费|