ROHC compression/decompression library
|
Scaled RTP Timestamp decoding. More...
Data Structures | |
struct | ts_sc_decomp |
The scaled RTP Timestamp decoding context. More... | |
Defines | |
#define | ts_debug(entity_struct, format,...) |
Functions | |
struct ts_sc_decomp * | d_create_sc (rohc_trace_callback_t callback) |
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.
#define ts_debug | ( | entity_struct, | |
format, | |||
... | |||
) |
rohc_debug(entity_struct, ROHC_TRACE_DECOMP, ROHC_PROFILE_GENERAL, \ format, ##__VA_ARGS__)
Print debug messages for the ts_sc_decomp module
Referenced by d_record_ts_stride(), ts_decode_scaled(), ts_decode_unscaled(), ts_deduce_from_sn(), and ts_update_context().
struct ts_sc_decomp* d_create_sc | ( | rohc_trace_callback_t | callback | ) | [read] |
Create the scaled RTP Timestamp decoding context.
callback | The trace callback |
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::trace_callback, 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, ts_debug, 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_error, rohc_lsb_decode(), rohc_lsb_get_ref(), ROHC_PROFILE_GENERAL, ROHC_TRACE_DECOMP, ts_debug, 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, ts_debug, 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, ts_sc_decomp::sn, ts_debug, 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_lsb_set_ref(), sn, ts_sc_decomp::sn, ts_sc_decomp::ts, ts_debug, ts_sc_decomp::ts_offset, ts_sc_decomp::ts_scaled, and ts_sc_decomp::ts_stride.