aboutsummaryrefslogtreecommitdiff
path: root/video
AgeCommit message (Collapse)Author
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.
2017-08-20VIDEO: Support old-style stereo in VMDsColin Snover
This format is used by the stereo audio VMDs in Lighthouse.
2017-07-27VIDEO: Allow setting the mixer sound type used to play audio tracksBastien Bouclet
2017-07-22VIDEO: Fix AVIDecoder skipping alternate frames in reverse playbackPaul Gilbert
2017-06-30VIDEO: Refactor AVIDecoder for better handling of transparency trackPaul Gilbert
A lot of the standard VideoDecoder methods were still treating the transparency track as part of the video, so methods like getFrameCount would return double the amount it should be. This refactoring properly separates the transparency track into a separate field entirely.
2017-06-30VIDEO: Add method to VideoDecoder to erase a trackPaul Gilbert
2017-06-25VIDEO: Fix transparency track seeking in AVIDecoderPaul Gilbert
2017-06-17VIDEO: Wrap out-of-range VMD audio samples instead of clippingColin Snover
The 16-bit DPCM decompressors in SSCI and Urban Runner use a 16-bit register to store sample data, without any special handling of overflow. As such, out-of-range samples simply wrap around, rather than getting clipped. It is not totally clear if the wrapping behaviour was intentionally exploited to handle extreme transients, but in any case, videos like GK2 5280.VMD that generate samples outside the signed 16-bit range cause a loud pop when using clipping, but play back correctly when wrapping.
2017-04-29VIDEO: Unexpose audio sync API in AdvancedVMDDecoderColin Snover
This change was inadvertently added in commit 44dd029cb17160316b2015321a0a53f8854b6dd3 but is not actually used.
2017-01-11IMAGE: Return correct pixel format for Indeo3Colin Snover
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-10VIDEO: Fix Two Further Signed vs. Unsigned Compiler Warnings.D G Turner
2016-12-29VIDEO: Further work on 2-track AVI videosPaul Gilbert
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-29VIDEO: Add support for AVI 2-track videos with missing track 2 indexesPaul Gilbert
2016-12-05VIDEO: Add reverse playback support to AviDecoderPaul Gilbert
2016-10-18VIDEO: Fix an off-by-one check in VideoDecoder::getTrackBastien Bouclet
2016-10-15Merge pull request #838 from bluegr/chewyEugene Sandulenko
Chewy: Esc from F5. New WIP engine.
2016-10-12VIDEO: Support rewind on AVI files with multiple video tracksPaul Gilbert
2016-10-11VIDEO: Fix video playback for zvision AVI videosPaul Gilbert
2016-10-06VIDEO: Expose the bitCount of AVIVideoTrack bitmap headersPaul Gilbert
2016-10-03VIDEO: Simplify AVIDecoder index handling for second video trackPaul Gilbert
2016-10-02VIDEO: Implement seeking for AVI videos with a transparency video trackPaul Gilbert
2016-10-03VIDEO: Allow parts of the FLIC decoder to be overriden by child classesFilippos Karapetis
This is needed by the specialized FLIC video decoder used in the chewy engine
2016-10-02TITANIC: Fix AVIDecoder to properly handle transparency video tracksPaul Gilbert
2016-10-02TITANIC: Remove track select logic from AVIDecoderPaul Gilbert
2016-09-29SCI32: Implement kSetHotRectanglesColin Snover
Used only by chapter 7 of Phant1.
2016-09-10COMMON: Converted Common::BitStream to use DisposeAfterUsePaul Gilbert
2016-09-03JANITORIAL: Make GPL headers uniformEugene Sandulenko
2016-08-01Merge pull request #786 from dreammaster/titanicEugene Sandulenko
TITANIC: Starship Titanic engine
2016-07-25VIDEO: Hid verbose debug output deeperEugene Sandulenko
2016-07-17VIDEO: Add titanic to list of engines using AVIDecoderPaul Gilbert
2016-07-17VIDEO: Handle STRN chunks in AVI file streams to set stream namePaul Gilbert
2016-07-17VIDEO: Add support for a track filtering callback functionPaul Gilbert
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-15VIDEO: Respect RIFF filesize field when decoding AVI filesPaul Gilbert
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-10VIDEO: Expose API for providing a memory location to draw VMDsColin Snover
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-04-14JANITORIAL: Reduce audio header dependenciesOri Avtalion
2016-02-13VIDEO: Stay on the first edit when playing QT videos backwardsBastien Bouclet
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 a59f5db505ffce9567c3bc8adf30d2f843910d65.
2015-08-30VIDEO: Switch to all packetized streams for AVIMatthew Hoops
ZVision does not currently, but that's OK
2015-08-30VIDEO: Add support for MP3 in AVIMatthew Hoops
2015-08-30VIDEO: Switch MPEG-PS audio code to use the packetized MP3 codeMatthew Hoops
2015-04-12VIDEO: Implement fallback dithering for QuickTime videosMatthew Hoops
Used for any codec without direct dithering support
2015-04-11VIDEO: Add support for dithering in QuickTime videosMatthew Hoops
2015-04-11IMAGE: Allow for choosing dither typeMatthew Hoops
2015-04-11VIDEO: Allow AVI tracks to be dithered via the CodecMatthew Hoops
Video for Windows made the Codec do the dithering work
2015-04-11IMAGE: Add functions to allow for videos to be ditheredMatthew Hoops
2015-01-20VIDEO: Make the QuickTime code error out again if the frame data can't be foundMatthew Hoops
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-20VIDEO: Remove the "-1" edit hackMatthew Hoops
With the previous commits' fixes, it's no longer needed
2015-01-20VIDEO: Fix potential off-by-one frame time after seekMatthew Hoops
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-20VIDEO: Fix edit frame calculationMatthew Hoops
An edit that seeks to the last frame of the media would not show
2015-01-20VIDEO: Round the edit time offset instead of truncating itMatthew Hoops
Allows for the KQ6 Mac intro to play without the edit "-1" hack
2015-01-20VIDEO: Fix timing with frames going past the edit boundaryMatthew Hoops