Commit Graph

52143 Commits

Author SHA1 Message Date
D G Turner
1809b9173c COMMON: Minor reduction of sine/cosine table size (8 bytes...). 2012-04-13 10:16:48 +01:00
D G Turner
11143d4839 COMMON: Fixes for compiling without USE_BINK enabled.
The math utility classes in Common are now used by more than just Bink
Video i.e. Huffman is used by SVQ1, RDFT by QDM2 etc. so need to remove
conditional inclusion of objects in the Common Library.

This was done as these functions are very large wrt. binary size.
This is mainly due to the sine, cosine and log tables which should be
reconsidered as to whether these are needed or can be replaced by
standard sin()/cos() calls.
2012-04-13 09:17:17 +01:00
D G Turner
8a5b08341e AUDIO: Remove now unused Sin/Cos table and FFT code from QDM2 Codec.
This was only used by the RDFT code, now replaced by Common::RDFT.
2012-04-13 07:37:31 +01:00
D G Turner
7f930dfae3 AUDIO: Migrate QDM2 Codec to using Common::RDFT class. 2012-04-13 07:37:30 +01:00
D G Turner
ce1f805212 AUDIO: Fixes to restore QDM2 Codec function.
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-13 07:37:29 +01:00
D G Turner
50a9c6429d AUDIO: Update to QDM2 codec fixing pointer to stream buffer usage.
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-13 07:37:28 +01:00
D G Turner
b5f5cbe5fa AUDIO: Removed qdm2_decode_sub_packet_header() function from QDM2.
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-13 07:37:27 +01:00
D G Turner
845812f12e AUDIO: Fix skipping in QDM2 BitStream usage.
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-13 07:37:26 +01:00
D G Turner
220f60fd60 AUDIO: Clean up QDM2 getVlc2() function. 2012-04-13 07:37:25 +01:00
D G Turner
fa44707028 AUDIO: Initial Refactoring of QDM2 to use Common::BitStream.
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-04-13 07:37:24 +01:00
Sven Hesse
7eef26268c VIDEO: Fix SMK 16bit audio on BE systems 2012-04-13 04:29:26 +02:00
Matthew Hoops
3e47203d64 AUDIO: Force QuickTime stereo samples to mono if needed
The number of channels in AAC can differ from the actual number of channels needed making us require this. The channel count inside the container is always the correct one.
2012-04-10 16:44:41 -04:00
Matthew Hoops
db52618833 GRAPHICS: Add comments on which engines use the decoders 2012-04-08 08:58:42 -04:00
Matthew Hoops
744528cb18 VIDEO: Clean up the SVQ1 code 2012-04-08 03:29:56 +01:00
Matthew Hoops
8e107f8c78 MOHAWK: Enable the SVQ1 intro for Myst ME Mac 2012-04-08 03:29:53 +01:00
D G Turner
7b6c4bb8e1 VIDEO: Minor update to SVQ1 decoder, reversing sense of return flags.
This changes the decoder function return flag meaning from "result
error" to "resultValid". This makes it more consistent with normal
C standard of returning 0 on success.
2012-04-08 03:29:50 +01:00
Matthew Hoops
8bf8a08048 VIDEO: Fix SVQ1 plane pitch
All the Myst intro videos now decode correctly
2012-04-08 03:29:48 +01:00
D G Turner
95d7c012d6 VIDEO: Minor updates to SVQ1 decoder, mainly return flags to bool.
Since the returned int values from the decoding functions are just
0 for good or -1 for error, have changed these into an errorFlag
bool. This improves readability and cleans up some of the error
checking code. In addition, have fixed some oversights in formatting
spacing for readability.
2012-04-08 03:29:45 +01:00
D G Turner
c917db0754 VIDEO: Change SVQ1 decoder to skip rather than decode embedded string.
This string field is not used and this avoids having to include a
xor table.
2012-04-08 03:29:42 +01:00
Matthew Hoops
b0646529d1 VIDEO: Fix segfaults on different sized SVQ1 frames 2012-04-08 03:29:40 +01:00
Matthew Hoops
7e05107256 VIDEO: Fix endian issue with SVQ1 2012-04-08 03:29:37 +01:00
D G Turner
2043403207 VIDEO: Add Missing Half-Pel Motion Compensation Code to SVQ1 Codec.
Graphics output is now _almost_ correct.
2012-04-08 03:29:35 +01:00
Matthew Hoops
1ca81ee6ec VIDEO: Rework SVQ1 codebooks so they're endian-safe 2012-04-08 03:29:32 +01:00
D G Turner
7109e26d04 VIDEO: Workaround for out of buffer accesses in SVQ1 codec.
This is a temporary workaround during development.
Keyframe (I) decoding is now working correctly, but Deltaframe (P) is
still giving corrupted output...
2012-04-08 03:29:29 +01:00
D G Turner
d15ff5a03e VIDEO: Correct delete type in SVQ1 decoder. 2012-04-08 03:29:27 +01:00
D G Turner
97746e2281 VIDEO: Correct SVQ1 Header Decoding and Last Frame Buffering.
Header was incorrectly documnented in reference documents.
Corrected with reference to FFMPEG.
Also, added missing buffering of last frame for P frame decoding.
2012-04-08 03:29:24 +01:00
Matthew Hoops
c9bbe5793c VIDEO: Rewrite the SVQ1 VLC code to use Common::Huffman 2012-04-08 03:29:22 +01:00
D G Turner
32ff1f8478 VIDEO: SVQ1 - Add table_size default setting for VLC Table setup. 2012-04-08 03:29:19 +01:00
D G Turner
a3fb8867d0 VIDEO: Fix remaining missing code (getVlc2()) in SVQ1 Codec. 2012-04-08 03:29:17 +01:00
D G Turner
b99565d701 VIDEO: Add remaining SVQ1 code derived from FFMPEG.
This still requires some work to make it usuable, mainly changing the
Variable Length Code reader to work with Common::BitStream input.
2012-04-08 03:29:14 +01:00
D G Turner
9330a7c54d VIDEO: Corrected minor mistake in SVQ1 decoder. 2012-04-08 03:29:11 +01:00
D G Turner
69e76182cb VIDEO: Update SVQ1 WIP with minor corrections.
This mainly fixes the Bitstream to Big Endian, MSB to LSB.
2012-04-08 03:29:09 +01:00
D G Turner
da35b9f5f6 VIDEO: Migrate SVQ1 codec WIP to Common::BitStream. 2012-04-08 03:29:06 +01:00
D G Turner
e16270605a VIDEO: Hookup SVQ1 codec to build system and QT Decoder. 2012-04-08 03:29:04 +01:00
D G Turner
c9c16cd1ee VIDEO: Add initial framework and data tables for Sorenson SVQ1 decoder.
This is based on the SVQ1 decoder from FFMPEG.
2012-04-08 03:29:01 +01:00
D G Turner
e1f9598392 GRAPHICS: Add YUV410 to RGB Conversion Functions, required for SVQ1.
Thanks to clone2727 for these.
2012-04-08 03:28:58 +01:00
Joel Teichroeb
93632681c0 SCUMM: Fix spelling of length 2012-04-04 21:23:14 -07:00
Joel Teichroeb
1d0904197f PARALLACTION: Fix spelling of length 2012-04-04 21:23:00 -07:00
Joel Teichroeb
f83f5c5677 COMMON: Fix spelling of length 2012-04-04 21:22:31 -07:00
Johannes Schickel
8c57c71e3a KYRA: Silence const away cast warning by using non-const versions of strpbrk and strchr. 2012-04-05 00:40:30 +02:00
Johannes Schickel
f7d2cd7331 GROOVIE: Do not cast away const qualifier. 2012-04-05 00:40:30 +02:00
Johannes Schickel
0e17497110 SWORD25: Do not cast away const qualifier. 2012-04-05 00:40:30 +02:00
Johannes Schickel
56e8268073 SCI: Do not cast away const qualifier. 2012-04-05 00:40:25 +02:00
Johannes Schickel
d8aecf006a Merge pull request #221 from klusark/const
Fix casting away const
2012-04-04 15:27:42 -07:00
Willem Jan Palenstijn
a6ba9f150a SCUMM/ARM: Fix crashes in ARM asm costume renderer
It was possible to bypass the initialization of r11, and
mask was being read before the corresponding bounds check.

Thanks to fuzzie for analysis and LordHoto for testing.

This fixes bug #3500023 and a crash in the DOTT ending.
2012-04-04 08:54:58 +02:00
Filippos Karapetis
793dcda650 SCI: Bugfix for the GetAngle workarounds
Return a fake value instead of leaving random values in the accumulator
2012-04-04 07:41:44 +03:00
Joel Teichroeb
ab16233318 GRAPHICS: Fix casting away const 2012-04-03 16:54:05 -07:00
Joel Teichroeb
8dfa33ff1f SCUMM: Fix casting away const 2012-04-03 16:53:54 -07:00
Travis Howell
d50e34c1bd AGOS: Expand fix for bug #3512776 - SIMON1DOS French: Subtitle glitch in introduction. 2012-04-02 23:08:31 +10:00
Johannes Schickel
b886bc0a41 IPHONE: Use InternalEvent directly. 2012-04-02 00:03:28 +02:00