Commit Graph
102 Commits
Author SHA1 Message Date
Bastien Bouclet 0d5d04ca3a IMAGE: Allow setting the output pixel format to the JPEG decoder 2019-04-28 07:59:14 +02:00
Bastien Bouclet 0f57aea2df COMMON: Use a prefix table to speed up the Huffman decoder
Symbols for codes shorter than the prefix table index width are stored
in the table. All the entries in the table with an index starting with
the code are set to the symbol value. That way, when decoding it is
possible to get the number of bits corresponding to the table width from
the bitstream and directly find the symbol value. Longer code still need
to be searched for in the codes list.
2019-04-13 16:24:25 +03:00
Torbjörn Andersson d4f8b330d6 IMAGE: Honor nb_fields when calculating frame duration
From what I understand, this has something to do with the image
being either made up from two or three parts. When it's made from
three parts, the frame should be displayed for half again as long
as normal.

This makes the speed of the Zork: Grand Inquisitor video look
about right to me. It's still out of sync, but it doesn't seem to
get *more* out of sync as the video progresses.
2018-11-04 22:33:22 +01:00
Torbjörn Andersson fc7fa1de3a VIDEO: Use liba52 to decode audio. This is still laughably broken
At the moment, this produces nothing but misery in the form of
Valgrind warnings and horrible noise.
2018-11-04 22:33:22 +01:00
Cameron Cawley a7bc08992e IMAGE: INDEO: Use the system pixel format for non-8bpp screen modes 2018-04-15 08:05:24 -05:00
Torbjörn Andersson 4702681be2 IMAGE: Explicitly initialize CinePak codebooks
Starship Titanic produces lots of "uninitialized value" warnings
at the very beginning of the game, when turning right. This is
because in the very first movie frame it uses codebooks that have
not been loaded. Explicitly set their data to 0 to guarantee
consistent behavior.
2018-04-07 10:03:50 +02:00
Adrian Frühwirth 4faa8b0439 JANITORIAL: Remove useless comment 2018-03-25 18:37:10 +02:00
Adrian Frühwirth cec905e036 IMAGE: Fix Indeo3 compiler warnings 2018-01-20 20:00:30 +01:00
Colin Snover 56cc138e58 IMAGE: Remove unnecessary heap allocation in BitmapRawDecoder 2017-09-24 16:22:40 -05:00
Paul Gilbert 5424f70002 IMAGE: Fix memory leak in BitmapRawDecoder 2017-09-24 12:02:48 -04:00
Cameron Cawley 7846d098b2 IMAGE: Support rendering Indeo videos at 15bpp 2017-09-05 23:40:05 +01:00
Paul Gilbert 0b19ebe7b2 IMAGE: Fix shadowing warning 2017-09-04 09:16:59 -04:00
Colin Snover 2b46eda5b6 IMAGE: Allow Indeo4 transparency decoding in scalable videos
y459.avi in Starship Titanic uses these two modes together, and
this appears to work fine.
2017-08-24 21:17:54 -05:00
Colin Snover 4a39f85c1b IMAGE: Implement handling of key color in Indeo transparency
This should also improve performance by eliminating unnecessary
writes to the output bitmap for opaque pixels and by simplifying
the rendering loop.
2017-08-24 20:36:08 -05:00
Colin Snover d39a9272bf IMAGE: Remove unnecessary extra heap allocation of Indeo surface 2017-08-24 20:34:55 -05:00
Colin Snover 7dd2c0342d IMAGE: Remove unnecessary temporary surface in Indeo4/5 2017-08-24 20:34:19 -05:00
Colin Snover 085ec30b49 IMAGE: Add support for Indeo4 transparency plane
This is used by TITANIC for most of the furniture in the SGT
stateroom and Titania's parts.
2017-08-24 20:34:16 -05:00
Willem Jan Palenstijn edfdbb9dd7 IMAGE: Use new BitStreamMemory class for indeo 2017-08-24 19:46:59 +02:00
Willem Jan Palenstijn 60fae8847e IMAGE: Inline indeo getVLC2 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
Eugene Sandulenko c48cb7af7c JANITORIAL: Add fall through statement 2017-08-11 21:40:11 +02:00
Paul Gilbert 411cc2cb4e IMAGE: Extra initialization of Indeo decoder IVIHuffTab 2017-07-25 19:50:23 -04:00
Willem Jan Palenstijn 4ec3c2875b IMAGE: Inline two simple indeo functions 2017-07-11 01:32:05 +02:00
Colin Snover 7b90f0693a IMAGE: Return correct pixel format for Indeo3
This gives Indeo3 the same behavior as other codecs when
encapsulated in a container that provides bit depth information
(e.g. AVI).

Closes #888.
2017-01-11 10:59:55 -06:00
D G Turner f63b9d0fcb IMAGE: Fix Unused Variable Compiler Warning in Indeo 4 Codec. 2017-01-09 07:21:59 +00:00
Paul Gilbert 206b3f9315 IMAGE: Fixed attribution comments for the Indeo decoders 2016-12-26 00:07:17 -05:00
Paul Gilbert b3c686195f IMAGE: Add hack to Indeo 4 decoder to guess transparent areas 2016-11-21 20:20:23 -05:00
Paul Gilbert 4888433c46 IMAGE: Fix some confusion of bytes vs bits in Indeo decoders 2016-11-18 21:04:12 -05:00
Paul Gilbert 91d61b2cdb IMAGE: Respect bit depth in Indeo 5 decoder 2016-11-18 20:58:39 -05:00
Paul Gilbert 7f4d93ed93 IMAGE: Respect specified bytesPerPixel in Indeo decoders 2016-11-18 20:55:37 -05:00
Paul Gilbert ccbe07bd81 IMAGE: Fix setting frame sizes in Indeo decoders 2016-11-14 20:42:21 -05:00
Paul Gilbert 7564d47e99 IMAGE: Fix incorrect warnings decoding MSRLE images 2016-10-26 22:16:23 -04:00
Eugene Sandulenko 355c4fa646 JANITORIAL: Remove more trailing spaces 2016-10-09 15:02:02 +02:00
Paul Gilbert 785696ae5d IMAGE: Fix compiler warning in Indeo decoders 2016-09-22 06:41:26 -04:00
Paul Gilbert 21979d741b IMAGE: Try and work around N64 compilation error 2016-09-11 15:25:24 -04:00
Eugene Sandulenko a035334cbd IMAGE: Indeo: Replace memory-related functions with standard ones 2016-09-11 18:04:49 +02:00
Eugene Sandulenko fe65d374d1 IMAGE: Reduced scope for more variables in Indeo codec 2016-09-11 17:54:11 +02:00
Paul Gilbert 71fd176f05 IMAGE: Compilation fixes for Indeo codecs 2016-09-11 11:51:16 -04:00
Eugene Sandulenko 60da6cad6b IMAGE: Reduce scope of many variables in Indeo codecs 2016-09-11 17:28:26 +02:00
Eugene Sandulenko d39ef91d41 JANITORIAL: Whitespace fixes 2016-09-11 17:17:31 +02:00
Paul Gilbert 08143af482 IMAGE: Further formatting of Indeo decoders 2016-09-11 09:42:12 -04:00
Paul Gilbert a5f4366387 IMAGE: Fix leading spaces into tabs in Indeo decoders 2016-09-10 22:18:05 -04:00
Paul Gilbert 2f7da2d3d9 IMAGE: Miscellaneous cleanup for Indeo decompressors 2016-09-10 21:05:49 -04:00
Paul Gilbert 23b1dbbb0e IMAGE: Refactored Indeo GetBits class to derive from Common::BitStream 2016-09-10 20:35:02 -04:00
Paul Gilbert 9c6a55a2a6 IMAGE: Cleanup of miscellaneous methods and arrays in Indeo decoders 2016-09-10 18:07:13 -04:00
Paul Gilbert e06442afb6 IMAGE: Cleanup of method parameters and locals in Indeo decoders 2016-09-10 17:00:06 -04:00
Paul Gilbert 58ad70f351 IMAGE: Renaming structure fields for Indeo decoders 2016-09-10 16:04:22 -04:00
Paul Gilbert fe6d624277 IMAGE: Implemented Indeo5 decoder 2016-09-10 14:31:19 -04:00
Paul Gilbert 9c7b9e1667 IMAGE: Compilation fixes for Indeo4 decoder 2016-09-10 10:43:23 -04:00
Paul Gilbert a6ffef9e26 IMAGE: Remove green lines from Indeo4 decoder 2016-09-10 10:08:24 -04:00