Merge remote-tracking branch 'shariman/wmall'
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 24 Dec 2011 00:54:25 +0000 (01:54 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 24 Dec 2011 00:54:25 +0000 (01:54 +0100)
* shariman/wmall:
  Perform dequantization of channel coefficients
  Perform inverse inter-channel decorrelation and ac-filter
  Implement revert_inter_ch_decorr() and revert_acfilter()
  Enable inverse-MCLMS filter
  Fix inverse-MCLMS filtering routines
  Do not update buffers in case no speed change is necessary
  Use int for channel_coeffs instead of int16_t

Conflicts:
libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/wmalosslessdec.c

@@@ -1110,20 -1154,19 +1154,19 @@@ static int decode_subframe(WmallDecodeC
      }
  
      if(rawpcm_tile) {
 -      
 -      int bits = s->bits_per_sample - padding_zeroes;
 -      dprintf(s->avctx, "RAWPCM %d bits per sample. total %d bits, remain=%d\n", bits,
 -              bits * s->num_channels * subframe_len, get_bits_count(&s->gb));
 -      for(i = 0; i < s->num_channels; i++) {
 -          for(j = 0; j < subframe_len; j++) {
 -              s->channel_coeffs[i][j] = get_sbits(&s->gb, bits);
 -//            dprintf(s->avctx, "PCM[%d][%d] = 0x%04x\n", i, j, s->channel_coeffs[i][j]);
 -          }
 -      }
 +
 +        int bits = s->bits_per_sample - padding_zeroes;
-         int j;
 +        dprintf(s->avctx, "RAWPCM %d bits per sample. total %d bits, remain=%d\n", bits,
 +                bits * s->num_channels * subframe_len, get_bits_count(&s->gb));
 +        for(i = 0; i < s->num_channels; i++) {
 +            for(j = 0; j < subframe_len; j++) {
 +                s->channel_coeffs[i][j] = get_sbits(&s->gb, bits);
 +//                dprintf(s->avctx, "PCM[%d][%d] = 0x%04x\n", i, j, s->channel_coeffs[i][j]);
 +            }
 +        }
      } else {
 -      for(i = 0; i < s->num_channels; i++)
 -          if(s->is_channel_coded[i]) {
 +        for(i = 0; i < s->num_channels; i++)
 +            if(s->is_channel_coded[i]) {
              decode_channel_residues(s, i, subframe_len);
              if (s->seekable_tile)
                  use_high_update_speed(s, i);