Index: apps/dsp.c =================================================================== --- apps/dsp.c (revision 21906) +++ apps/dsp.c (working copy) @@ -343,11 +345,10 @@ int32_t *d = dst[0] = dst[1] = &sample_buf[SAMPLE_BUF_LEFT_CHANNEL]; int scale = WORD_SHIFT; - do + while (s < send) { *d++ = *s++ << scale; } - while (s < send); src[0] = (char *)s; } @@ -362,7 +363,7 @@ int32_t *dr = dst[1] = &sample_buf[SAMPLE_BUF_RIGHT_CHANNEL]; int scale = WORD_SHIFT; - do + while (s < send) { int32_t slr = *s++; #ifdef ROCKBOX_LITTLE_ENDIAN @@ -373,7 +374,6 @@ *dr++ = (slr >> 16) << scale; #endif } - while (s < send); src[0] = (char *)s; } @@ -389,12 +389,11 @@ int32_t *dr = dst[1] = &sample_buf[SAMPLE_BUF_RIGHT_CHANNEL]; int scale = WORD_SHIFT; - do + while (sl < slend) { *dl++ = *sl++ << scale; *dr++ = *sr++ << scale; } - while (sl < slend); src[0] = (char *)sl; src[1] = (char *)sr; @@ -417,12 +416,11 @@ int32_t *dl = dst[0] = &sample_buf[SAMPLE_BUF_LEFT_CHANNEL]; int32_t *dr = dst[1] = &sample_buf[SAMPLE_BUF_RIGHT_CHANNEL]; - do + while (s < send) { *dl++ = *s++; *dr++ = *s++; } - while (s < send); src[0] = (char *)send; } @@ -477,13 +475,12 @@ const int scale = data->output_scale; const int dc_bias = 1 << (scale - 1); - do + while (count-- > 0) { int32_t lr = clip_sample_16((*s0++ + dc_bias) >> scale); *dst++ = lr; *dst++ = lr; } - while (--count > 0); } #endif /* DSP_HAVE_ASM_SAMPLE_OUTPUT_MONO */ @@ -497,12 +494,11 @@ const int scale = data->output_scale; const int dc_bias = 1 << (scale - 1); - do + while (count-- > 0) { *dst++ = clip_sample_16((*s0++ + dc_bias) >> scale); *dst++ = clip_sample_16((*s1++ + dc_bias) >> scale); } - while (--count > 0); } #endif /* DSP_HAVE_ASM_SAMPLE_OUTPUT_STEREO */ @@ -575,12 +571,11 @@ pcm buffer and hardware is interleaved stereo */ d = &dst[0]; - do + while (count-- > 0) { int16_t s = *d++; *d++ = s; } - while (--count > 0); } /** @@ -1034,13 +1067,12 @@ { int32_t *sl = buf[0], *sr = buf[1]; - do + while (count-- > 0) { int32_t lr = *sl/2 + *sr/2; *sl++ = lr; *sr++ = lr; } - while (--count > 0); } #endif /* DSP_HAVE_ASM_SOUND_CHAN_MONO */ @@ -1051,14 +1083,13 @@ const int32_t cross = dsp_sw_cross; int32_t *sl = buf[0], *sr = buf[1]; - do + while (count-- > 0) { int32_t l = *sl; int32_t r = *sr; *sl++ = FRACMUL(l, gain) + FRACMUL(r, cross); *sr++ = FRACMUL(r, gain) + FRACMUL(l, cross); } - while (--count > 0); } #endif /* DSP_HAVE_ASM_SOUND_CHAN_CUSTOM */ @@ -1079,13 +1110,12 @@ { int32_t *sl = buf[0], *sr = buf[1]; - do + while (count-- > 0) { int32_t ch = *sl/2 - *sr/2; *sl++ = ch; *sr++ = -ch; } - while (--count > 0); } #endif /* DSP_HAVE_ASM_SOUND_CHAN_KARAOKE */ @@ -1490,7 +1523,7 @@ } } - /* Store in S8.23 format to simplify calculations. */ + /* Store in S7.24 format to simplify calculations. */ replaygain = gain; set_gain(&AUDIO_DSP); }