Bastien Bouclet
ae9eeb731f
COMMON: Rework the BitStream class to improve its performance
...
* Fixed peekBits not to seek the underlying stream. Seeking can be slow
when the stream is a file.
* Changed multi-bit operations to work on multiple bits at once rather
than iterating over single-bit operations.
This is an almost direct port of a patch for xoreos provided by DrMcCoy.
2019-04-13 16:24:25 +03:00
Willem Jan Palenstijn
4278cff7f0
COMMON: Optimize BitStream::getBits
2017-08-24 19:46:59 +02:00
Willem Jan Palenstijn
0c8f95603f
COMMON: Add BitStream classes for memory buffers
2017-08-24 19:46:59 +02:00
Willem Jan Palenstijn
e7428bca2e
COMMON: Keep track of bitstream position
2017-08-24 19:46:59 +02:00
Willem Jan Palenstijn
ac95030ef6
COMMON: Cache BitStream size
2017-08-24 19:46:59 +02:00
Willem Jan Palenstijn
dde259f068
COMMON: Remove BitStream base class to allow inlining calls
...
All users of BitStream were in fact using a specific, hardcoded variant,
so we can hardcode that variant, removing the need for virtual calls,
and enabling inlining.
2017-08-24 19:46:59 +02:00
Paul Gilbert
bd010bc79f
COMMON: Converted Common::BitStream to use DisposeAfterUse
2016-09-10 11:16:07 -04:00
Eugene Sandulenko
c41ebe6f45
COMMON: Added align() method for BitStream
2014-06-09 22:33:45 +03:00
Johannes Schickel
854e22b38b
COMMON: Make GPL headers consistent in themselves.
2014-02-18 02:39:33 +01:00
Sven Hesse
42b39cb7ec
COMMON: Extend some method comments in Common::BitStream
...
Adding examples to getBits() and addBit().
2011-10-21 00:19:02 +02:00
Sven Hesse
657ee2da59
COMMON: Fix potential UB while shifting Common::BitStream
...
Shifting a 32-bit value by more than 31 is undefined.
2011-10-21 00:19:02 +02:00
Sven Hesse
f1724f1637
COMMON: Rewrite BitStream as a template
...
This rewrites BitStream as a template, allowing for more different
memory layouts of the actual bit data.
2011-08-27 23:37:07 +02:00
Sven Hesse
45f1f1275c
COMMON: Document the BitStream a bit more
2011-07-19 01:48:45 +02:00
Matthew Hoops
e6171fbb74
COMMON: Update class documentation to say they're now used by SCUMM
2011-07-18 10:21:20 -04:00
Matthew Hoops
c4d3a86010
COMMON: Remove USE_BINK checks from header files
2011-07-18 10:13:50 -04:00
Matthew Hoops
a50abde1b1
BUILD: Allow for disabling Bink support
2011-07-13 12:08:26 -04:00
Matthew Hoops
6ff94e2554
COMMON: Add a BitStream class
...
Based on eos' BitStream
2011-07-02 15:08:02 -04:00