From aefdb735c3df9480c1ca9bcf4a3835bd66271bd1 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Thu, 18 Oct 2012 17:07:04 -0400 Subject: atrac3: simplify some loop indexing --- libavcodec/atrac3.c | 60 ++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) (limited to 'libavcodec') diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c index 4223d04521..ad707b120e 100644 --- a/libavcodec/atrac3.c +++ b/libavcodec/atrac3.c @@ -551,7 +551,7 @@ static void reverse_matrixing(float *su1, float *su2, int *prev_code, for (i = 0, band = 0; band < 4 * 256; band += 256, i++) { int s1 = prev_code[i]; int s2 = curr_code[i]; - nsample = 0; + nsample = band; if (s1 != s2) { /* Selector value changed, interpolation needed. */ @@ -561,41 +561,41 @@ static void reverse_matrixing(float *su1, float *su2, int *prev_code, mc2_r = matrix_coeffs[s2 * 2 + 1]; /* Interpolation is done over the first eight samples. */ - for (; nsample < 8; nsample++) { - float c1 = su1[band + nsample]; - float c2 = su2[band + nsample]; - c2 = c1 * INTERPOLATE(mc1_l, mc2_l, nsample) + - c2 * INTERPOLATE(mc1_r, mc2_r, nsample); - su1[band + nsample] = c2; - su2[band + nsample] = c1 * 2.0 - c2; + for (; nsample < band + 8; nsample++) { + float c1 = su1[nsample]; + float c2 = su2[nsample]; + c2 = c1 * INTERPOLATE(mc1_l, mc2_l, nsample - band) + + c2 * INTERPOLATE(mc1_r, mc2_r, nsample - band); + su1[nsample] = c2; + su2[nsample] = c1 * 2.0 - c2; } } /* Apply the matrix without interpolation. */ switch (s2) { case 0: /* M/S decoding */ - for (; nsample < 256; nsample++) { - float c1 = su1[band + nsample]; - float c2 = su2[band + nsample]; - su1[band + nsample] = c2 * 2.0; - su2[band + nsample] = (c1 - c2) * 2.0; + for (; nsample < band + 256; nsample++) { + float c1 = su1[nsample]; + float c2 = su2[nsample]; + su1[nsample] = c2 * 2.0; + su2[nsample] = (c1 - c2) * 2.0; } break; case 1: - for (; nsample < 256; nsample++) { - float c1 = su1[band + nsample]; - float c2 = su2[band + nsample]; - su1[band + nsample] = (c1 + c2) * 2.0; - su2[band + nsample] = c2 * -2.0; + for (; nsample < band + 256; nsample++) { + float c1 = su1[nsample]; + float c2 = su2[nsample]; + su1[nsample] = (c1 + c2) * 2.0; + su2[nsample] = c2 * -2.0; } break; case 2: case 3: - for (; nsample < 256; nsample++) { - float c1 = su1[band + nsample]; - float c2 = su2[band + nsample]; - su1[band + nsample] = c1 + c2; - su2[band + nsample] = c1 - c2; + for (; nsample < band + 256; nsample++) { + float c1 = su1[nsample]; + float c2 = su2[nsample]; + su1[nsample] = c1 + c2; + su2[nsample] = c1 - c2; } break; default: @@ -627,14 +627,14 @@ static void channel_weighting(float *su1, float *su2, int *p3) get_channel_weights(p3[1], p3[0], w[0]); get_channel_weights(p3[3], p3[2], w[1]); - for (band = 1; band < 4; band++) { - for (nsample = 0; nsample < 8; nsample++) { - su1[band * 256 + nsample] *= INTERPOLATE(w[0][0], w[0][1], nsample); - su2[band * 256 + nsample] *= INTERPOLATE(w[1][0], w[1][1], nsample); + for (band = 256; band < 4 * 256; band += 256) { + for (nsample = band; nsample < band + 8; nsample++) { + su1[nsample] *= INTERPOLATE(w[0][0], w[0][1], nsample - band); + su2[nsample] *= INTERPOLATE(w[1][0], w[1][1], nsample - band); } - for(; nsample < 256; nsample++) { - su1[band * 256 + nsample] *= w[1][0]; - su2[band * 256 + nsample] *= w[1][1]; + for(; nsample < band + 256; nsample++) { + su1[nsample] *= w[1][0]; + su2[nsample] *= w[1][1]; } } } -- cgit v1.2.3