ROHC compression/decompression library
|
Scaled RTP Timestamp encoding. More...
Go to the source code of this file.
Data Structures | |
struct | ts_sc_comp |
Scaled RTP Timestamp encoding object. More... | |
Enumerations | |
enum | ts_sc_state { INIT_TS = 1, INIT_STRIDE = 2, SEND_SCALED = 3 } |
State of scaled RTP Timestamp encoding. More... | |
Functions | |
int ROHC_EXPORT | c_create_sc (struct ts_sc_comp *const ts_sc, const size_t wlsb_window_width) |
Create the ts_sc_comp object. | |
void ROHC_EXPORT | c_destroy_sc (struct ts_sc_comp *const ts_sc) |
Destroy the ts_sc_comp object. | |
void ROHC_EXPORT | c_add_ts (struct ts_sc_comp *const ts_sc, const uint32_t ts, const uint16_t sn) |
Store the new TS, calculate new values and update the state. | |
bool ROHC_EXPORT | nb_bits_scaled (const struct ts_sc_comp ts_sc, size_t *const bits_nr) |
Return the number of bits needed to encode TS_SCALED. | |
void ROHC_EXPORT | add_scaled (const struct ts_sc_comp *const ts_sc, uint16_t sn) |
Add a new TS_SCALED value to the ts_sc_comp object. | |
uint32_t ROHC_EXPORT | get_ts_stride (const struct ts_sc_comp ts_sc) |
Return the TS_STRIDE value. | |
uint32_t ROHC_EXPORT | get_ts_scaled (const struct ts_sc_comp ts_sc) |
Return the TS_SCALED value. |
Scaled RTP Timestamp encoding.
See section 4.5.3 of RFC 3095 for details about Scaled RTP Timestamp encoding.
enum ts_sc_state |
State of scaled RTP Timestamp encoding.
See section 4.5.3 of RFC 3095 for details about Scaled RTP Timestamp encoding.
void ROHC_EXPORT add_scaled | ( | const struct ts_sc_comp *const | ts_sc, |
uint16_t | sn | ||
) |
Add a new TS_SCALED value to the ts_sc_comp object.
ts_sc | The ts_sc_comp object |
sn | The Sequence Number |
References c_add_wlsb(), ts_sc_comp::scaled_window, and ts_sc_comp::ts_scaled.
void ROHC_EXPORT c_add_ts | ( | struct ts_sc_comp *const | ts_sc, |
const uint32_t | ts, | ||
const uint16_t | sn | ||
) |
Store the new TS, calculate new values and update the state.
ts_sc | The ts_sc_comp object |
ts | The timestamp to add |
sn | The sequence number of the RTP packet |
References INIT_STRIDE, INIT_TS, ts_sc_comp::is_deductible, ts_sc_comp::nr_init_stride_packets, ts_sc_comp::old_sn, ts_sc_comp::old_ts, rohc_debugf, sdvl_can_value_be_encoded(), SEND_SCALED, sn, ts_sc_comp::sn, ts_sc_comp::state, ts_sc_decomp::ts, ts_sc_comp::ts, ts_sc_comp::ts_delta, ts_sc_comp::ts_offset, ts_sc_comp::ts_scaled, and ts_sc_comp::ts_stride.
int ROHC_EXPORT c_create_sc | ( | struct ts_sc_comp *const | ts_sc, |
const size_t | wlsb_window_width | ||
) |
Create the ts_sc_comp object.
ts_sc | The ts_sc_comp object to create |
wlsb_window_width | The width of the W-LSB sliding window to use for TS_STRIDE (must be > 0) |
References c_create_wlsb(), INIT_TS, ts_sc_comp::is_deductible, ts_sc_comp::nr_init_stride_packets, ts_sc_comp::old_sn, ts_sc_comp::old_ts, rohc_debugf, ROHC_LSB_SHIFT_RTP_TS, ts_sc_comp::scaled_window, ts_sc_comp::sn, ts_sc_comp::state, ts_sc_comp::ts, ts_sc_comp::ts_delta, ts_sc_comp::ts_offset, ts_sc_comp::ts_scaled, and ts_sc_comp::ts_stride.
Referenced by c_rtp_create().
void ROHC_EXPORT c_destroy_sc | ( | struct ts_sc_comp *const | ts_sc | ) |
Destroy the ts_sc_comp object.
ts_sc | The ts_sc_comp object to destroy |
References c_destroy_wlsb(), and ts_sc_comp::scaled_window.
Referenced by c_rtp_destroy().
uint32_t ROHC_EXPORT get_ts_scaled | ( | const struct ts_sc_comp | ts_sc | ) |
Return the TS_SCALED value.
ts_sc | The ts_sc_comp object |
References ts_sc_comp::ts_scaled.
uint32_t ROHC_EXPORT get_ts_stride | ( | const struct ts_sc_comp | ts_sc | ) |
Return the TS_STRIDE value.
ts_sc | The ts_sc_comp object |
References ts_sc_comp::ts_stride.
Referenced by rtp_code_dynamic_rtp_part(), and rtp_header_flags_and_fields().
bool ROHC_EXPORT nb_bits_scaled | ( | const struct ts_sc_comp | ts_sc, |
size_t *const | bits_nr | ||
) |
Return the number of bits needed to encode TS_SCALED.
ts_sc | The ts_sc_comp object |
bits_nr | OUT: The number of bits needed |
References ts_sc_comp::is_deductible, ts_sc_comp::scaled_window, ts_sc_comp::ts_scaled, and wlsb_get_k_32bits().