1#ifndef _SSTVENC_SSTVMODE_H
2#define _SSTVENC_SSTVMODE_H
20#define SSTVENC_PERIOD_VIS_START (300000u)
21#define SSTVENC_PERIOD_VIS_SYNC (10000u)
22#define SSTVENC_PERIOD_VIS_BIT (30000u)
24#define SSTVENC_PERIOD_FSKID_BIT (22000u)
35#define SSTVENC_CSO_BIT_MODE (12)
42#define SSTVENC_CSO_BIT_C(n) ((n) * 3)
45#define SSTVENC_CSO_MASK_MODE (0170000)
52#define SSTVENC_CSO_MASK_C(n) (07 << ((n) * 3))
60#define SSTVENC_CSO_MODE_MONO (0 << SSTVENC_CSO_BIT_MODE)
63#define SSTVENC_CSO_MODE_RGB (1 << SSTVENC_CSO_BIT_MODE)
66#define SSTVENC_CSO_MODE_YUV (2 << SSTVENC_CSO_BIT_MODE)
75#define SSTVENC_CSO_MODE_YUV2 (3 << SSTVENC_CSO_BIT_MODE)
86#define SSTVENC_CSO_CH_NONE (0)
87#define SSTVENC_CSO_CH_Y (1)
88#define SSTVENC_CSO_CH_U (2)
89#define SSTVENC_CSO_CH_V (3)
90#define SSTVENC_CSO_CH_R (4)
91#define SSTVENC_CSO_CH_G (5)
92#define SSTVENC_CSO_CH_B (6)
93#define SSTVENC_CSO_CH_Y2 (7)
108#define SSTVENC_MODE_GET_CH(n, mode) \
109 (((mode) & SSTVENC_CSO_MASK_C(n)) >> SSTVENC_CSO_BIT_C(n))
127#define SSTVENC_MODE_ORDER(cs, c0, c1, c2, c3) \
128 (((cs) & SSTVENC_CSO_MASK_MODE) \
129 | (((c0) << SSTVENC_CSO_BIT_C(0)) & SSTVENC_CSO_MASK_C(0)) \
130 | (((c1) << SSTVENC_CSO_BIT_C(1)) & SSTVENC_CSO_MASK_C(1)) \
131 | (((c2) << SSTVENC_CSO_BIT_C(2)) & SSTVENC_CSO_MASK_C(2)) \
132 | (((c3) << SSTVENC_CSO_BIT_C(3)) & SSTVENC_CSO_MASK_C(3)))
280 uint16_t x, uint16_t y);
const struct sstvenc_encoder_pulse * gap01
const struct sstvenc_encoder_pulse * backporch
const struct sstvenc_encoder_pulse * finalseq
const struct sstvenc_encoder_pulse * gap23
const struct sstvenc_encoder_pulse * gap12
uint16_t colour_space_order
const struct sstvenc_encoder_pulse * frontporch
const struct sstvenc_encoder_pulse * initseq
uint32_t scanline_period_ns[4]
size_t sstvenc_mode_get_fb_sz(const struct sstvenc_mode *const mode)
uint8_t sstvenc_get_mode_count()
uint64_t sstvenc_pulseseq_get_txtime(const struct sstvenc_encoder_pulse *seq)
const struct sstvenc_mode * sstvenc_get_mode_by_idx(uint8_t idx)
uint64_t sstvenc_mode_get_txtime(const struct sstvenc_mode *const mode, const char *fsk_id)
const struct sstvenc_mode * sstvenc_get_mode_by_name(const char *name)
uint32_t sstvenc_get_pixel_posn(const struct sstvenc_mode *const mode, uint16_t x, uint16_t y)