ROHC compression/decompression library
|
Scaled RTP Timestamp decoding. More...
Data Structures | |
struct | ts_sc_decomp |
The scaled RTP Timestamp decoding context. More... | |
Functions | |
struct ts_sc_decomp * | d_create_sc (void) |
Create the scaled RTP Timestamp decoding context. | |
void | rohc_ts_scaled_free (struct ts_sc_decomp *const ts_sc) |
Destroy the given ts_sc_decomp object. | |
void | ts_update_context (struct ts_sc_decomp *const ts_sc, const uint32_t ts, const uint16_t sn) |
Store a new timestamp. | |
void | d_record_ts_stride (struct ts_sc_decomp *const ts_sc, const uint32_t ts_stride) |
Store the newly-parsed TS_STRIDE value. | |
bool | ts_decode_scaled (struct ts_sc_decomp *const ts_sc, const uint32_t ts_scaled, const size_t bits_nr, uint32_t *const decoded_ts) |
Decode timestamp (TS) value with TS_SCALED value. | |
uint32_t | ts_decode_unscaled (struct ts_sc_decomp *const ts_sc, const uint32_t ts_bits) |
Decode timestamp (TS) value with unscaled value. | |
uint32_t | ts_deduce_from_sn (struct ts_sc_decomp *const ts_sc, const uint16_t sn) |
Deduct timestamp (TS) from Sequence Number (SN) |
Scaled RTP Timestamp decoding.
struct ts_sc_decomp* d_create_sc | ( | void | ) | [read] |
Create the scaled RTP Timestamp decoding context.
References ts_sc_decomp::lsb_ts_scaled, ts_sc_decomp::new_ts_offset, ts_sc_decomp::new_ts_scaled, ts_sc_decomp::new_ts_stride, ts_sc_decomp::old_sn, ts_sc_decomp::old_ts, rohc_lsb_new(), ROHC_LSB_SHIFT_RTP_TS, ts_sc_decomp::sn, ts_sc_decomp::ts, ts_sc_decomp::ts_offset, ts_sc_decomp::ts_scaled, and ts_sc_decomp::ts_stride.
Referenced by d_rtp_create().
void d_record_ts_stride | ( | struct ts_sc_decomp *const | ts_sc, |
const uint32_t | ts_stride | ||
) |
Store the newly-parsed TS_STRIDE value.
ts_sc | The ts_sc_decomp object |
ts_stride | The TS_STRIDE value to add |
References ts_sc_decomp::new_ts_stride, rohc_debugf, and ts_sc_decomp::ts_stride.
void rohc_ts_scaled_free | ( | struct ts_sc_decomp *const | ts_sc | ) |
Destroy the given ts_sc_decomp object.
ts_sc | The ts_sc_decomp object to destroy |
References ts_sc_decomp::lsb_ts_scaled, and rohc_lsb_free().
bool ts_decode_scaled | ( | struct ts_sc_decomp *const | ts_sc, |
const uint32_t | ts_scaled, | ||
const size_t | bits_nr, | ||
uint32_t *const | decoded_ts | ||
) |
Decode timestamp (TS) value with TS_SCALED value.
Use the given TS and TS_SCALED bits. Use the TS_STRIDE and TS_OFFSET values found in context.
ts_sc | The ts_sc_decomp object |
ts_scaled | The W-LSB-encoded TS_SCALED value |
bits_nr | The number of bits of TS_SCALED (W-LSB) |
decoded_ts | OUT: The decoded TS |
References ts_sc_decomp::lsb_ts_scaled, ts_sc_decomp::new_ts_offset, ts_sc_decomp::new_ts_scaled, ts_sc_decomp::new_ts_stride, rohc_debugf, rohc_lsb_decode32(), rohc_lsb_get_ref(), ts_sc_decomp::ts_offset, and ts_sc_decomp::ts_stride.
uint32_t ts_decode_unscaled | ( | struct ts_sc_decomp *const | ts_sc, |
const uint32_t | ts_bits | ||
) |
Decode timestamp (TS) value with unscaled value.
Use the given unscaled TS bits. If the TS_STRIDE value was updated by the current packet, compute new TS_SCALED and TS_OFFSET values from the new TS_STRIDE value.
ts_sc | The ts_sc_decomp object |
ts_bits | The unscaled TS bits |
References ts_sc_decomp::new_ts_offset, ts_sc_decomp::new_ts_scaled, ts_sc_decomp::new_ts_stride, rohc_debugf, and ts_sc_decomp::ts_stride.
uint32_t ts_deduce_from_sn | ( | struct ts_sc_decomp *const | ts_sc, |
const uint16_t | sn | ||
) |
Deduct timestamp (TS) from Sequence Number (SN)
Use the given SN bits to compute the new TS_SCALED value. Use the TS_STRIDE and TS_OFFSET values found in context.
ts_sc | The ts_sc_decomp object |
sn | The SN |
References ts_sc_decomp::new_ts_offset, ts_sc_decomp::new_ts_scaled, ts_sc_decomp::new_ts_stride, rohc_debugf, ts_sc_decomp::sn, ts_sc_decomp::ts_offset, ts_sc_decomp::ts_scaled, and ts_sc_decomp::ts_stride.
void ts_update_context | ( | struct ts_sc_decomp *const | ts_sc, |
const uint32_t | ts, | ||
const uint16_t | sn | ||
) |
Store a new timestamp.
ts_sc | The ts_sc_decomp object |
ts | The new decoded TimeStamp (TS) |
sn | The new decoded Sequence Number (SN) |
References ts_sc_decomp::lsb_ts_scaled, ts_sc_decomp::new_ts_offset, ts_sc_decomp::new_ts_scaled, ts_sc_decomp::new_ts_stride, ts_sc_decomp::old_sn, ts_sc_decomp::old_ts, rohc_debugf, rohc_lsb_set_ref(), sn, ts_sc_decomp::sn, ts_sc_decomp::ts, ts_sc_decomp::ts_offset, ts_sc_decomp::ts_scaled, and ts_sc_decomp::ts_stride.