39 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
40 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
41 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
42 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
43 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
44 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
54 -1, -1, 2, 6, -1, -1, 2, 6
59 -1, -1, -1, -1, 1, 2, 4, 6,
60 -1, -1, -1, -1, 1, 2, 4, 6
65 -1, -1, -1, -1, -1, -1, -1, -1,
66 1, 1, 1, 2, 2, 4, 5, 6,
67 -1, -1, -1, -1, -1, -1, -1, -1,
68 1, 1, 1, 2, 2, 4, 5, 6
73 -1, -1, -1, -1, -1, -1, -1, -1,
74 -1, -1, -1, -1, -1, -1, -1, -1,
75 1, 1, 1, 1, 1, 2, 2, 2,
76 2, 4, 4, 4, 5, 5, 6, 6,
77 -1, -1, -1, -1, -1, -1, -1, -1,
78 -1, -1, -1, -1, -1, -1, -1, -1,
79 1, 1, 1, 1, 1, 2, 2, 2,
80 2, 4, 4, 4, 5, 5, 6, 6
85 -1, -1, -1, -1, -1, -1, -1, -1,
86 -1, -1, -1, -1, -1, -1, -1, -1,
87 -1, -1, -1, -1, -1, -1, -1, -1,
88 -1, -1, -1, -1, -1, -1, -1, -1,
89 1, 1, 1, 1, 1, 1, 1, 1,
90 1, 1, 2, 2, 2, 2, 2, 2,
91 2, 2, 4, 4, 4, 4, 4, 4,
92 5, 5, 5, 5, 6, 6, 6, 6,
93 -1, -1, -1, -1, -1, -1, -1, -1,
94 -1, -1, -1, -1, -1, -1, -1, -1,
95 -1, -1, -1, -1, -1, -1, -1, -1,
96 -1, -1, -1, -1, -1, -1, -1, -1,
97 1, 1, 1, 1, 1, 1, 1, 1,
98 1, 1, 2, 2, 2, 2, 2, 2,
99 2, 2, 4, 4, 4, 4, 4, 4,
100 5, 5, 5, 5, 6, 6, 6, 6
118 for (start_pos = 0; start_pos < 64; start_pos++) {
119 unsigned int dest_pos, table_pos;
121 for (table_pos = 0, dest_pos = start_pos;
123 table_pos++, dest_pos += 64) {
124 int put = 0,
count, table_value;
128 if (start_pos &
count)
147 int8_t channel_hint[2];
148 int ret, chan, channels = 1;
157 if (samples == 0xffffffff) {
162 if (samples > pkt->
size * 2)
166 if (channel_hint[0] & 0x80) {
167 channel_hint[0] = ~channel_hint[0];
183 for (chan = 0; chan < channels; chan++) {
184 uint16_t *dest = (uint16_t*)frame->
data[0] + chan;
185 int step_index = channel_hint[chan];
186 int output = pcm_data[chan];
190 int lookup_size,
lookup, highbit, lowbits;
192 step_index = av_clip(step_index, 0, 88);
194 lookup =
get_bits(&gb, lookup_size);
195 highbit = 1 << (lookup_size - 1);
196 lowbits = highbit - 1;
198 if (lookup & highbit)
203 if (lookup == lowbits) {
206 int predict_index, diff;
208 predict_index = (lookup << (7 - lookup_size)) | (step_index << 6);
209 predict_index = av_clip(predict_index, 0, 5785);
216 output = av_clip_int16(output + diff);