551 Commits

Author SHA1 Message Date
Filippos Karapetis
52d0a5eae8 VIDEO: Mark Smacker _frameTypes as protected
It's used by the Nightlong Smacker decoder when seeking to a frame
2021-05-29 21:23:31 +01:00
SupSuper
8bc861cb1a VIDEO: Added dirty rects to SmackerDecoder
This emulates the "slow" render mode of the Smacker lib,
which returns the blocks changed each frame instead of full frames.
Nightlong relies on this to correctly refresh its screen buffer.
2021-05-29 21:22:58 +01:00
Thomas Fach-Pedersen
cf0aa5813a VIDEO: Fix handling of Smacker frame flags 2021-05-29 21:22:48 +01:00
Thomas Fach-Pedersen
d50de9c132 VIDEO: Support Smacker video with empty Huffman trees
This fixes loading videos from Nightlong: Union City Conspiracy.
2021-05-29 21:22:48 +01:00
Thomas Fach-Pedersen
1dfe89d53e VIDEO: Fix IDs of Smacker audio tracks
If a Smacker file has non-adjacent audio tracks,
fill in the blanks with SmackerEmptyTrack.
2021-05-29 21:22:48 +01:00
Vladimir Menshakov
deb959a902 VIDEO: Allow zero data words count in decodeDeltaFLC
Excerpt from specification:
The first byte of each packet is the column skip count;
the second byte is the RLE count byte.
Zero or more data words follow the RLE count byte.
2021-04-25 22:07:28 +01:00
Le Philousophe
9a31a8926c VIDEO: HNM channels attribute is not channels but some kind of format
Sound is mono when this attribute is at 2
2021-04-17 21:49:33 +03:00
Le Philousophe
bf7ddf6a70 VIDEO: HNM Postprocessing simplification
Don't pass flags to various decoding blocks thay don't need it.
Unifiy frame handling in a unique procedure which handles deinterlacing.
Don't memcpy with HNM4A frames, point the surface at framebuffer
2021-04-17 21:48:47 +03:00
Le Philousophe
0953a690f4 VIDEO: Fix HNM decoding
Bytes are both read before written
2021-04-17 21:48:46 +03:00
Cameron Cawley
f1e90ada2f VIDEO: Optimize HNM4 decoding slightly 2021-04-17 21:48:46 +03:00
Cameron Cawley
46e696d417 CRYO: Use the common HNM decoder 2021-04-17 21:48:46 +03:00
Cameron Cawley
d38567bfd9 VIDEO: Support decoding older HNMv4 variants 2021-04-17 21:48:46 +03:00
Cameron Cawley
d9fe53efb2 CRYOMNI3D: Move HNMDecoder into common code 2021-04-17 21:48:45 +03:00
Eugene Sandulenko
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
Matthew Duggan
a20b8781e1 VIDEO: Add support for Xan codec videos (Crusader, Wing Commander) 2021-03-14 19:16:24 +01:00
Eugene Sandulenko
b1f889f03d VIDEO: Skip another chunk in AVI videos 2021-02-12 00:41:36 +01:00
Paul Gilbert
8a47da8895 VIDEO: Fix type redefinition when including MPEGPSDecoder 2021-02-07 10:21:21 -08:00
SupSuper
872a547230 AUDIO: Combine WaveFormat enums under one header 2021-02-05 21:16:11 +02:00
SupSuper
a7f47d5c81 VIDEO: Allow setting the mixer sound type per audio track 2021-01-31 18:51:10 +00:00
Vladimir Serbinenko
3c97ebd4f9 VIDEO: support multi-track audios in 3DO videos
It's used in plumbers with first track being speech and second track
being music
2020-10-24 00:59:01 +02:00
Vladimir Serbinenko
ce6eb34121 VIDEO: uplift 3do movie decoder from sherlock engine
The format is generic to 3DO and is also used by plumbers.
I think it's also accelerated on 3DO so probably is used by
a lot of 3DO titles
2020-10-24 00:59:01 +02:00
Andrei Prykhodko
49437e2c1a VIDEO: Update Engine Usage Comment in AVI Decoder 2020-10-07 22:51:46 +03:00
Andrei Prykhodko
7bbb639bd7 VIDEO: add support for BLACK chunk in FLIC decoder 2020-10-04 18:27:33 +02:00
Paweł Kołodziejski
328c12a28d VIDEO: Added support for PS2 audio codec in MPEG stream 2020-09-24 18:52:31 +02:00
Paweł Kołodziejski
0051eef251 VIDEO: Added support for alpha component support for BINK videos 2020-09-24 14:24:17 +02:00
Eugene Sandulenko
6f1e185f7d AUDIO: Fix warnings 2020-09-24 01:28:17 +02:00
Paweł Kołodziejski
5c441f9420 VIDEO: Added support for seeking BINK streams 2020-09-24 01:23:50 +02:00
Paweł Kołodziejski
1aff4a4cd3 VIDEO: Added getter for getFrameRate() for BINK and SMK video streams. 2020-09-24 00:26:27 +02:00
Vladimir Menshakov
9ecce37b81 VIDEO: Pad consts with spaces, not tabs, formatting fixup 2020-09-02 06:43:44 +01:00
Vladimir Menshakov
61ce70f6e8 VIDEO: skip FLC file header if present 2020-09-01 21:54:22 +01:00
Vladimir Menshakov
9be832dad7 VIDEO: Fix playback of FLC files created with non-EGI encoders (no frame1/2 pointers, no ext_flags) 2020-09-01 21:52:42 +01:00
Cameron Cawley
b76652120b AUDIO: Separate the XA ADPCM decoder from the PSX video decoder 2020-08-24 14:21:00 +02:00
D G Turner
043ec04bea VIDEO: Update Engine Usage Comment in FLIC Decoder 2020-06-15 20:49:00 +01:00
Thomas Fach-Pedersen
4aae3340fc KINGDOM: Add support for 16-bit MVE videos 2020-06-14 23:36:05 +02:00
D G Turner
4adae15840 VIDEO: Fix Compiler Warnings in MVE Decoder 2020-06-11 01:59:53 +01:00
Thomas Fach-Pedersen
2e963d8c03 KINGDOM: Fix partial palette updates in MVE decoder 2020-06-07 00:02:29 +02:00
Thomas Fach-Pedersen
5ed3222fce KINGDOM: Support partial palette update in MVE decoder 2020-06-07 00:02:29 +02:00
Thomas Fach-Pedersen
25ed22d192 KINGDOM: Make audio track selectable in MVE decoder 2020-06-07 00:02:29 +02:00
Thomas Fach-Pedersen
03c2a973e4 KINGDOM: Fix MVE video format 6 decoding 2020-06-07 00:02:29 +02:00
Thomas Fach-Pedersen
e091dab0ae KINGDOM: Frames can span multiple chunks 2020-06-07 00:02:29 +02:00
Thomas Fach-Pedersen
7c07260ab8 KINGDOM: Replace uint16_t with uint16 in MVE decoder 2020-06-07 00:02:29 +02:00
Thomas Fach-Pedersen
aff19ae96b KINGDOM: Implement preliminary MVE decoder.
Implements decoding for formats 0x6 and 0x10. Not bug free.
2020-06-07 00:02:29 +02:00
Eugene Sandulenko
637493cc85 VIDEO: Stub for MVE decoder 2020-06-07 00:02:29 +02:00
Matthew Duggan
818e681746 IMAGE: Add support for Crusader: No Remorse movie decoding
The movies for Crusader: No Remorse have a unique decoder which is not too hard
to implement.  Unfortunately, they don't properly implement the "compression"
FourCC, and instead put their ID in the "Stream Handler".  Since supporting
them requires a change to the existing Image API, I thought I should make a
pull request for comments.

With this change, the movies in Crusader can all be played nicely.
2020-05-11 07:54:24 +02:00
Eugene Sandulenko
8b0ff834d0 VIDEO: Fix typo which could lead to crash in mpeg decoder 2020-04-28 10:38:37 +02:00
D G Turner
b7b66c5049 VIDEO: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-11-30 19:47:06 +00:00
Dmitry Blau
cf179868c8 VIDEO: Fix embedded subtitles in VMD videos
This fixes the subtitles in Woodruff - bug 10960
2019-09-13 11:27:24 +03: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
Bastien Bouclet
43e04d19c4 VIDEO: Fix Bink clearing color comment
YUV 000 is a green, not black. Thanks DrMcCoy for noticing and fixing
the issue.
2019-04-01 20:49:51 +02:00
Bastien Bouclet
195b4cbd20 VIDEO: Fix an integer overflow when dequantizing the DCT coeffs
See 2968bedf12
2019-04-01 20:49:45 +02:00