27 #ifndef ROHC_COMP_SCHEMES_WLSB_H 28 #define ROHC_COMP_SCHEMES_WLSB_H 85 const size_t window_width,
87 __attribute__((nonnull(1)));
92 __attribute__((nonnull(1)));
96 __attribute__((warn_unused_result, nonnull(1)));
100 __attribute__((warn_unused_result, nonnull(1)));
106 __attribute__((warn_unused_result, nonnull(1)));
109 const uint16_t
value)
110 __attribute__((warn_unused_result, nonnull(1)));
112 const uint16_t
value,
114 __attribute__((warn_unused_result, nonnull(1)));
116 const uint16_t
value,
118 __attribute__((warn_unused_result, nonnull(1)));
120 const uint16_t
value,
123 __attribute__((warn_unused_result, nonnull(1)));
126 const uint16_t
value,
129 __attribute__((warn_unused_result, nonnull(1)));
132 const uint32_t
value)
133 __attribute__((warn_unused_result, nonnull(1)));
135 const uint32_t
value,
137 __attribute__((warn_unused_result, nonnull(1)));
139 const uint32_t
value,
141 __attribute__((warn_unused_result, nonnull(1)));
144 const uint32_t
value,
147 __attribute__((warn_unused_result, nonnull(1)));
150 const uint32_t sn_bits,
151 const size_t sn_bits_nr)
152 __attribute__((warn_unused_result, nonnull(1)));
155 __attribute__((warn_unused_result, nonnull(1)));
bool used
Definition: comp_wlsb.h:46
rohc_lsb_shift_t
the different values of the shift parameter of the LSB algorithm
Definition: interval.h:47
size_t next
Definition: comp_wlsb.h:64
size_t oldest
Definition: comp_wlsb.h:62
#define ROHC_WLSB_WIDTH_MAX
Definition: interval.h:35
size_t wlsb_get_k_16bits(const struct c_wlsb *const wlsb, const uint16_t value)
Find out the minimal number of bits of the to-be-encoded value required to be able to uniquely recrea...
Definition: comp_wlsb.c:311
size_t bits
Definition: comp_wlsb.h:70
size_t wlsb_ack(struct c_wlsb *const wlsb, const uint32_t sn_bits, const size_t sn_bits_nr)
Acknowledge based on the Sequence Number (SN)
Definition: comp_wlsb.c:769
uint32_t value
Definition: comp_wlsb.h:49
bool wlsb_is_kp_possible_16bits(const struct c_wlsb *const wlsb, const uint16_t value, const size_t k, const rohc_lsb_shift_t p)
Find out whether the given number of bits is enough to encode value.
Definition: comp_wlsb.c:457
uint32_t sn
Definition: comp_wlsb.h:47
void c_add_wlsb(struct c_wlsb *const wlsb, const uint32_t sn, const uint32_t value)
Add a value into a W-LSB encoding object.
Definition: comp_wlsb.c:96
rohc_lsb_shift_t p
Definition: comp_wlsb.h:72
size_t count
Definition: comp_wlsb.h:67
bool wlsb_is_kp_possible_8bits(const struct c_wlsb *const wlsb, const uint8_t value, const size_t k, const rohc_lsb_shift_t p)
Find out whether the given number of bits is enough to encode value.
Definition: comp_wlsb.c:227
One W-LSB encoding object.
Definition: comp_wlsb.h:56
bool wlsb_is_sn_present(struct c_wlsb *const wlsb, const uint32_t sn)
Whether the given SN is present in the given WLSB window.
Definition: comp_wlsb.c:809
size_t wlsb_get_mink_16bits(const struct c_wlsb *const wlsb, const uint16_t value, const size_t min_k)
Find out the minimal number of bits of the to-be-encoded value required to be able to uniquely recrea...
Definition: comp_wlsb.c:329
size_t wlsb_get_kp_32bits(const struct c_wlsb *const wlsb, const uint32_t value, const rohc_lsb_shift_t p)
Find out the minimal number of bits of the to-be-encoded value required to be able to uniquely recrea...
Definition: comp_wlsb.c:574
size_t window_width
Definition: comp_wlsb.h:59
void wlsb_init(struct c_wlsb *const wlsb, const size_t bits, const size_t window_width, const rohc_lsb_shift_t p)
Initialize the given W-LSB encoding object.
Definition: comp_wlsb.c:64
size_t wlsb_get_k_8bits(const struct c_wlsb *const wlsb, const uint8_t value)
Find out the minimal number of bits of the to-be-encoded value required to be able to uniquely recrea...
Definition: comp_wlsb.c:127
size_t wlsb_get_k_32bits(const struct c_wlsb *const wlsb, const uint32_t value)
Find out the minimal number of bits of the to-be-encoded value required to be able to uniquely recrea...
Definition: comp_wlsb.c:537
size_t wlsb_get_kp_16bits(const struct c_wlsb *const wlsb, const uint16_t value, const rohc_lsb_shift_t p)
Find out the minimal number of bits of the to-be-encoded value required to be able to uniquely recrea...
Definition: comp_wlsb.c:348
size_t wlsb_get_minkp_16bits(const struct c_wlsb *const wlsb, const uint16_t value, const size_t min_k, const rohc_lsb_shift_t p)
Find out the minimal number of bits of the to-be-encoded value required to be able to uniquely recrea...
Definition: comp_wlsb.c:369
size_t wlsb_get_mink_32bits(const struct c_wlsb *const wlsb, const uint32_t value, const size_t min_k)
Find out the minimal number of bits of the to-be-encoded value required to be able to uniquely recrea...
Definition: comp_wlsb.c:555
One W-LSB window entry.
Definition: comp_wlsb.h:44
bool wlsb_is_kp_possible_32bits(const struct c_wlsb *const wlsb, const uint32_t value, const size_t k, const rohc_lsb_shift_t p)
Find out whether the given number of bits is enough to encode value.
Definition: comp_wlsb.c:684
size_t wlsb_get_kp_8bits(const struct c_wlsb *const wlsb, const uint8_t value, const rohc_lsb_shift_t p)
Find out the minimal number of bits of the to-be-encoded value required to be able to uniquely recrea...
Definition: comp_wlsb.c:144
Compute the interpretation interval for LSB and W-LSB encoding.