Revision d4f0cc1c
libavcodec/ra144.c  

331  331 
{ 
332  332 
static const uint8_t sizes[10] = {6, 5, 5, 4, 4, 3, 3, 3, 3, 2}; 
333  333 
unsigned int refl_rms[4]; // RMS of the reflection coefficients 
334 
uint16_t gbuf2[4][30];


334 
uint16_t block_coefs[4][30]; // LPC coefficients of each subblock


335  335 
int i, c; 
336  336 
int16_t *data = vdata; 
337  337 
unsigned int energy; 
...  ...  
354  354  
355  355 
energy = decodeval[get_bits(&gb, 5) << 1]; // Useless table entries? 
356  356  
357 
refl_rms[0] = dec2(ractx, gbuf2[0], 0, 0, ractx>old_energy);


358 
refl_rms[1] = dec2(ractx, gbuf2[1], 1, energy > ractx>old_energy,


357 
refl_rms[0] = dec2(ractx, block_coefs[0], 0, 0, ractx>old_energy);


358 
refl_rms[1] = dec2(ractx, block_coefs[1], 1, energy > ractx>old_energy,


359  359 
t_sqrt(energy*ractx>old_energy) >> 12); 
360 
refl_rms[2] = dec2(ractx, gbuf2[2], 2, 1, energy); 

361 
refl_rms[3] = dec1(gbuf2[3], ractx>lpc_refl, ractx>lpc_coef, energy); 

360 
refl_rms[2] = dec2(ractx, block_coefs[2], 2, 1, energy); 

361 
refl_rms[3] = dec1(block_coefs[3], ractx>lpc_refl, ractx>lpc_coef, 

362 
energy); 

362  363  
363  364 
/* do output */ 
364  365 
for (c=0; c<4; c++) { 
365 
do_output_subblock(ractx, gbuf2[c], refl_rms[c], data, &gb);


366 
do_output_subblock(ractx, block_coefs[c], refl_rms[c], data, &gb);


366  367  
367  368 
for (i=0; i<BLOCKSIZE; i++) { 
368  369 
*data = av_clip_int16(*data << 2); 
Also available in: Unified diff