ROHC compression/decompression library
|
Self-Describing Variable-Length (SDVL) encoding. More...
Go to the source code of this file.
Defines | |
#define | MAX_BITS_IN_1_BYTE_SDVL 7 |
#define | MAX_BITS_IN_2_BYTE_SDVL 14 |
#define | MAX_BITS_IN_3_BYTE_SDVL 21 |
#define | MAX_BITS_IN_4_BYTE_SDVL 29 |
Functions | |
bool | sdvl_can_value_be_encoded (uint32_t value) |
Can the given value be encoded with SDVL? | |
int | c_bytesSdvl (int value, int length) |
Find out how many bytes are needed to represent the value using Self-Describing Variable-Length (SDVL) encoding. | |
boolean | c_encodeSdvl (unsigned char *dest, int value, int length) |
Encode a value using Self-Describing Variable-Length (SDVL) encoding. | |
int | d_sdvalue_size (const unsigned char *data) |
Find out a size of the Self-Describing Variable-Length (SDVL) value. | |
int | d_sdvalue_decode (const unsigned char *data) |
Decode a Self-Describing Variable-Length (SDVL) value. |
Self-Describing Variable-Length (SDVL) encoding.
#define MAX_BITS_IN_1_BYTE_SDVL 7 |
Maximum number of bits in 1 SDVL-encoded byte
Referenced by c_bytesSdvl().
#define MAX_BITS_IN_2_BYTE_SDVL 14 |
Maximum number of bits in 2 SDVL-encoded byte
Referenced by c_bytesSdvl().
#define MAX_BITS_IN_3_BYTE_SDVL 21 |
Maximum number of bits in 3 SDVL-encoded byte
Referenced by c_bytesSdvl().
#define MAX_BITS_IN_4_BYTE_SDVL 29 |
Maximum number of bits in 4 SDVL-encoded byte
Referenced by c_bytesSdvl(), code_UOR2_ID_bytes(), code_UOR2_RTP_bytes(), code_UOR2_TS_bytes(), decide_FO_packet(), decide_SO_packet(), and decode_extension3().
int c_bytesSdvl | ( | int | value, |
int | length | ||
) |
Find out how many bytes are needed to represent the value using Self-Describing Variable-Length (SDVL) encoding.
See 4.5.6 in the RFC 3095 for details about SDVL encoding.
value | The value to encode |
length | The length of the value to encode (-1 to let the SDVL encoding find the length itself) |
References MAX_BITS_IN_1_BYTE_SDVL, MAX_BITS_IN_2_BYTE_SDVL, MAX_BITS_IN_3_BYTE_SDVL, MAX_BITS_IN_4_BYTE_SDVL, and rohc_debugf.
Referenced by c_encodeSdvl(), code_cid_values(), code_EXT3_packet(), f_append_cid(), rtp_code_dynamic_rtp_part(), and rtp_header_flags_and_fields().
boolean c_encodeSdvl | ( | unsigned char * | dest, |
int | value, | ||
int | length | ||
) |
Encode a value using Self-Describing Variable-Length (SDVL) encoding.
See 4.5.6 in the RFC 3095 for details about SDVL encoding.
dest | The destination to write the SDVL-encoded to |
value | The value to encode |
length | The length of the value to encode |
References c_bytesSdvl(), ROHC_FALSE, and ROHC_TRUE.
Referenced by code_cid_values(), code_EXT3_packet(), f_append_cid(), rtp_code_dynamic_rtp_part(), and rtp_header_flags_and_fields().
int d_sdvalue_decode | ( | const unsigned char * | data | ) |
Decode a Self-Describing Variable-Length (SDVL) value.
See 4.5.6 in the RFC 3095 for details about SDVL encoding.
data | The SDVL data to decode |
References GET_BIT_0_4, GET_BIT_0_5, GET_BIT_0_6, GET_BIT_0_7, GET_BIT_5_7, GET_BIT_6_7, and GET_BIT_7.
Referenced by c_deliver_feedback(), decode_extension3(), and rtp_decode_dynamic_rtp().
int d_sdvalue_size | ( | const unsigned char * | data | ) |
Find out a size of the Self-Describing Variable-Length (SDVL) value.
See 4.5.6 in the RFC 3095 for details about SDVL encoding.
data | The SDVL data to analyze |
References GET_BIT_5_7, GET_BIT_6_7, GET_BIT_7, and rohc_debugf.
Referenced by c_deliver_feedback(), decode_extension3(), rtp_decode_dynamic_rtp(), rtp_detect_ir_dyn_size(), and rtp_detect_ir_size().
bool sdvl_can_value_be_encoded | ( | uint32_t | value | ) |
Can the given value be encoded with SDVL?
See 4.5.6 in the RFC 3095 for details about SDVL encoding.
value | The value to encode |
Referenced by c_add_ts().