29 #include <boost/cstdint.hpp>
41 typedef unsigned char byte;
66 usedBits(from.usedBits)
89 unsigned read_uint(
unsigned short bitcount);
100 boost::int32_t read_sint(
unsigned short bitcount);
112 return static_cast<boost::int8_t
>(read_u8());
120 boost::uint16_t result = *ptr++;
121 result |= *ptr++ << 8;
128 return static_cast<boost::int16_t
>(read_u16());
136 boost::uint32_t result = *ptr++;
137 result |= *ptr++ << 8;
138 result |= *ptr++ << 16;
139 result |= *ptr++ << 24;
146 return static_cast<boost::int32_t
>(read_u32());
154 if ( usedBits ) advanceToNextByte();
160 boost::uint32_t gotbits = 8-usedBits +8*(
end-ptr-1);
161 if (gotbits > nbits)
return true;
167 void advanceToNextByte()
171 log_debug(
_(
"Going round"));
195 #endif // BITSREADER_H
boost::int8_t read_s8()
Read one bytes as a signed int (aligned)
Definition: BitsReader.h:110
boost::uint16_t read_u16()
Read two bytes as an unsigned int (aligned)
Definition: BitsReader.h:116
Definition: klash_part.cpp:330
boost::int32_t read_s32()
Read four bytes as an signed int (aligned)
Definition: BitsReader.h:144
boost::uint8_t read_u8()
Read a byte as an unsigned int (aligned)
Definition: BitsReader.h:103
void align()
Discard any unused bit in the current byte and advance to next.
Definition: BitsReader.h:152
BitsReader(const BitsReader &from, size_t len)
Create a BitsReader reading a subset of another.
Definition: BitsReader.h:61
void setBuffer(byte *input, size_t len)
Set a new buffer to work with.
Definition: BitsReader.h:78
bool gotBits(boost::uint32_t nbits) const
Checks if the stream contains X bits.
Definition: BitsReader.h:158
#define _(String)
Definition: log.h:44
BitsReader(const byte *input, size_t len)
Ownership of buffer left to caller.
Definition: BitsReader.h:44
boost::int16_t read_s16()
Read two bytes as a signed int (aligned)
Definition: BitsReader.h:126
#define DSOEXPORT
Definition: dsodefs.h:55
boost::uint32_t read_u32()
Read four bytes as an unsigned int (aligned)
Definition: BitsReader.h:132
~BitsReader()
Definition: BitsReader.h:70
BitsReader is used to encapsulate bit-packed buffer reads.
Definition: BitsReader.h:38
unsigned char byte
Definition: BitsReader.h:41
size_t size() const
Definition: BitsReader.h:72
pixel_iterator< T > end(GnashImage &im)
Definition: ImageIterators.h:198