annotate libtest/pcmwrite.c @ 467:ad032051166a

doc: AMR-EFR-hybrid-emu new article
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 12 May 2024 23:54:43 +0000
parents a3aa152c4653
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * Here we implement our PCM write helper function.
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 */
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 #include <stdint.h>
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #include "wavwriter.h"
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include "pcmwrite.h"
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 void write_pcm_to_wav(void *wav, const int16_t *pcm)
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 {
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 uint8_t bytes[320], *dp;
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 int16_t samp;
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 unsigned n;
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 dp = bytes;
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 for (n = 0; n < 160; n++) {
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 samp = pcm[n];
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 *dp++ = samp & 0xFF;
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 *dp++ = (samp >> 8) & 0xFF;
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 }
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 wav_write_data(wav, bytes, 320);
a3aa152c4653 libtest: pcmwrite helper function and module
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 }