Commit d975e5e9 authored by Måns Rullgård's avatar Måns Rullgård

WMAPRO: use vector_fmul_scalar from dsputil where possible

Originally committed as revision 20056 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 8b11b44e
...@@ -981,10 +981,13 @@ static void inverse_channel_transform(WMAProDecodeCtx *s) ...@@ -981,10 +981,13 @@ static void inverse_channel_transform(WMAProDecodeCtx *s)
} }
} }
} else if (s->num_channels == 2) { } else if (s->num_channels == 2) {
for (y = sfb[0]; y < FFMIN(sfb[1], s->subframe_len); y++) { int len = FFMIN(sfb[1], s->subframe_len) - sfb[0];
ch_data[0][y] *= 181.0 / 128; s->dsp.vector_fmul_scalar(ch_data[0] + sfb[0],
ch_data[1][y] *= 181.0 / 128; ch_data[0] + sfb[0],
} 181.0 / 128, len);
s->dsp.vector_fmul_scalar(ch_data[1] + sfb[0],
ch_data[1] + sfb[0],
181.0 / 128, len);
} }
} }
} }
...@@ -1214,10 +1217,10 @@ static int decode_subframe(WMAProDecodeCtx *s) ...@@ -1214,10 +1217,10 @@ static int decode_subframe(WMAProDecodeCtx *s)
(s->channel[c].max_scale_factor - *sf++) * (s->channel[c].max_scale_factor - *sf++) *
s->channel[c].scale_factor_step; s->channel[c].scale_factor_step;
const float quant = pow(10.0, exp / 20.0); const float quant = pow(10.0, exp / 20.0);
int start; int start = s->cur_sfb_offsets[b];
s->dsp.vector_fmul_scalar(s->tmp + start,
for (start = s->cur_sfb_offsets[b]; start < end; start++) s->channel[c].coeffs + start,
s->tmp[start] = s->channel[c].coeffs[start] * quant; quant, end - start);
} }
/** apply imdct (ff_imdct_half == DCTIV with reverse) */ /** apply imdct (ff_imdct_half == DCTIV with reverse) */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment