28 double parse_vita_fixed_double(u_int64_t bits)
30 return (
double)(bits) / (1<<20);
32 double parse_vita_fixed_double(int64_t bits)
34 return (
double)(bits) / (1<<20);
36 float parse_vita_fixed_float(int16_t bits)
38 return (
float)(bits) / (1<<7);
47 struct context_packet {
56 double if_band_offset;
58 float rf_gain, if_gain;
62 u_int32_t state_indicators;
63 u_int64_t payload_format;
69 static M unpack_16(int8_t *start)
72 memcpy(&re, start, 2);
74 memcpy(&imag, start + 2, 2);
79 static M unpack_8(int8_t *start)
82 memcpy(&re, start, 1);
84 memcpy(&imag, start + 1, 1);
94 warnings_no_forward = 3
97 T (*d_unpacker)(int8_t *);
98 void parse_header(header_data& data);
99 pmt::pmt_t make_pkt_n_dict(
int pkt_n,
int size_gotten);
100 void unpack_context(context_packet& context);
101 void unpack_context_alt(context_packet& context);
102 pmt::pmt_t make_context_dict(header_data& header,
int size_gotten);
103 int buffer_and_send(T* out,
int noutput_items);
106 u_int32_t d_last_full;
107 u_int64_t d_last_frac;
108 int32_t d_static_bits;
109 u_int32_t d_unpack_idx_size;
113 pmt::pmt_t d_context;
114 std::vector<int8_t> d_packet_buffer;
115 std::deque<char> d_deque;
125 int context_pkt_behavior);
128 gr_vector_const_void_star& input_items,
129 gr_vector_void_star& output_items);