6 #include <exec/types.h>
12 // MSb style BitPack functions:
14 extern const ULONG bp_mask
[33];
16 ULONG
bitpack_read1_msb (BitPack_buffer
*b
) {
18 if (b
->ptr
[0]&(0x80 >> b
->endbit
))
29 ULONG
bitpack_read_msb (BitPack_buffer
*b
, LONG bits
) {
34 ret
=b
->ptr
[0]<<(24+b
->endbit
);
36 ret
|=b
->ptr
[1]<<(16+b
->endbit
);
38 ret
|=b
->ptr
[2]<<(8+b
->endbit
);
40 ret
|=b
->ptr
[3]<<(b
->endbit
);
42 ret
|=b
->ptr
[4]>>(8-b
->endbit
);
51 b
->endbyte
+=(bits
>> 3);
59 void bitpack_write1_msb (BitPack_buffer
*b
, ULONG val
) {
61 b
->ptr
[0]|=(0x80 >> b
->endbit
);
63 b
->ptr
[0]&=~(0x80 >> b
->endbit
);
73 void bitpack_write_msb (BitPack_buffer
*b
, ULONG val
, LONG bits
) {
78 b
->ptr
[0]|=val
>>(24+b
->endbit
);
80 b
->ptr
[1]=val
>>(16+b
->endbit
);
82 b
->ptr
[2]=val
>>(8+b
->endbit
);
85 b
->ptr
[4]=val
>>(b
->endbit
);
92 b
->endbyte
+=(bits
>>3);
101 void bitpack_iobits_msb (ExtBitPack_buffer
*b
, LONG bits
) {
104 ULONG
bitpack_fastread_msb (ExtBitPack_buffer
*b
) {
109 void bitpack_fastwrite_msb (ExtBitPack_buffer
*b
, ULONG val
) {