Window-based Least Significant Bits (W-LSB) decoding.
More...
#include "interval.h"
#include <stdlib.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
Go to the source code of this file.
The different reference values for LSB decoding
| Enumerator |
|---|
| ROHC_LSB_REF_MINUS_1 |
Use the 'ref -1' reference value
|
| ROHC_LSB_REF_0 |
Use the 'ref 0' reference value
|
| ROHC_LSB_REF_MAX |
The number of different reference values
|
Decode a LSB-encoded value.
See 4.5.1 in the RFC 3095 for details about LSB encoding.
- Parameters
-
| lsb | The LSB object used to decode |
| ref_type | The reference value to use to decode (used for context repair upon CRC failure) |
| v_ref_d_offset | The offset to apply on v_ref_d (used for context repair upon CRC failure) |
| m | The LSB value to decode |
| k | The length of the LSB value to decode |
| p | The shift value p used to efficiently encode/decode the values |
| decoded | OUT: The decoded value |
- Returns
- true in case of success, false otherwise
Destroy a given Least Significant Bits (LSB) decoding context.
See 4.5.1 in the RFC 3095 for details about LSB encoding.
- Parameters
-
| lsb | The LSB decoding context to destroy |
Get the current LSB reference value (ref 0)
- Parameters
-
| lsb | The LSB object |
| ref_type | The reference value to retrieve |
- Returns
- The current reference value
Is the LSB decoding context ready to decode a compressed value.
- Parameters
-
| lsb | The LSB object used to decode |
- Returns
- Whether the LSB decoding context is ready to decode a value
Create a new Least Significant Bits (LSB) decoding context.
See 4.5.1 in the RFC 3095 for details about LSB encoding.
- Parameters
-
| max_len | The max length (in bits) of the non-compressed field |
- Returns
- The new LSB decoding context in case of success, NULL otherwise
| void rohc_lsb_set_ref |
( |
struct rohc_lsb_decode *const |
lsb, |
|
|
const uint32_t |
v_ref_d, |
|
|
const bool |
keep_ref_minus_1 |
|
) |
| |
Update the LSB reference value.
This function is called after a CRC success to update the last decoded value (for example, the SN value). See 4.5.1 in the RFC 3095 for details about LSB encoding.
- Parameters
-
| lsb | The LSB object |
| v_ref_d | The new reference value |
| keep_ref_minus_1 | Keep ref -1 unchanged (used for SN context repair after CRC failure, see RFC3095 ยง5.3.2.2.5) |