Skip to content

SmallSatGasTeam/ssdv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This fork is identical to the original SSDV program, except the packets are 128 bytes instead of 256 bytes for the GASPACS CubeSat.

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 SSDV packets, each packet always being 128 bytes in length. 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

Languages

  • C 99.5%
  • Makefile 0.5%