comp_scaled_rtp_ts.c File Reference
Scaled RTP Timestamp encoding.
More...
#include "comp_scaled_rtp_ts.h"
#include "sdvl.h"
#include "rohc_traces_internal.h"
#include <stdlib.h>
#include <assert.h>
Defines |
| #define | ts_debug(entity_struct, format,...) |
Functions |
| bool | c_create_sc (struct ts_sc_comp *const ts_sc, const size_t wlsb_window_width, rohc_trace_callback2_t trace_cb, void *const trace_cb_priv) |
| | Create the ts_sc_comp object.
|
| void | c_destroy_sc (struct ts_sc_comp *const ts_sc) |
| | Destroy the ts_sc_comp object.
|
| void | 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.
|
| void | nb_bits_unscaled (const struct ts_sc_comp *const ts_sc, size_t *const bits_nr_less_equal_than_2, size_t *const bits_nr_more_than_2) |
| | Return the number of bits needed to encode unscaled TS.
|
| void | add_unscaled (const struct ts_sc_comp *const ts_sc, const uint16_t sn) |
| | Add a new unscaled TS value to the ts_sc_comp object.
|
| void | nb_bits_scaled (const struct ts_sc_comp *const ts_sc, size_t *const bits_nr_less_equal_than_2, size_t *const bits_nr_more_than_2) |
| | Return the number of bits needed to encode TS_SCALED.
|
| void | add_scaled (const struct ts_sc_comp *const ts_sc, const uint16_t sn) |
| | Add a new TS_SCALED value to the ts_sc_comp object.
|
| uint32_t | get_ts_stride (const struct ts_sc_comp *const ts_sc) |
| | Return the TS_STRIDE value.
|
| uint32_t | get_ts_scaled (const struct ts_sc_comp *const ts_sc) |
| | Return the TS_SCALED value.
|
| uint32_t | get_ts_unscaled (const struct ts_sc_comp *const ts_sc) |
| | Return the unscaled TS value.
|
| bool | rohc_ts_sc_is_deducible (const struct ts_sc_comp *const ts_sc) |
| | Whether TimeStamp (TS) is deducible from the Sequence Number (SN) or not.
|
Detailed Description
Scaled RTP Timestamp encoding.
- Author:
- David Moreau from TAS
-
Didier Barvaux <didier.barvaux@toulouse.viveris.com>
-
Didier Barvaux <didier@barvaux.org>
Define Documentation
| #define ts_debug |
( |
entity_struct, |
|
|
format, |
|
|
... |
|
) |
|
Value:Print debug messages for the ts_sc_comp module
Function Documentation
| void add_scaled |
( |
const struct ts_sc_comp *const |
ts_sc, |
|
|
const uint16_t |
sn | |
|
) |
| | |
Add a new TS_SCALED value to the ts_sc_comp object.
- Parameters:
-
| ts_sc | The ts_sc_comp object |
| sn | The Sequence Number |
| void add_unscaled |
( |
const struct ts_sc_comp *const |
ts_sc, |
|
|
const uint16_t |
sn | |
|
) |
| | |
Add a new unscaled TS value to the ts_sc_comp object.
- Parameters:
-
| ts_sc | The ts_sc_comp object |
| sn | The Sequence Number |
| void 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.
- Parameters:
-
| ts_sc | The ts_sc_comp object |
| ts | The timestamp to add |
| sn | The sequence number of the RTP packet |
Create the ts_sc_comp object.
- Parameters:
-
| 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) |
| trace_cb | The trace callback |
| trace_cb_priv | An optional private context for the trace callback, may be NULL |
- Returns:
- true if creation is successful, false otherwise
| void c_destroy_sc |
( |
struct ts_sc_comp *const |
ts_sc |
) |
|
| uint32_t get_ts_scaled |
( |
const struct ts_sc_comp *const |
ts_sc |
) |
|
Return the TS_SCALED value.
- Parameters:
-
- Returns:
- The TS_SCALED value
| uint32_t get_ts_stride |
( |
const struct ts_sc_comp *const |
ts_sc |
) |
|
Return the TS_STRIDE value.
- Parameters:
-
- Returns:
- TS_STRIDE value
| uint32_t get_ts_unscaled |
( |
const struct ts_sc_comp *const |
ts_sc |
) |
|
Return the unscaled TS value.
- Parameters:
-
- Returns:
- The unscaled TS value
| void nb_bits_scaled |
( |
const struct ts_sc_comp *const |
ts_sc, |
|
|
size_t *const |
bits_nr_less_equal_than_2, |
|
|
size_t *const |
bits_nr_more_than_2 | |
|
) |
| | |
Return the number of bits needed to encode TS_SCALED.
- Parameters:
-
| ts_sc | The ts_sc_comp object |
| [out] | bits_nr_less_equal_than_2 | The number of bits needed to encode TS_SCALED in a field that is smaller than or equal to 2 bits |
| [out] | bits_nr_more_than_2 | The number of bits needed to encode TS_SCALED in a field that is strictly larger than to 2 bits |
| void nb_bits_unscaled |
( |
const struct ts_sc_comp *const |
ts_sc, |
|
|
size_t *const |
bits_nr_less_equal_than_2, |
|
|
size_t *const |
bits_nr_more_than_2 | |
|
) |
| | |
Return the number of bits needed to encode unscaled TS.
- Parameters:
-
| ts_sc | The ts_sc_comp object |
| [out] | bits_nr_less_equal_than_2 | The number of bits needed to encode TS_SCALED in a field that is smaller than or equal to 2 bits |
| [out] | bits_nr_more_than_2 | The number of bits needed to encode TS_SCALED in a field that is strictly larger than to 2 bits |
| bool rohc_ts_sc_is_deducible |
( |
const struct ts_sc_comp *const |
ts_sc |
) |
|
Whether TimeStamp (TS) is deducible from the Sequence Number (SN) or not.
- Parameters:
-
| ts_sc | The TS SCALED compression context |
- Returns:
- true if TS is deducible from SN, false otherwise