libsstvenc
Asynchronous Analogue SSTV encoder
Loading...
Searching...
No Matches
sunau.h
Go to the documentation of this file.
1#ifndef _SSTVENC_SUNAU_H
2#define _SSTVENC_SUNAU_H
3
13/*
14 * © Stuart Longland VK4MSL
15 * SPDX-License-Identifier: MIT
16 */
17
18#include <errno.h>
19#include <stdarg.h>
20#include <stddef.h>
21#include <stdint.h>
22#include <stdio.h>
23
31#define SSTVENC_SUNAU_FMT_S8 (0x02u)
32#define SSTVENC_SUNAU_FMT_S16 (0x03u)
33#define SSTVENC_SUNAU_FMT_S32 (0x05u)
34#define SSTVENC_SUNAU_FMT_F32 (0x06u)
35#define SSTVENC_SUNAU_FMT_F64 (0x07u)
47 FILE* fh;
49 uint32_t written_sz;
51 uint32_t sample_rate;
53 uint16_t state;
55 uint8_t encoding;
57 uint8_t channels;
58};
59
70int sstvenc_sunau_check(uint32_t sample_rate, uint8_t encoding,
71 uint8_t channels);
72
88int sstvenc_sunau_enc_init_fh(struct sstvenc_sunau* const enc, FILE* fh,
89 uint32_t sample_rate, uint8_t encoding,
90 uint8_t channels);
91
105int sstvenc_sunau_enc_init(struct sstvenc_sunau* const enc, const char* path,
106 uint32_t sample_rate, uint8_t encoding,
107 uint8_t channels);
108
123int sstvenc_sunau_enc_write(struct sstvenc_sunau* const enc, size_t n_samples,
124 const double* samples);
125
135int sstvenc_sunau_enc_close(struct sstvenc_sunau* const enc);
136
149int sstvenc_sunau_dec_init_fh(struct sstvenc_sunau* const dec, FILE* fh);
150
161int sstvenc_sunau_dec_init(struct sstvenc_sunau* const dec, const char* path);
162
177int sstvenc_sunau_dec_read(struct sstvenc_sunau* const enc,
178 size_t* const n_samples, double* samples);
179
188int sstvenc_sunau_dec_close(struct sstvenc_sunau* const dec);
189
191#endif
uint8_t channels
Definition sunau.h:57
FILE * fh
Definition sunau.h:47
uint32_t written_sz
Definition sunau.h:49
uint8_t encoding
Definition sunau.h:55
uint32_t sample_rate
Definition sunau.h:51
uint16_t state
Definition sunau.h:53
int sstvenc_sunau_dec_init_fh(struct sstvenc_sunau *const dec, FILE *fh)
Definition sunau.c:370
int sstvenc_sunau_enc_write(struct sstvenc_sunau *const enc, size_t n_samples, const double *samples)
Definition sunau.c:310
int sstvenc_sunau_check(uint32_t sample_rate, uint8_t encoding, uint8_t channels)
Definition sunau.c:250
int sstvenc_sunau_enc_init_fh(struct sstvenc_sunau *const enc, FILE *fh, uint32_t sample_rate, uint8_t encoding, uint8_t channels)
Definition sunau.c:270
int sstvenc_sunau_dec_close(struct sstvenc_sunau *const dec)
Definition sunau.c:606
int sstvenc_sunau_dec_read(struct sstvenc_sunau *const enc, size_t *const n_samples, double *samples)
Definition sunau.c:587
int sstvenc_sunau_enc_init(struct sstvenc_sunau *const enc, const char *path, uint32_t sample_rate, uint8_t encoding, uint8_t channels)
Definition sunau.c:288
int sstvenc_sunau_dec_init(struct sstvenc_sunau *const dec, const char *path)
Definition sunau.c:413
int sstvenc_sunau_enc_close(struct sstvenc_sunau *const enc)
Definition sunau.c:340