aboutsummaryrefslogtreecommitdiff
path: root/video
AgeCommit message (Collapse)Author
2017-11-02VIDEO: Express VideoDecoder::endOfVideo using easier to understand logicBastien Bouclet
2017-10-08VIDEO: BINK: Fix plane data clobbering caused by incorrect pitch valueBastien Bouclet
When decoding blocks, the YUV planes' pitches were computed using the target video surface size instead of the block based size, resulting in decoded plane data being overwritten for some video sizes. Affected videos are LEOS-11102.bik and LEOS-11152.bik from Myst III.
2017-09-21VIDEO: Change QT edit list to a Common::ArrayBastien Bouclet
And fix an out of bounds acces when seeking to the end of a video. Skipping samples is needed even when seeking through silent edits because a silent stream is queued for those. Fixes #10219.
2017-09-11JANITORIAL: Silence GCC 7 warningsTorbjörn Andersson
These fall throughs have to be deliberate, or they wouldn't have to check if mode equals 2 in the mode == 2 cases.
2017-09-04VIDEO: Fix reverse playback right to the very start of the videoPaul Gilbert
2017-09-03VIDEO: Simplify AVIDecoder reverse playback special handlingPaul Gilbert
2017-09-03VIDEO: Fix reverse playback in AVIDecoderPaul Gilbert
2017-08-24VIDEO: Use new BitStreamMemory class for PSXStreamDecoderWillem Jan Palenstijn
2017-08-24VIDEO: Use new BitStreamMemory class for SmackerDecoderWillem Jan Palenstijn
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