|
|
@ -564,7 +564,12 @@ static void FREE_ROWS(RGBAP **A, const int H)
|
|
|
|
|
|
|
|
|
|
|
|
void GetBits( uchar bit_array[16] )
|
|
|
|
void GetBits( uchar bit_array[16] )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
uint b = (uint &) bits[0];
|
|
|
|
// uint b = (uint &) bits[0];
|
|
|
|
|
|
|
|
/* avoid a warning
|
|
|
|
|
|
|
|
* "dereferencing type-punned pointer will break strict-aliasing rules"
|
|
|
|
|
|
|
|
* TODO: check endianness issues (but that was probably broken anyway) */
|
|
|
|
|
|
|
|
uint b;
|
|
|
|
|
|
|
|
memcpy(&b, &bits[0], sizeof(b));
|
|
|
|
bit_array[0] = uchar(b & 0x07); b >>= 3;
|
|
|
|
bit_array[0] = uchar(b & 0x07); b >>= 3;
|
|
|
|
bit_array[1] = uchar(b & 0x07); b >>= 3;
|
|
|
|
bit_array[1] = uchar(b & 0x07); b >>= 3;
|
|
|
|
bit_array[2] = uchar(b & 0x07); b >>= 3;
|
|
|
|
bit_array[2] = uchar(b & 0x07); b >>= 3;
|
|
|
@ -574,7 +579,8 @@ static void FREE_ROWS(RGBAP **A, const int H)
|
|
|
|
bit_array[6] = uchar(b & 0x07); b >>= 3;
|
|
|
|
bit_array[6] = uchar(b & 0x07); b >>= 3;
|
|
|
|
bit_array[7] = uchar(b & 0x07); b >>= 3;
|
|
|
|
bit_array[7] = uchar(b & 0x07); b >>= 3;
|
|
|
|
|
|
|
|
|
|
|
|
b = (uint &) bits[3];
|
|
|
|
// b = (uint &) bits[3];
|
|
|
|
|
|
|
|
memcpy(&b, &bits[3], sizeof(b));
|
|
|
|
bit_array[8] = uchar(b & 0x07); b >>= 3;
|
|
|
|
bit_array[8] = uchar(b & 0x07); b >>= 3;
|
|
|
|
bit_array[9] = uchar(b & 0x07); b >>= 3;
|
|
|
|
bit_array[9] = uchar(b & 0x07); b >>= 3;
|
|
|
|
bit_array[10] = uchar(b & 0x07); b >>= 3;
|
|
|
|
bit_array[10] = uchar(b & 0x07); b >>= 3;
|
|
|
|