FreeCalypso > hg > gsm-codec-lib
diff miscutil/bitmanip.c @ 101:d86f866489e9
gsm-amr2efr utility written
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 27 Nov 2022 05:15:39 +0000 |
parents | frtest/tidsp.c@7960744ba19c |
children | 41f1ae68d253 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/miscutil/bitmanip.c Sun Nov 27 05:15:39 2022 +0000 @@ -0,0 +1,24 @@ +/* + * This module provides two utility functions that serve as building blocks + * for frame bit reordering operations. + */ + +#include <stdint.h> + +msb_get_bit(buf, bn) + uint8_t *buf; +{ + int pos_byte = bn >> 3; + int pos_bit = 7 - (bn & 7); + + return (buf[pos_byte] >> pos_bit) & 1; +} + +msb_set_bit(buf, bn, bit) + uint8_t *buf; +{ + int pos_byte = bn >> 3; + int pos_bit = 7 - (bn & 7); + + buf[pos_byte] |= (bit << pos_bit); +}