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

index 0af01de390610caff25e37b0135939983f12f0ae,e520ad3f58fbd83c117d42b2ff783c68e3770cda..76dc6c99a8dcaef424ac8b67f3b3ae9fb28d46b8
@@@ -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);