FreeCalypso > hg > gsm-codec-lib
view amrconv/bitmanip.c @ 561:cf62fe9fac3a
gsmhr-cod2hex: read native endian by default
Let's change gsmhr-* utilities to read *.cod and *.dec files
in the local machine's native byte order by default, and support
both -b and -l override options. This approach is the only sane
one when we write *.cod and *.dec files in the local endian.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 12 Feb 2025 00:04:33 +0000 |
parents | b092a510141e |
children |
line wrap: on
line source
/* * 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); if (bit) buf[pos_byte] |= (1 << pos_bit); else buf[pos_byte] &= ~(1 << pos_bit); }