Commit Graph

359 Commits

Author SHA1 Message Date
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
cff454d5e7 VIDEO: Fix Two Further Signed vs. Unsigned Compiler Warnings. 2017-01-10 03:23:31 +00:00
Paul Gilbert
cc4ede6509 VIDEO: Further work on 2-track AVI videos
It turns out that at least one video in Starship Titanic, for the
Lift Indicator, has only a single transparency frame in track 2.
The added code, therefore, when it doesn't find an index entry
for the desired frame number, works backwards until it finds a valid
frame (likely frame 0), and then scans forward. If it hits the end
of the video, then it simply uses whatever last frame it last decoded.
2016-12-29 22:23:16 -05:00
Paul Gilbert
2e8c80cf58 VIDEO: Add support for AVI 2-track videos with missing track 2 indexes 2016-12-29 16:54:13 -05:00
Paul Gilbert
0c200e833e VIDEO: Add reverse playback support to AviDecoder 2016-12-05 23:15:44 -05:00
Bastien Bouclet
1d349e8244 VIDEO: Fix an off-by-one check in VideoDecoder::getTrack 2016-10-18 13:13:00 +02:00
Eugene Sandulenko
af2027ddd1 Merge pull request #838 from bluegr/chewy
Chewy: Esc from F5. New WIP engine.
2016-10-15 13:51:00 +02:00
Paul Gilbert
a333f3c44c VIDEO: Support rewind on AVI files with multiple video tracks 2016-10-12 20:09:36 -04:00
Paul Gilbert
c45b11f849 VIDEO: Fix video playback for zvision AVI videos 2016-10-11 21:05:58 -04:00
Paul Gilbert
83188eace9 VIDEO: Expose the bitCount of AVIVideoTrack bitmap headers 2016-10-06 20:32:25 -04:00
Paul Gilbert
293147345f VIDEO: Simplify AVIDecoder index handling for second video track 2016-10-03 07:41:44 -04:00
Paul Gilbert
c676ecb258 VIDEO: Implement seeking for AVI videos with a transparency video track 2016-10-02 20:22:53 -04:00
Filippos Karapetis
7331bdc6b1 VIDEO: Allow parts of the FLIC decoder to be overriden by child classes
This is needed by the specialized FLIC video decoder used in the chewy
engine
2016-10-03 00:33:49 +03:00
Paul Gilbert
3d25e260f7 TITANIC: Fix AVIDecoder to properly handle transparency video tracks 2016-10-02 14:24:40 -04:00
Paul Gilbert
28b2609b92 TITANIC: Remove track select logic from AVIDecoder 2016-10-02 08:20:10 -04:00
Colin Snover
44dd029cb1 SCI32: Implement kSetHotRectangles
Used only by chapter 7 of Phant1.
2016-09-29 19:39:16 -05:00
Paul Gilbert
bd010bc79f COMMON: Converted Common::BitStream to use DisposeAfterUse 2016-09-10 11:16:07 -04:00
Eugene Sandulenko
fab199d37e JANITORIAL: Make GPL headers uniform 2016-09-03 12:46:38 +02:00
Eugene Sandulenko
9d3a2c1c7f Merge pull request #786 from dreammaster/titanic
TITANIC: Starship Titanic engine
2016-08-01 00:27:28 +03:00
Eugene Sandulenko
7b7b1cf0d6 VIDEO: Hid verbose debug output deeper 2016-07-25 23:24:42 +03:00
Paul Gilbert
789760295d VIDEO: Add titanic to list of engines using AVIDecoder 2016-07-17 13:10:07 -04:00
Paul Gilbert
bb2d290dca VIDEO: Handle STRN chunks in AVI file streams to set stream name 2016-07-17 13:09:20 -04:00
Paul Gilbert
fa6e12aaab VIDEO: Add support for a track filtering callback function
This is needed for Starship Titanic, where videos can have a secondary
video track. It was simpler to use the callback as a means to select
one video track each across two decoders than trying to make VideoDecoder
and/or AVIDecoder support decoding from multiple video tracks simultaneously
2016-07-17 13:08:31 -04:00
Paul Gilbert
62f2763bf7 VIDEO: Respect RIFF filesize field when decoding AVI files
Starship Titanic in particular needs this, since some of the videos
have extra junk at the end of the file, such as ycursors.avi,
and parsing fails if we don't respect the filesize field
2016-07-15 19:27:42 -04:00
Colin Snover
28d4f5b0e4 VIDEO: Expose API for providing a memory location to draw VMDs
In SSCI, VMD is drawn by a standard CelObjMem wrapped by a
ScreenItem, giving the location of the bitmap memory to the
decoder. The decoder already supports this, but the API was
previously hidden behind the AdvancedVMDDecoder wrapper
(which is more convenient to use than the VMDDecoder class).
2016-07-10 09:35:24 -05:00
Ori Avtalion
3564032330 JANITORIAL: Reduce audio header dependencies 2016-04-14 16:10:21 +03:00
Bastien Bouclet
6d8eebbf7b VIDEO: Stay on the first edit when playing QT videos backwards
We don't support playing videos with multiple edits backwards. Taking the code
path to move to the next edit when playing backwards sets the current edit index
to an invalid value with the video still trying to play. Which results in out of
bounds reads, and ultimately a crash.

This fixes multiple crashes in Myst. Using the key without the chest on
Stoneship, resetting the clock tower puzzle, and using the switch in the trees
in Channelwood.

This was a regression introduced in a59f5db505.
2016-02-13 17:54:07 +01:00
Matthew Hoops
561d1a1d62 VIDEO: Switch to all packetized streams for AVI
ZVision does not currently, but that's OK
2015-08-30 21:01:39 -04:00
Matthew Hoops
de2f4e6982 VIDEO: Add support for MP3 in AVI 2015-08-30 19:53:53 -04:00
Matthew Hoops
14e57ca76f VIDEO: Switch MPEG-PS audio code to use the packetized MP3 code 2015-08-30 19:53:53 -04:00
Matthew Hoops
49885d686e VIDEO: Implement fallback dithering for QuickTime videos
Used for any codec without direct dithering support
2015-04-12 20:12:38 -04:00
Matthew Hoops
b170b08822 VIDEO: Add support for dithering in QuickTime videos 2015-04-11 14:37:04 -04:00
Matthew Hoops
f342d63431 IMAGE: Allow for choosing dither type 2015-04-11 14:36:37 -04:00
Matthew Hoops
cfc64157a0 VIDEO: Allow AVI tracks to be dithered via the Codec
Video for Windows made the Codec do the dithering work
2015-04-11 14:36:26 -04:00
Matthew Hoops
f6d7c5e176 IMAGE: Add functions to allow for videos to be dithered 2015-04-11 14:36:18 -04:00
Matthew Hoops
cb25b7b5ee VIDEO: Make the QuickTime code error out again if the frame data can't be found
The case shouldn't actually ever happen; the off-by-one bug when seeking to the last frame of the media (in an edit) caused this originally
2015-01-20 20:10:59 -05:00
Matthew Hoops
7d1ee5563a VIDEO: Remove the "-1" edit hack
With the previous commits' fixes, it's no longer needed
2015-01-20 20:10:59 -05:00
Matthew Hoops
1a0f104acf VIDEO: Fix potential off-by-one frame time after seek
If seeking to the final frame of an edit, _nextFrameStartTime wouldn't be adjust properly and would wrongly say that it's at the end of the edit. This never affected anything because of the edit "-1" hack.
2015-01-20 20:10:59 -05:00
Matthew Hoops
8e2a438dd9 VIDEO: Fix edit frame calculation
An edit that seeks to the last frame of the media would not show
2015-01-20 20:10:59 -05:00
Matthew Hoops
aaf4d38a56 VIDEO: Round the edit time offset instead of truncating it
Allows for the KQ6 Mac intro to play without the edit "-1" hack
2015-01-20 20:10:58 -05:00
Matthew Hoops
a59f5db505 VIDEO: Fix timing with frames going past the edit boundary 2015-01-20 20:10:58 -05:00
Eugene Sandulenko
8e0d7d7255 Merge pull request #559 from fedor4ever/master
VIDEO: Add Theora support to systems which use libtremor
2015-01-11 21:12:01 +01:00
Matthew Hoops
7054bcd9c5 VIDEO: Add MPEG-PS demuxer
For use with ZVision and later MADE
2015-01-08 00:45:13 -05:00
Fedor Strizhnev
7225101e62 Add Theora support to systems which use libtremor 2015-01-05 16:53:35 +03:00
Matthew Hoops
bed532587b VIDEO: Fix check to see if the frame rate is a whole number
Thanks to Marisa-Chan for spotting
2014-12-24 10:38:28 -05:00
Fedor
b0250e72d8 VIDEO: Mark TheoraDecoder as used by pegasus 2014-12-22 12:14:18 -05:00
Matthew Hoops
124ac887fd VIDEO: Make AVIAudioTrack::resetStream() virtual
In case a subclass (like Zork) needs to override it
2014-11-02 20:45:38 -05:00
Matthew Hoops
dfc3bcae20 VIDEO: Separate AVI video and audio track reading
Relying on the videos to have 'initial frames' for audio tracks is not the best way to handle AVI videos. Now videos without initial frames (or broken interleaving) will buffer properly.
2014-11-02 20:15:06 -05:00
Filippos Karapetis
b845d41d16 VIDEO: Remove trailing whitespace 2014-10-28 15:38:51 +02:00
Matthew Hoops
b2676c412d VIDEO: Fix seeking in AVI videos with no initial audio frames 2014-09-28 15:29:42 -04:00