bsp 5835 src/ftdm_io.c FT_DECLARE(void) ftdm_bitstream_init(ftdm_bitstream_t *bsp, uint8_t *data, uint32_t datalen, ftdm_endian_t endian, uint8_t ss) bsp 5837 src/ftdm_io.c memset(bsp, 0, sizeof(*bsp)); bsp 5838 src/ftdm_io.c bsp->data = data; bsp 5839 src/ftdm_io.c bsp->datalen = datalen; bsp 5840 src/ftdm_io.c bsp->endian = endian; bsp 5841 src/ftdm_io.c bsp->ss = ss; bsp 5844 src/ftdm_io.c bsp->top = bsp->bit_index = 7; bsp 5845 src/ftdm_io.c bsp->bot = 0; bsp 5847 src/ftdm_io.c bsp->top = bsp->bit_index = 0; bsp 5848 src/ftdm_io.c bsp->bot = 7; bsp 5853 src/ftdm_io.c FT_DECLARE(int8_t) ftdm_bitstream_get_bit(ftdm_bitstream_t *bsp) bsp 5858 src/ftdm_io.c if (bsp->byte_index >= bsp->datalen) { bsp 5862 src/ftdm_io.c if (bsp->ss) { bsp 5863 src/ftdm_io.c if (!bsp->ssv) { bsp 5864 src/ftdm_io.c bsp->ssv = 1; bsp 5866 src/ftdm_io.c } else if (bsp->ssv == 2) { bsp 5867 src/ftdm_io.c bsp->byte_index++; bsp 5868 src/ftdm_io.c bsp->ssv = 0; bsp 5876 src/ftdm_io.c bit = (bsp->data[bsp->byte_index] >> (bsp->bit_index)) & 1; bsp 5878 src/ftdm_io.c if (bsp->bit_index == bsp->bot) { bsp 5879 src/ftdm_io.c bsp->bit_index = bsp->top; bsp 5880 src/ftdm_io.c if (bsp->ss) { bsp 5881 src/ftdm_io.c bsp->ssv = 2; bsp 5885 src/ftdm_io.c if (++bsp->byte_index > bsp->datalen) { bsp 5891 src/ftdm_io.c bsp->bit_index = bsp->bit_index + bsp->endian; bsp 546 src/include/private/ftdm_core.h FT_DECLARE(int8_t) ftdm_bitstream_get_bit(ftdm_bitstream_t *bsp); bsp 547 src/include/private/ftdm_core.h FT_DECLARE(void) ftdm_bitstream_init(ftdm_bitstream_t *bsp, uint8_t *data, uint32_t datalen, ftdm_endian_t endian, uint8_t ss);