[FFmpeg-cvslog] r21175 - trunk/libavcodec/ac3dec.c
reimar
subversion
Wed Jan 13 00:02:07 CET 2010
Author: reimar
Date: Wed Jan 13 00:02:07 2010
New Revision: 21175
Log:
Use MULH instead of 64x64 multiplication, around 5% overall speedup on Intel Atom.
Patch by myself and Yuriy Kaminskiy [yumkam mail ru]
Modified:
trunk/libavcodec/ac3dec.c
Modified: trunk/libavcodec/ac3dec.c
==============================================================================
--- trunk/libavcodec/ac3dec.c Tue Jan 12 22:36:26 2010 (r21174)
+++ trunk/libavcodec/ac3dec.c Wed Jan 13 00:02:07 2010 (r21175)
@@ -420,10 +420,9 @@ static void calc_transform_coeffs_cpl(AC
int band_end = bin + s->cpl_band_sizes[band];
for (ch = 1; ch <= s->fbw_channels; ch++) {
if (s->channel_in_cpl[ch]) {
- int64_t cpl_coord = s->cpl_coords[ch][band];
+ int cpl_coord = s->cpl_coords[ch][band] << 5;
for (bin = band_start; bin < band_end; bin++) {
- s->fixed_coeffs[ch][bin] = ((int64_t)s->fixed_coeffs[CPL_CH][bin] *
- cpl_coord) >> 23;
+ s->fixed_coeffs[ch][bin] = MULH(s->fixed_coeffs[CPL_CH][bin] << 4, cpl_coord);
}
if (ch == 2 && s->phase_flags[band]) {
for (bin = band_start; bin < band_end; bin++)
More information about the ffmpeg-cvslog
mailing list