From: Mashiat Sarker Shakkhar Date: Fri, 23 Dec 2011 07:21:33 +0000 (+0600) Subject: Perform dequantization of channel coefficients X-Git-Tag: android-x86-4.4-r1~13333^2~15 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=70dd5a603cb9d1e7ba00640afa2da52ce5fabf3e;p=android-x86%2Fexternal-ffmpeg.git Perform dequantization of channel coefficients --- diff --git a/libavcodec/wmalosslessdec.c b/libavcodec/wmalosslessdec.c index 67aa655d82..e520ad3f58 100644 --- a/libavcodec/wmalosslessdec.c +++ b/libavcodec/wmalosslessdec.c @@ -1052,10 +1052,11 @@ static int decode_subframe(WmallDecodeCtx *s) { int offset = s->samples_per_frame; int subframe_len = s->samples_per_frame; - int i; + int i, j; int total_samples = s->samples_per_frame * s->num_channels; int rawpcm_tile; int padding_zeroes; + int quant_stepsize = s->quant_stepsize; s->subframe_offset = get_bits_count(&s->gb); @@ -1155,7 +1156,6 @@ static int decode_subframe(WmallDecodeCtx *s) if(rawpcm_tile) { 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++) { @@ -1182,6 +1182,11 @@ static int decode_subframe(WmallDecodeCtx *s) if(s->do_ac_filter) revert_acfilter(s, subframe_len); + /* Dequantize */ + for (i = 0; i < s->num_channels; i++) + for (j = 0; j < subframe_len; j++) + s->channel_residues[i][j] *= quant_stepsize; + /** handled one subframe */ for (i = 0; i < s->channels_for_cur_subframe; i++) {