27 #define SSDV_ERROR       (-1)    29 #define SSDV_FEED_ME     (1)    30 #define SSDV_HAVE_PACKET (2)    31 #define SSDV_BUFFER_FULL (3)    35 #define SSDV_PKT_SIZE         (0x100)    36 #define SSDV_PKT_SIZE_HEADER  (0x0F)    37 #define SSDV_PKT_SIZE_CRC     (0x04)    38 #define SSDV_PKT_SIZE_RSCODES (0x20)    39 #define SSDV_PKT_SIZE_PAYLOAD (SSDV_PKT_SIZE - SSDV_PKT_SIZE_HEADER - SSDV_PKT_SIZE_CRC - SSDV_PKT_SIZE_RSCODES)    40 #define SSDV_PKT_SIZE_CRCDATA (SSDV_PKT_SIZE_HEADER + SSDV_PKT_SIZE_PAYLOAD - 1)    43 #define HBUFF_LEN (16)     57   uint16_t packet_mcu_id;
    58   uint8_t  packet_mcu_offset;
    91   uint16_t marker_data_len; 
   109   uint8_t stbls[TBL_LEN + HBUFF_LEN];
   110   uint8_t *sdht[2][2], *sdqt[2];
   114   uint8_t dtbls[TBL_LEN];
   115   uint8_t *ddht[2][2], *ddqt[2];
   133 extern char ssdv_enc_init(
ssdv_t *s, 
const char *callsign, uint8_t image_id);
   134 extern char ssdv_enc_set_buffer(
ssdv_t *s, uint8_t *buffer);
   135 extern char ssdv_enc_get_packet(
ssdv_t *s);
   136 extern char ssdv_enc_feed(
ssdv_t *s, uint8_t *buffer, 
size_t length);
   139 extern char ssdv_dec_init(
ssdv_t *s);
   140 extern char ssdv_dec_set_buffer(
ssdv_t *s, uint8_t *buffer, 
size_t length);
   141 extern char ssdv_dec_feed(
ssdv_t *s, uint8_t *packet);
   142 extern char ssdv_dec_get_jpeg(
ssdv_t *s, uint8_t **jpeg, 
size_t *length);
   144 extern char ssdv_dec_is_packet(uint8_t *packet, 
int *errors);
   146 extern char * ssdv_dec_callsign(
char *callsign, uint32_t code);