aboutsummaryrefslogtreecommitdiff
path: root/audio/decoders/qdm2.cpp
AgeCommit message (Collapse)Author
2017-11-08AUDIO: Switch to BitStreamMemoryStream in the QDM2 decoderBastien Bouclet
2017-11-08AUDIO: Add some padding to the QDM2 decoder input bufferBastien Bouclet
Fixes out of bounds reads in the Myst ME intro videos. OOB reads may happen because: - The bitstream implementation reads 4 bytes at a time, and the buffer size is not guaranteed to be a multiple of 4. - The huffman parsing code reads a fixed amount of bits when it sometimes needs not all of them. Also fixed bits vs bytes mismatch for the size parameter of the calls to the bitstream constructor, and removed a few unnecessary heap allocations. Fixes #10220.
2017-09-30AUDIO: QDM2: Use the shared int64 type instead of a custom oneBastien Bouclet
2017-08-24COMMON: Remove BitStream base class to allow inlining callsWillem Jan Palenstijn
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.
2016-07-31AUDIO: Fix buildWillem Jan Palenstijn
2016-07-31AUDIO: Fix indentationEugene Sandulenko
2014-07-27AUDIO: Finish off AAC/QDM2 queues when done decoding a packetMatthew Hoops
2014-02-18AUDIO: Make GPL headers consistent in themselves.Johannes Schickel
2013-04-16AUDIO: Fix invalid free callMatthew Hoops
2012-08-09AUDIO: Fix "if" formatting in QDM2 code.Johannes Schickel
2012-04-13AUDIO: Remove now unused Sin/Cos table and FFT code from QDM2 Codec.D G Turner
This was only used by the RDFT code, now replaced by Common::RDFT.
2012-04-13AUDIO: Migrate QDM2 Codec to using Common::RDFT class.D G Turner
2012-04-13AUDIO: Fixes to restore QDM2 Codec function.D G Turner
The Bitstream format is changed to 32LELSB and an error in the getVlc2() function bitstream reading needed to be corrected to fix operation.
2012-04-13AUDIO: Update to QDM2 codec fixing pointer to stream buffer usage.D G Turner
This should allow the QDM2 codec to work again with Common::Bitstream instead of the older getBits() reader, but this aborts with a reading past end of stream error...
2012-04-13AUDIO: Removed qdm2_decode_sub_packet_header() function from QDM2.D G Turner
This is to allow modification of the code which needs to assign the data member of the sub_packet structure to an offset in the input byte readStream.
2012-04-13AUDIO: Fix skipping in QDM2 BitStream usage.D G Turner
getBits(n) would cause a runtime error if n is greater than 32, but using getBits() to skip is no longer necessary as the newer BitStream class has a skip method, which is used instead.
2012-04-13AUDIO: Clean up QDM2 getVlc2() function.D G Turner
2012-04-13AUDIO: Initial Refactoring of QDM2 to use Common::BitStream.D G Turner
This removes the internal getBitContext bitwise reading code and replaces with Common::BitStream. However, this breaks the codec as in one location, the internal buffer of getBitContext reader is used and this can't be directly replaced. This will need to be understood and rewritten.
2012-03-30AUDIO: Fix QDM2 extra data parsingMatthew Hoops
2012-02-15JANITORIAL: Fix missing whitespace in pointer castTarek Soliman
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g' This seems to have caught some params as well which is not undesirable IMO. It also caught some strings containing this which is undesirable so I excluded them manually. (engines/sci/engine/kernel_tables.h)
2011-11-04QDM2: Removed superfluous parenthesesFilippos Karapetis
2011-07-19COMMON: Renamed Integer Log2 function from log2 to intLog2.D G Turner
This avoids naming collisions with system libraries on some platforms i.e. DS, DC where the log2 is realised by macro.
2011-07-19CODECS: Replaced Integer log2 in QDM2 with Common::Math implementation.D G Turner
2011-07-10AUDIO: Fix QDM2 sound in QuickTime filesMatthew Hoops
2011-05-31Merge remote branch 'upstream/master' into t7g-iosMatthew Hoops
Conflicts: engines/groovie/script.cpp
2011-05-11Merge remote branch 'upstream/master' into t7g-iosMatthew Hoops
Conflicts: audio/decoders/qdm2.h common/util.cpp engines/groovie/music.cpp engines/groovie/resource.h video/qt_decoder.cpp video/qt_decoder.h
2011-04-13Merge remote branch 'upstream/master' into t7g-iosMatthew Hoops
Conflicts: video/qt_decoder.cpp
2011-04-07AUDIO: Split QuickTime audio into a new classMatthew Hoops
Standalone QuickTime files can now be played as an AudioStream