FreeCalypso > hg > gsm-codec-lib
view amrconv/bitmanip.c @ 423:cf90077b753c
twamr-tseq-enc: treat dribble input as non-fatal
3GPP VAD2 test sequences dt22.inp and dt23.inp have incomplete frames
at the end, hence we need to ignore that dribble in a non-fatal manner
in order to pass all tests.
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 07 May 2024 07:20:29 +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); }
