satdump/src-core/common/repack_bits_byte.cpp

20 lines
398 B
C++
Raw Permalink Normal View History

2021-02-17 11:44:36 +01:00
#include "repack_bits_byte.h"
2021-03-21 18:06:39 +01:00
int RepackBitsByte::work(uint8_t *in, int length, uint8_t *out)
2021-02-17 11:44:36 +01:00
{
int oo = 0;
for (int ii = 0; ii < length; ii++)
{
byteToWrite = (byteToWrite << 1) | (((int8_t *)in)[ii] & 1);
inByteToWrite++;
if (inByteToWrite == 8)
{
out[oo++] = byteToWrite;
inByteToWrite = 0;
}
}
return oo;
}