[FFmpeg-cvslog] r20056 - trunk/libavcodec/wmaprodec.c
mru
subversion
Sun Sep 27 10:16:50 CEST 2009
Author: mru
Date: Sun Sep 27 10:16:50 2009
New Revision: 20056
Log:
WMAPRO: use vector_fmul_scalar from dsputil where possible
Modified:
trunk/libavcodec/wmaprodec.c
Modified: trunk/libavcodec/wmaprodec.c
==============================================================================
--- trunk/libavcodec/wmaprodec.c Sun Sep 27 09:16:51 2009 (r20055)
+++ trunk/libavcodec/wmaprodec.c Sun Sep 27 10:16:50 2009 (r20056)
@@ -981,10 +981,13 @@ static void inverse_channel_transform(WM
}
}
} else if (s->num_channels == 2) {
- for (y = sfb[0]; y < FFMIN(sfb[1], s->subframe_len); y++) {
- ch_data[0][y] *= 181.0 / 128;
- ch_data[1][y] *= 181.0 / 128;
- }
+ int len = FFMIN(sfb[1], s->subframe_len) - sfb[0];
+ s->dsp.vector_fmul_scalar(ch_data[0] + sfb[0],
+ 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(WMAProDecodeC
(s->channel[c].max_scale_factor - *sf++) *
s->channel[c].scale_factor_step;
const float quant = pow(10.0, exp / 20.0);
- int start;
-
- for (start = s->cur_sfb_offsets[b]; start < end; start++)
- s->tmp[start] = s->channel[c].coeffs[start] * quant;
+ int start = s->cur_sfb_offsets[b];
+ s->dsp.vector_fmul_scalar(s->tmp + start,
+ s->channel[c].coeffs + start,
+ quant, end - start);
}
/** apply imdct (ff_imdct_half == DCTIV with reverse) */
More information about the ffmpeg-cvslog
mailing list