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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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
5d9d55e2a8c6 Make all tables static const.
diego
parents: 3006
diff changeset
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