Mercurial > libavcodec.hg
annotate truespeech_data.h @ 3198:6b9f0c4fbdbe libavcodec
First part of a series of speed-enchancing patches.
This one sets up a snow.h and makes snow use the dsputil function pointer
framework to access the three functions that will be implemented in asm
in the other parts of the patchset.
Patch by Robert Edele < yartrebo AH earthlink POIS net>
Original thread:
Subject: [Ffmpeg-devel] [PATCH] Snow mmx+sse2 asm optimizations
Date: Sun, 05 Feb 2006 12:47:14 -0500
author | gpoirier |
---|---|
date | Thu, 16 Mar 2006 19:18:18 +0000 |
parents | 5d9d55e2a8c6 |
children | c537a97eec66 |
rev | line source |
---|---|
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
1 #ifndef __TRUESPEECH_DATA__ |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
2 #define __TRUESPEECH_DATA__ |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
3 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
4 /* codebooks fo expanding input filter */ |
3007 | 5 static const int16_t ts_cb_0[32] = { |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
6 0x8240, 0x8364, 0x84CE, 0x865D, 0x8805, 0x89DE, 0x8BD7, 0x8DF4, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
7 0x9051, 0x92E2, 0x95DE, 0x990F, 0x9C81, 0xA079, 0xA54C, 0xAAD2, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
8 0xB18A, 0xB90A, 0xC124, 0xC9CC, 0xD339, 0xDDD3, 0xE9D6, 0xF893, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
9 0x096F, 0x1ACA, 0x29EC, 0x381F, 0x45F9, 0x546A, 0x63C3, 0x73B5, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
10 }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
11 |
3007 | 12 static const int16_t ts_cb_1[32] = { |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
13 0x9F65, 0xB56B, 0xC583, 0xD371, 0xE018, 0xEBB4, 0xF61C, 0xFF59, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
14 0x085B, 0x1106, 0x1952, 0x214A, 0x28C9, 0x2FF8, 0x36E6, 0x3D92, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
15 0x43DF, 0x49BB, 0x4F46, 0x5467, 0x5930, 0x5DA3, 0x61EC, 0x65F9, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
16 0x69D4, 0x6D5A, 0x709E, 0x73AD, 0x766B, 0x78F0, 0x7B5A, 0x7DA5, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
17 }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
18 |
3007 | 19 static const int16_t ts_cb_2[16] = { |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
20 0x96F8, 0xA3B4, 0xAF45, 0xBA53, 0xC4B1, 0xCECC, 0xD86F, 0xE21E, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
21 0xEBF3, 0xF640, 0x00F7, 0x0C20, 0x1881, 0x269A, 0x376B, 0x4D60, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
22 }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
23 |
3007 | 24 static const int16_t ts_cb_3[16] = { |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
25 0xC654, 0xDEF2, 0xEFAA, 0xFD94, 0x096A, 0x143F, 0x1E7B, 0x282C, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
26 0x3176, 0x3A89, 0x439F, 0x4CA2, 0x557F, 0x5E50, 0x6718, 0x6F8D, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
27 }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
28 |
3007 | 29 static const int16_t ts_cb_4[16] = { |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
30 0xABE7, 0xBBA8, 0xC81C, 0xD326, 0xDD0E, 0xE5D4, 0xEE22, 0xF618, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
31 0xFE28, 0x064F, 0x0EB7, 0x17B8, 0x21AA, 0x2D8B, 0x3BA2, 0x4DF9, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
32 }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
33 |
3007 | 34 static const int16_t ts_cb_5[8] = { |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
35 0xD51B, 0xF12E, 0x042E, 0x13C7, 0x2260, 0x311B, 0x40DE, 0x5385, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
36 }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
37 |
3007 | 38 static const int16_t ts_cb_6[8] = { |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
39 0xB550, 0xC825, 0xD980, 0xE997, 0xF883, 0x0752, 0x1811, 0x2E18, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
40 }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
41 |
3007 | 42 static const int16_t ts_cb_7[8] = { |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
43 0xCEF0, 0xE4F9, 0xF6BB, 0x0646, 0x14F5, 0x23FF, 0x356F, 0x4A8D, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
44 }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
45 |
3007 | 46 static const int16_t *ts_codebook[8] = { |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
47 ts_cb_0, ts_cb_1, ts_cb_2, ts_cb_3, ts_cb_4, ts_cb_5, ts_cb_6, ts_cb_7 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
48 }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
49 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
50 /* table used for decoding pulse positions */ |
3007 | 51 static const int16_t ts_140[120] = { |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
52 0x0E46, 0x0CCC, 0x0B6D, 0x0A28, 0x08FC, 0x07E8, 0x06EB, 0x0604, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
53 0x0532, 0x0474, 0x03C9, 0x0330, 0x02A8, 0x0230, 0x01C7, 0x016C, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
54 0x011E, 0x00DC, 0x00A5, 0x0078, 0x0054, 0x0038, 0x0023, 0x0014, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
55 0x000A, 0x0004, 0x0001, 0x0000, 0x0000, 0x0000, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
56 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
57 0x0196, 0x017A, 0x015F, 0x0145, 0x012C, 0x0114, 0x00FD, 0x00E7, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
58 0x00D2, 0x00BE, 0x00AB, 0x0099, 0x0088, 0x0078, 0x0069, 0x005B, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
59 0x004E, 0x0042, 0x0037, 0x002D, 0x0024, 0x001C, 0x0015, 0x000F, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
60 0x000A, 0x0006, 0x0003, 0x0001, 0x0000, 0x0000, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
61 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
62 0x001D, 0x001C, 0x001B, 0x001A, 0x0019, 0x0018, 0x0017, 0x0016, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
63 0x0015, 0x0014, 0x0013, 0x0012, 0x0011, 0x0010, 0x000F, 0x000E, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
64 0x000D, 0x000C, 0x000B, 0x000A, 0x0009, 0x0008, 0x0007, 0x0006, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
65 0x0005, 0x0004, 0x0003, 0x0002, 0x0001, 0x0000, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
66 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
67 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
68 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
69 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
70 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
71 }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
72 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
73 /* filter for correlated input filter */ |
3007 | 74 static const int16_t ts_230[8] = |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
75 { 0x7F3B, 0x7E78, 0x7DB6, 0x7CF5, 0x7C35, 0x7B76, 0x7AB8, 0x79FC }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
76 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
77 /* two-point filters table */ |
3007 | 78 static const int16_t ts_240[25 * 2] = { |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
79 0xED2F, 0x5239, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
80 0x54F1, 0xE4A9, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
81 0x2620, 0xEE3E, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
82 0x09D6, 0x2C40, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
83 0xEFB5, 0x2BE0, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
84 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
85 0x3FE1, 0x3339, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
86 0x442F, 0xE6FE, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
87 0x4458, 0xF9DF, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
88 0xF231, 0x43DB, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
89 0x3DB0, 0xF705, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
90 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
91 0x4F7B, 0xFEFB, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
92 0x26AD, 0x0CDC, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
93 0x33C2, 0x0739, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
94 0x12BE, 0x43A2, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
95 0x1BDF, 0x1F3E, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
96 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
97 0x0211, 0x0796, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
98 0x2AEB, 0x163F, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
99 0x050D, 0x3A38, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
100 0x0D1E, 0x0D78, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
101 0x150F, 0x3346, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
102 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
103 0x38A4, 0x0B7D, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
104 0x2D5D, 0x1FDF, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
105 0x19B7, 0x2822, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
106 0x0D99, 0x1F12, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
107 0x194C, 0x0CE6 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
108 }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
109 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
110 /* possible pulse values */ |
3007 | 111 static const int16_t ts_562[64] = { |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
112 0x0002, 0x0006, 0xFFFE, 0xFFFA, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
113 0x0004, 0x000C, 0xFFFC, 0xFFF4, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
114 0x0006, 0x0012, 0xFFFA, 0xFFEE, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
115 0x000A, 0x001E, 0xFFF6, 0xFFE2, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
116 0x0010, 0x0030, 0xFFF0, 0xFFD0, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
117 0x0019, 0x004B, 0xFFE7, 0xFFB5, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
118 0x0028, 0x0078, 0xFFD8, 0xFF88, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
119 0x0040, 0x00C0, 0xFFC0, 0xFF40, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
120 0x0065, 0x012F, 0xFF9B, 0xFED1, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
121 0x00A1, 0x01E3, 0xFF5F, 0xFE1D, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
122 0x0100, 0x0300, 0xFF00, 0xFD00, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
123 0x0196, 0x04C2, 0xFE6A, 0xFB3E, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
124 0x0285, 0x078F, 0xFD7B, 0xF871, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
125 0x0400, 0x0C00, 0xFC00, 0xF400, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
126 0x0659, 0x130B, 0xF9A7, 0xECF5, |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
127 0x0A14, 0x1E3C, 0xF5EC, 0xE1C4 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
128 }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
129 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
130 /* filters used in final output calculations */ |
3007 | 131 static const int16_t ts_5E2[8] = |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
132 { 0x4666, 0x26B8, 0x154C, 0x0BB6, 0x0671, 0x038B, 0x01F3, 0x0112 }; |
3007 | 133 static const int16_t ts_5F2[8] = |
3006
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
134 { 0x6000, 0x4800, 0x3600, 0x2880, 0x1E60, 0x16C8, 0x1116, 0x0CD1 }; |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
135 |
4007989367bc
TrueSpeech compatible audio decoder by Konstantin Shishkov
diego
parents:
diff
changeset
|
136 #endif |