blob: 6b382ed938684446efaa10938ca45323f70c6215 [file] [log] [blame]
Harald Welted83c5132016-10-26 09:38:24 +02001#include <stdint.h>
2#include "flip_bits.h"
3
4static uint8_t flip_table[256];
5
6void init_flip_bits(void)
7{
8 int i,k;
9
10 for (i = 0 ; i < 256 ; i++) {
11 uint8_t sample = 0 ;
12 for (k = 0; k<8; k++) {
13 if ( i & 1 << k ) sample |= 0x80 >> k;
14 }
15 flip_table[i] = sample;
16 }
17}
18
Harald Welte130eeb32020-06-09 09:02:11 +020019uint8_t *flip_buf_bits(uint8_t *out, const uint8_t *in, int len)
Harald Welted83c5132016-10-26 09:38:24 +020020{
21 int i;
Harald Welted83c5132016-10-26 09:38:24 +020022
23 for (i = 0 ; i < len; i++) {
Harald Welte130eeb32020-06-09 09:02:11 +020024 out[i] = flip_table[(uint8_t)in[i]];
Harald Welted83c5132016-10-26 09:38:24 +020025 }
26
Harald Welte130eeb32020-06-09 09:02:11 +020027 return out;
Harald Welted83c5132016-10-26 09:38:24 +020028}