Skip to content
/ ssdv Public

A robust version of the JPEG image format, for transmission over an unreliable medium.

License

Notifications You must be signed in to change notification settings

fsphil/ssdv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bf0249e · Apr 14, 2023

History

55 Commits
Jan 29, 2012
May 31, 2011
Oct 31, 2012
Apr 14, 2023
Apr 14, 2023
May 30, 2011
May 30, 2011
Apr 14, 2023
Mar 4, 2023

Repository files navigation

SSDV - simple command line app for encoding / decoding SSDV image data

Created by Philip Heron <phil@sanslogic.co.uk>
http://www.sanslogic.co.uk/ssdv/

A robust packetised version of the JPEG image format.

Uses the Reed-Solomon codec written by Phil Karn, KA9Q.

ENCODING

$ ssdv -e -c TEST01 -i ID input.jpeg output.bin

This encodes the 'input.jpeg' image file into SSDV packets stored in the 'output.bin' file. TEST01 (the callsign, an alphanumeric string up to 6 characters) and ID (a number from 0-255) are encoded into the header of each packet. The ID should be changed for each new image transmitted to allow the decoder to identify when a new image begins.

The output file contains a series of fixed-length SSDV packets (default 256 bytes). Additional data may be transmitted between each packet, the decoder will ignore this.

DECODING

$ ssdv -d input.bin output.jpeg

This decodes a file 'input.bin' containing a series of SSDV packets into the JPEG file 'output.jpeg'.

LIMITATIONS

Only JPEG files are supported, with the following limitations:

 - Greyscale or YUV/YCbCr colour formats
 - Width and height must be a multiple of 16 (up to a resolution of 4080 x 4080)
 - Baseline DCT only
 - The total number of MCU blocks must not exceed 65535

INSTALLING

make

TODO

* Allow the decoder to handle multiple images in the input stream.
* Experiment with adaptive or multiple huffman tables.

About

A robust version of the JPEG image format, for transmission over an unreliable medium.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published