summaryrefslogtreecommitdiff
path: root/apps/codecs/wav_enc.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-03-29 01:55:47 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-03-29 01:55:47 +0000
commit62e0a516a085de93ec0fc50cfff6e346d80ccebb (patch)
tree2f37c8830318764bf49106b82a904b6c8541fc1f /apps/codecs/wav_enc.c
parent583caa867b052e4287bf531eb9576716ee1ed5a4 (diff)
downloadrockbox-62e0a516a085de93ec0fc50cfff6e346d80ccebb.zip
rockbox-62e0a516a085de93ec0fc50cfff6e346d80ccebb.tar.gz
rockbox-62e0a516a085de93ec0fc50cfff6e346d80ccebb.tar.bz2
rockbox-62e0a516a085de93ec0fc50cfff6e346d80ccebb.tar.xz
Accept FS#6918 - Remove Nested Functions by Tim Ross. Adjust some names. Hunt down and remove the remaining ones in the recording system as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12955 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/wav_enc.c')
-rw-r--r--apps/codecs/wav_enc.c48
1 files changed, 24 insertions, 24 deletions
diff --git a/apps/codecs/wav_enc.c b/apps/codecs/wav_enc.c
index e14b04d..ff77f13 100644
--- a/apps/codecs/wav_enc.c
+++ b/apps/codecs/wav_enc.c
@@ -209,6 +209,22 @@ STATICIRAM void enc_events_callback(enum enc_events event, void *data)
} /* enc_events_callback */
/* convert native pcm samples to wav format samples */
+static inline void sample_to_mono(uint32_t **src, uint32_t **dst)
+{
+ int32_t lr1, lr2;
+
+ lr1 = *(*src)++;
+ lr1 = (int16_t)lr1 + (lr1 >> 16) + err;
+ err = lr1 & 1;
+ lr1 >>= 1;
+
+ lr2 = *(*src)++;
+ lr2 = (int16_t)lr2 + (lr2 >> 16) + err;
+ err = lr2 & 1;
+ lr2 >>= 1;
+ *(*dst)++ = swap_odd_even_be32((lr1 << 16) | (uint16_t)lr2);
+} /* sample_to_mono */
+
STATICIRAM void chunk_to_wav_format(uint32_t *src, uint32_t *dst) ICODE_ATTR;
STATICIRAM void chunk_to_wav_format(uint32_t *src, uint32_t *dst)
{
@@ -226,32 +242,16 @@ STATICIRAM void chunk_to_wav_format(uint32_t *src, uint32_t *dst)
*/
uint32_t *src_end = src + PCM_SAMP_PER_CHUNK;
- inline void to_mono(uint32_t **src, uint32_t **dst)
- {
- int32_t lr1, lr2;
-
- lr1 = *(*src)++;
- lr1 = (int16_t)lr1 + (lr1 >> 16) + err;
- err = lr1 & 1;
- lr1 >>= 1;
-
- lr2 = *(*src)++;
- lr2 = (int16_t)lr2 + (lr2 >> 16) + err;
- err = lr2 & 1;
- lr2 >>= 1;
- *(*dst)++ = swap_odd_even_be32((lr1 << 16) | (uint16_t)lr2);
- } /* to_mono */
-
do
{
- to_mono(&src, &dst);
- to_mono(&src, &dst);
- to_mono(&src, &dst);
- to_mono(&src, &dst);
- to_mono(&src, &dst);
- to_mono(&src, &dst);
- to_mono(&src, &dst);
- to_mono(&src, &dst);
+ sample_to_mono(&src, &dst);
+ sample_to_mono(&src, &dst);
+ sample_to_mono(&src, &dst);
+ sample_to_mono(&src, &dst);
+ sample_to_mono(&src, &dst);
+ sample_to_mono(&src, &dst);
+ sample_to_mono(&src, &dst);
+ sample_to_mono(&src, &dst);
}
while (src < src_end);
}