~medibuntu-maintainers/mplayer/medibuntu.quantal

« back to all changes in this revision

Viewing changes to libavcodec/truespeech_data.h

  • Committer: Gauvain Pocentek
  • Date: 2011-08-21 07:22:23 UTC
  • mfrom: (66.1.11 oneiric)
  • Revision ID: gauvain@pocentek.net-20110821072223-ummeossdz7okpb3d
* Merge from Ubuntu:
  - put back faac support
  - recommends apport-hooks-medibuntu
  - change Maintainer, Uploaders & Vcs-* fields.
* New upstream snapshot
  - update 23mplayer-debug-printf.patch
  - fixes miscompilation with gcc 4.6, Closes: #623304
  - improved internal mkv demuxer, Closes: #595452
  - Fixed segfault due to missing sanitation on playlist files,
    Closes: #591525
  - Fixed byteorder on 16-bit displays, Closes: #594093
  - tighten build depends on libav
  - --enable-largefile switch has been dropped
  - add build dependency on yasm
* Fix build dependency on libjpeg-dev, Closes: #634277
* rewrite debian/copyright in DEP5 format
* fix clean target
* don't remove snapshot_version file
* enable XVID, MP3 and X264 encoders
* simply architecture specific dependencies, Closes: #634773
* make buildlogs verbose
* unbreak building mplayer-doc package
* don't fail debian package build if not all shlibdeps information could be retrieved
* update configure flags for static libav* libraries
* fix spelling in mplayer-dbg description, Closes: #617826
* enable blueray support, Closes: #577761
* Select oss as default audio output module on kFreeBSD, Closes: #598431
* Update documentation with regard to our modifications to the upstream tarball.
* really no longer build mplayer-gui, Closes: #612473
* simplify/remove instruction to get upstream sources
* normalize debian/{control,copyright,mplayer.install} with wrap-and-sort
* bump standards version

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * DSP Group TrueSpeech compatible decoder
3
 
 * copyright (c) 2005 Konstantin Shishkov
4
 
 *
5
 
 * This file is part of FFmpeg.
6
 
 *
7
 
 * FFmpeg is free software; you can redistribute it and/or
8
 
 * modify it under the terms of the GNU Lesser General Public
9
 
 * License as published by the Free Software Foundation; either
10
 
 * version 2.1 of the License, or (at your option) any later version.
11
 
 *
12
 
 * FFmpeg is distributed in the hope that it will be useful,
13
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15
 
 * Lesser General Public License for more details.
16
 
 *
17
 
 * You should have received a copy of the GNU Lesser General Public
18
 
 * License along with FFmpeg; if not, write to the Free Software
19
 
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
 
 */
21
 
 
22
 
#ifndef AVCODEC_TRUESPEECH_DATA_H
23
 
#define AVCODEC_TRUESPEECH_DATA_H
24
 
 
25
 
#include <stdint.h>
26
 
 
27
 
/* codebooks fo expanding input filter */
28
 
static const int16_t ts_cb_0[32] = {
29
 
    0x8240, 0x8364, 0x84CE, 0x865D, 0x8805, 0x89DE, 0x8BD7, 0x8DF4,
30
 
    0x9051, 0x92E2, 0x95DE, 0x990F, 0x9C81, 0xA079, 0xA54C, 0xAAD2,
31
 
    0xB18A, 0xB90A, 0xC124, 0xC9CC, 0xD339, 0xDDD3, 0xE9D6, 0xF893,
32
 
    0x096F, 0x1ACA, 0x29EC, 0x381F, 0x45F9, 0x546A, 0x63C3, 0x73B5,
33
 
};
34
 
 
35
 
static const int16_t ts_cb_1[32] = {
36
 
    0x9F65, 0xB56B, 0xC583, 0xD371, 0xE018, 0xEBB4, 0xF61C, 0xFF59,
37
 
    0x085B, 0x1106, 0x1952, 0x214A, 0x28C9, 0x2FF8, 0x36E6, 0x3D92,
38
 
    0x43DF, 0x49BB, 0x4F46, 0x5467, 0x5930, 0x5DA3, 0x61EC, 0x65F9,
39
 
    0x69D4, 0x6D5A, 0x709E, 0x73AD, 0x766B, 0x78F0, 0x7B5A, 0x7DA5,
40
 
};
41
 
 
42
 
static const int16_t ts_cb_2[16] = {
43
 
    0x96F8, 0xA3B4, 0xAF45, 0xBA53, 0xC4B1, 0xCECC, 0xD86F, 0xE21E,
44
 
    0xEBF3, 0xF640, 0x00F7, 0x0C20, 0x1881, 0x269A, 0x376B, 0x4D60,
45
 
};
46
 
 
47
 
static const int16_t ts_cb_3[16] = {
48
 
    0xC654, 0xDEF2, 0xEFAA, 0xFD94, 0x096A, 0x143F, 0x1E7B, 0x282C,
49
 
    0x3176, 0x3A89, 0x439F, 0x4CA2, 0x557F, 0x5E50, 0x6718, 0x6F8D,
50
 
};
51
 
 
52
 
static const int16_t ts_cb_4[16] = {
53
 
    0xABE7, 0xBBA8, 0xC81C, 0xD326, 0xDD0E, 0xE5D4, 0xEE22, 0xF618,
54
 
    0xFE28, 0x064F, 0x0EB7, 0x17B8, 0x21AA, 0x2D8B, 0x3BA2, 0x4DF9,
55
 
};
56
 
 
57
 
static const int16_t ts_cb_5[8] = {
58
 
    0xD51B, 0xF12E, 0x042E, 0x13C7, 0x2260, 0x311B, 0x40DE, 0x5385,
59
 
};
60
 
 
61
 
static const int16_t ts_cb_6[8] = {
62
 
    0xB550, 0xC825, 0xD980, 0xE997, 0xF883, 0x0752, 0x1811, 0x2E18,
63
 
};
64
 
 
65
 
static const int16_t ts_cb_7[8] = {
66
 
    0xCEF0, 0xE4F9, 0xF6BB, 0x0646, 0x14F5, 0x23FF, 0x356F, 0x4A8D,
67
 
};
68
 
 
69
 
static const int16_t * const ts_codebook[8] = {
70
 
    ts_cb_0, ts_cb_1, ts_cb_2, ts_cb_3, ts_cb_4, ts_cb_5, ts_cb_6, ts_cb_7
71
 
};
72
 
 
73
 
/* table used for decoding pulse positions */
74
 
static const int16_t ts_140[120] = {
75
 
    0x0E46, 0x0CCC, 0x0B6D, 0x0A28, 0x08FC, 0x07E8, 0x06EB, 0x0604,
76
 
    0x0532, 0x0474, 0x03C9, 0x0330, 0x02A8, 0x0230, 0x01C7, 0x016C,
77
 
    0x011E, 0x00DC, 0x00A5, 0x0078, 0x0054, 0x0038, 0x0023, 0x0014,
78
 
    0x000A, 0x0004, 0x0001, 0x0000, 0x0000, 0x0000,
79
 
 
80
 
    0x0196, 0x017A, 0x015F, 0x0145, 0x012C, 0x0114, 0x00FD, 0x00E7,
81
 
    0x00D2, 0x00BE, 0x00AB, 0x0099, 0x0088, 0x0078, 0x0069, 0x005B,
82
 
    0x004E, 0x0042, 0x0037, 0x002D, 0x0024, 0x001C, 0x0015, 0x000F,
83
 
    0x000A, 0x0006, 0x0003, 0x0001, 0x0000, 0x0000,
84
 
 
85
 
    0x001D, 0x001C, 0x001B, 0x001A, 0x0019, 0x0018, 0x0017, 0x0016,
86
 
    0x0015, 0x0014, 0x0013, 0x0012, 0x0011, 0x0010, 0x000F, 0x000E,
87
 
    0x000D, 0x000C, 0x000B, 0x000A, 0x0009, 0x0008, 0x0007, 0x0006,
88
 
    0x0005, 0x0004, 0x0003, 0x0002, 0x0001, 0x0000,
89
 
 
90
 
    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
91
 
    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
92
 
    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001,
93
 
    0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001
94
 
};
95
 
 
96
 
/* filter for correlated input filter */
97
 
static const int16_t ts_230[8] =
98
 
    { 0x7F3B, 0x7E78, 0x7DB6, 0x7CF5, 0x7C35, 0x7B76, 0x7AB8, 0x79FC };
99
 
 
100
 
/* two-point filters table */
101
 
static const int16_t ts_240[25 * 2] = {
102
 
    0xED2F, 0x5239,
103
 
    0x54F1, 0xE4A9,
104
 
    0x2620, 0xEE3E,
105
 
    0x09D6, 0x2C40,
106
 
    0xEFB5, 0x2BE0,
107
 
 
108
 
    0x3FE1, 0x3339,
109
 
    0x442F, 0xE6FE,
110
 
    0x4458, 0xF9DF,
111
 
    0xF231, 0x43DB,
112
 
    0x3DB0, 0xF705,
113
 
 
114
 
    0x4F7B, 0xFEFB,
115
 
    0x26AD, 0x0CDC,
116
 
    0x33C2, 0x0739,
117
 
    0x12BE, 0x43A2,
118
 
    0x1BDF, 0x1F3E,
119
 
 
120
 
    0x0211, 0x0796,
121
 
    0x2AEB, 0x163F,
122
 
    0x050D, 0x3A38,
123
 
    0x0D1E, 0x0D78,
124
 
    0x150F, 0x3346,
125
 
 
126
 
    0x38A4, 0x0B7D,
127
 
    0x2D5D, 0x1FDF,
128
 
    0x19B7, 0x2822,
129
 
    0x0D99, 0x1F12,
130
 
    0x194C, 0x0CE6
131
 
};
132
 
 
133
 
/* possible pulse values */
134
 
static const int16_t ts_562[64] = {
135
 
    0x0002, 0x0006, 0xFFFE, 0xFFFA,
136
 
    0x0004, 0x000C, 0xFFFC, 0xFFF4,
137
 
    0x0006, 0x0012, 0xFFFA, 0xFFEE,
138
 
    0x000A, 0x001E, 0xFFF6, 0xFFE2,
139
 
    0x0010, 0x0030, 0xFFF0, 0xFFD0,
140
 
    0x0019, 0x004B, 0xFFE7, 0xFFB5,
141
 
    0x0028, 0x0078, 0xFFD8, 0xFF88,
142
 
    0x0040, 0x00C0, 0xFFC0, 0xFF40,
143
 
    0x0065, 0x012F, 0xFF9B, 0xFED1,
144
 
    0x00A1, 0x01E3, 0xFF5F, 0xFE1D,
145
 
    0x0100, 0x0300, 0xFF00, 0xFD00,
146
 
    0x0196, 0x04C2, 0xFE6A, 0xFB3E,
147
 
    0x0285, 0x078F, 0xFD7B, 0xF871,
148
 
    0x0400, 0x0C00, 0xFC00, 0xF400,
149
 
    0x0659, 0x130B, 0xF9A7, 0xECF5,
150
 
    0x0A14, 0x1E3C, 0xF5EC, 0xE1C4
151
 
};
152
 
 
153
 
/* filters used in final output calculations */
154
 
static const int16_t ts_5E2[8] =
155
 
    { 0x4666, 0x26B8, 0x154C, 0x0BB6, 0x0671, 0x038B, 0x01F3, 0x0112 };
156
 
static const int16_t ts_5F2[8] =
157
 
    { 0x6000, 0x4800, 0x3600, 0x2880, 0x1E60, 0x16C8, 0x1116, 0x0CD1 };
158
 
 
159
 
#endif /* AVCODEC_TRUESPEECH_DATA_H */