1 /***************************************************************************
4 * Declarations for Steim compression routines.
7 ***************************************************************************/
16 #define STEIM1_FRAME_MAX_SAMPLES 60
17 #define STEIM2_FRAME_MAX_SAMPLES 105
19 #define VALS_PER_FRAME 15 /* # of ints for data per frame.*/
21 #define STEIM1_SPECIAL_MASK 0
22 #define STEIM1_BYTE_MASK 1
23 #define STEIM1_HALFWORD_MASK 2
24 #define STEIM1_FULLWORD_MASK 3
26 #define STEIM2_SPECIAL_MASK 0
27 #define STEIM2_BYTE_MASK 1
28 #define STEIM2_123_MASK 2
29 #define STEIM2_567_MASK 3
31 typedef union u_diff
{ /* union for Steim objects. */
32 int8_t byte
[4]; /* 4 1-byte differences. */
33 int16_t hw
[2]; /* 2 halfword differences. */
34 int32_t fw
; /* 1 fullword difference. */
37 typedef struct frame
{ /* frame in a seed data record. */
38 uint32_t ctrl
; /* control word for frame. */
39 U_DIFF w
[15]; /* compressed data. */
42 typedef struct dframes
{ /* seed data frames. */
43 FRAME f
[1]; /* data record header frames. */
51 #endif /* STEIMDATA_H */