diff options
| author | drowe67 <[email protected]> | 2023-07-20 08:59:48 +0930 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-07-20 08:59:48 +0930 |
| commit | 06d4c11e699b0351765f10398abb4f663a984f36 (patch) | |
| tree | 33e22af0814c5b6c3d676f096ae8c2ac8a3ed9f0 /demo/c2demo.c | |
| parent | 6588e77f38bdebd7adffe091b22e7760d95d0ccb (diff) | |
| parent | 4d6c143c0abec15e1d6ed1fd95d36f80e6cb7df8 (diff) | |
Merge pull request #3 from drowe67/dr-cleanup21.2.0
Cleanup Part 2
Diffstat (limited to 'demo/c2demo.c')
| -rw-r--r-- | demo/c2demo.c | 84 |
1 files changed, 42 insertions, 42 deletions
diff --git a/demo/c2demo.c b/demo/c2demo.c index 08322ff..6a043bd 100644 --- a/demo/c2demo.c +++ b/demo/c2demo.c @@ -6,11 +6,11 @@ Encodes and decodes a file of raw speech samples using Codec 2. Demonstrates use of Codec 2 function API. - + cd codec2/build_linux ./demo/c2demo ../raw/hts1a.raw his1a_out.raw aplay -f S16_LE hts1a_out.raw - + \*---------------------------------------------------------------------------*/ /* @@ -32,46 +32,46 @@ #include <stdio.h> #include <stdlib.h> + #include "codec2.h" -int main(int argc, char *argv[]) -{ - struct CODEC2 *codec2; - FILE *fin; - FILE *fout; - - if (argc != 3) { - printf("usage: %s InputRawSpeechFile OutputRawSpeechFile\n", argv[0]); - exit(1); - } - - if ( (fin = fopen(argv[1],"rb")) == NULL ) { - fprintf(stderr, "Error opening input speech file: %s\n", argv[1]); - exit(1); - } - - if ( (fout = fopen(argv[2],"wb")) == NULL ) { - fprintf(stderr, "Error opening output speech file: %s\n", argv[2]); - exit(1); - } - - /* Note only one set of Codec 2 states is required for an encoder - and decoder pair. */ - codec2 = codec2_create(CODEC2_MODE_1300); - size_t nsam = codec2_samples_per_frame(codec2); - short speech_samples[nsam]; - /* Bits from the encoder are packed into bytes */ - unsigned char compressed_bytes[codec2_bytes_per_frame(codec2)]; - - while(fread(speech_samples, sizeof(short), nsam, fin) == nsam) { - codec2_encode(codec2, compressed_bytes, speech_samples); - codec2_decode(codec2, speech_samples, compressed_bytes); - fwrite(speech_samples, sizeof(short), nsam, fout); - } - - codec2_destroy(codec2); - fclose(fin); - fclose(fout); - - return 0; +int main(int argc, char *argv[]) { + struct CODEC2 *codec2; + FILE *fin; + FILE *fout; + + if (argc != 3) { + printf("usage: %s InputRawSpeechFile OutputRawSpeechFile\n", argv[0]); + exit(1); + } + + if ((fin = fopen(argv[1], "rb")) == NULL) { + fprintf(stderr, "Error opening input speech file: %s\n", argv[1]); + exit(1); + } + + if ((fout = fopen(argv[2], "wb")) == NULL) { + fprintf(stderr, "Error opening output speech file: %s\n", argv[2]); + exit(1); + } + + /* Note only one set of Codec 2 states is required for an encoder + and decoder pair. */ + codec2 = codec2_create(CODEC2_MODE_1300); + size_t nsam = codec2_samples_per_frame(codec2); + short speech_samples[nsam]; + /* Bits from the encoder are packed into bytes */ + unsigned char compressed_bytes[codec2_bytes_per_frame(codec2)]; + + while (fread(speech_samples, sizeof(short), nsam, fin) == nsam) { + codec2_encode(codec2, compressed_bytes, speech_samples); + codec2_decode(codec2, speech_samples, compressed_bytes); + fwrite(speech_samples, sizeof(short), nsam, fout); + } + + codec2_destroy(codec2); + fclose(fin); + fclose(fout); + + return 0; } |
