CCSDS 124.0-B-1 C 1.0.0
CCSDS 124.0-B-1 Lossless Compression
Loading...
Searching...
No Matches
compress.c File Reference

CCSDS 124.0-B-1 compression algorithm implementation. More...

#include "ccsds124.h"
#include <string.h>

Go to the source code of this file.

Functions

Compressor Initialization

Implements CCSDS 124.0-B-1 Section 5.3 (Encoding Step):

  • Compressor initialization and state management
  • Main compression algorithm
  • Output packet encoding: oₜ = hₜ ∥ qₜ ∥ uₜ
Authors
Georges Labrèche georg.nosp@m.es@t.nosp@m.anagr.nosp@m.aspa.nosp@m.ce.co.nosp@m.mhttps://georges.fyi
Claude Code (Anthropic) norep.nosp@m.ly@a.nosp@m.nthro.nosp@m.pic..nosp@m.com
See also
https://ccsds.org/Pubs/124x0b1.pdf CCSDS 124.0-B-1 Standard
int ccsds124_compressor_init (ccsds124_compressor_t *comp, size_t F, const bitvector_t *initial_mask, uint8_t robustness, int pt_limit, int ft_limit, int rt_limit)
 Initialize compressor state.
 
void ccsds124_compressor_reset (ccsds124_compressor_t *comp)
 Reset compressor to initial state.
 
Internal Helper Functions
static void get_default_params (ccsds124_params_t *params, const ccsds124_compressor_t *comp)
 Get default compression parameters.
 
CCSDS Helper Functions
void ccsds124_compute_robustness_window (bitvector_t *Xt, const ccsds124_compressor_t *comp, const bitvector_t *current_change)
 Compute robustness window Xₜ.
 
uint8_t ccsds124_compute_effective_robustness (const ccsds124_compressor_t *comp, const bitvector_t *current_change)
 Compute effective robustness Vₜ.
 
int ccsds124_has_positive_updates (const bitvector_t *Xt, const bitvector_t *mask)
 Check for positive mask updates (eₜ flag).
 
int ccsds124_compute_ct_flag (const ccsds124_compressor_t *comp, uint8_t Vt, int current_new_mask_flag)
 Compute cₜ flag for multiple mask updates.
 
Main Compression Functions
int ccsds124_compress_packet (ccsds124_compressor_t *comp, const bitvector_t *input, bitbuffer_t *output, const ccsds124_params_t *params)
 Compress a single input packet.
 
int ccsds124_compress (ccsds124_compressor_t *comp, const uint8_t *input_data, size_t input_size, uint8_t *output_buffer, size_t output_buffer_size, size_t *output_size)
 Compress entire input data stream.
 

Detailed Description

CCSDS 124.0-B-1 compression algorithm implementation.

Definition in file compress.c.

Function Documentation

◆ get_default_params()

static void get_default_params ( ccsds124_params_t params,
const ccsds124_compressor_t comp 
)
static

Get default compression parameters.

Initializes parameters with robustness from compressor and all flags cleared.

Parameters
[out]paramsPointer to parameters structure.
[in]compPointer to compressor for robustness level.
Note
Caller should handle CCSDS initialization requirements (ft=1, rt=1 for first Rt+1 packets).

Definition at line 151 of file compress.c.

References ccsds124_params_t::min_robustness, ccsds124_params_t::new_mask_flag, ccsds124_compressor::robustness, ccsds124_params_t::send_mask_flag, and ccsds124_params_t::uncompressed_flag.

Referenced by ccsds124_compress_packet().