38 #define BITSTREAM_READER_LE
44 -0.8472560048, 0.7224709988,
46 -1.5247479677,-0.4531480074, 0.3753609955, 1.4717899561,
48 -1.9822579622,-1.1929379702,-0.5829370022,-0.0693780035, 0.3909569979, 0.9069200158, 1.4862740040, 2.2215409279,
50 -2.3887870312,-1.8067539930,-1.4105420113,-1.0773609877,-0.7995010018,-0.5558109879,-0.3334020078,-0.1324490011,
51 0.0568020009, 0.2548770010, 0.4773550034, 0.7386850119, 1.0443060398, 1.3954459429, 1.8098750114, 2.3918759823,
53 -2.3893830776,-1.9884680510,-1.7514040470,-1.5643119812,-1.3922129869,-1.2164649963,-1.0469499826,-0.8905100226,
54 -0.7645580173,-0.6454579830,-0.5259280205,-0.4059549868,-0.3029719889,-0.2096900046,-0.1239869967,-0.0479229987,
55 0.0257730000, 0.1001340002, 0.1737180054, 0.2585540116, 0.3522900045, 0.4569880068, 0.5767750144, 0.7003160119,
56 0.8425520062, 1.0093879700, 1.1821349859, 1.3534560204, 1.5320819616, 1.7332619429, 1.9722349644, 2.3978140354,
58 -2.5756309032,-2.0573320389,-1.8984919786,-1.7727810144,-1.6662600040,-1.5742180347,-1.4993319511,-1.4316639900,
59 -1.3652280569,-1.3000990152,-1.2280930281,-1.1588579416,-1.0921250582,-1.0135740042,-0.9202849865,-0.8287050128,
60 -0.7374889851,-0.6447759867,-0.5590940118,-0.4857139885,-0.4110319912,-0.3459700048,-0.2851159871,-0.2341620028,
61 -0.1870580018,-0.1442500055,-0.1107169986,-0.0739680007,-0.0365610011,-0.0073290002, 0.0203610007, 0.0479039997,
62 0.0751969963, 0.0980999991, 0.1220389977, 0.1458999962, 0.1694349945, 0.1970459968, 0.2252430022, 0.2556869984,
63 0.2870100141, 0.3197099864, 0.3525829911, 0.3889069855, 0.4334920049, 0.4769459963, 0.5204820037, 0.5644530058,
64 0.6122040153, 0.6685929894, 0.7341650128, 0.8032159805, 0.8784040213, 0.9566209912, 1.0397069454, 1.1293770075,
65 1.2211159468, 1.3080279827, 1.4024800062, 1.5056819916, 1.6227730513, 1.7724959850, 1.9430880547, 2.2903931141
69 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 8, 9, 10, 12, 14, 15
73 3134, 5342, 6870, 7792, 8569, 9185, 9744, 10191, 10631, 11061, 11434, 11770,
74 12116, 12513, 12925, 13300, 13674, 14027, 14352, 14716, 15117, 15477, 15824,
75 16157, 16513, 16804, 17090, 17401, 17679, 17948, 18238, 18520, 18764, 19078,
76 19381, 19640, 19921, 20205, 20500, 20813, 21162, 21465, 21794, 22137, 22453,
77 22756, 23067, 23350, 23636, 23926, 24227, 24521, 24819, 25107, 25414, 25730,
78 26120, 26497, 26895, 27344, 27877, 28463, 29426, 31355
82 -11725, -9420, -7910, -6801, -5948, -5233, -4599, -4039, -3507, -3030, -2596,
83 -2170, -1774, -1383, -1016, -660, -329, -1, 337, 696, 1085, 1512, 1962, 2433,
84 2968, 3569, 4314, 5279, 6622, 8154, 10076, 12975
99 b = ((b>>(shift-1))+1)>>1;
122 int bitsum = 0, last_bitsum, small_bitsum, big_bitsum;
123 short shift, shift_saved;
124 int max, sum, last_off, tmp;
125 int big_off, small_off;
130 max =
FFMAX(max, buf[i]);
138 sbuf[i] = (3*sbuf[i])>>2;
151 bitsum =
sum_bits(sbuf, shift_saved, small_off);
156 for(shift=0;
FFABS(off) <= 16383; shift++)
164 for (j = 1; j < 20; j++) {
165 last_off = small_off;
167 last_bitsum = bitsum;
169 bitsum =
sum_bits(sbuf, shift_saved, small_off);
171 if ((bitsum-NELLY_DETAIL_BITS) * (last_bitsum-NELLY_DETAIL_BITS) <= 0)
175 if (bitsum > NELLY_DETAIL_BITS) {
177 small_off = last_off;
179 small_bitsum=last_bitsum;
182 big_bitsum=last_bitsum;
186 while (bitsum != NELLY_DETAIL_BITS && j <= 19) {
187 off = (big_off+small_off)>>1;
188 bitsum =
sum_bits(sbuf, shift_saved, off);
189 if (bitsum > NELLY_DETAIL_BITS) {
199 if (abs(big_bitsum-NELLY_DETAIL_BITS) >=
200 abs(small_bitsum-NELLY_DETAIL_BITS)) {
201 bitsum = small_bitsum;
209 tmp = sbuf[i]-small_off;
210 tmp = ((tmp>>(shift_saved-1))+1)>>1;
static int signed_shift(int i, int shift)
const float ff_nelly_dequantization_table[127]
static int sum_bits(short *buf, short shift, short off)
#define NELLY_DETAIL_BITS
const uint16_t ff_nelly_init_table[64]
static int headroom(int *la)
bitstream reader API header.
const uint8_t ff_nelly_band_sizes_table[NELLY_BANDS]
const int16_t ff_nelly_delta_table[32]
void ff_nelly_get_sample_bits(const float *buf, int *bits)
The 3 alphanumeric copyright notices are md5summed they are from the original implementors.