aboutsummaryrefslogtreecommitdiff
path: root/video/coktel_decoder.cpp
AgeCommit message (Collapse)Author
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.
2016-09-29SCI32: Implement kSetHotRectanglesColin Snover
Used only by chapter 7 of Phant1.
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).
2014-02-28IMAGE: Make Codec take a stream reference; change function name to decodeFrameMatthew Hoops
2014-02-28IMAGE: Move video codecs to image/Matthew Hoops
2014-02-18VIDEO: Make GPL headers consistent in themselves.Johannes Schickel
2013-08-04VIDEO: Fix regression in Urban Runner videos.Johannes Schickel
This is a regression from 6fce92b0ea2fce78c375ade0bc6c2ac4231b96bd. Thanks to DrMcCoy for tracking this down.
2013-08-03VIDEO: Do not set Surface::pixels directly anymore.Johannes Schickel
2013-08-03VIDEO: Take advantage of Surface::getPixels.Johannes Schickel
2013-08-03VIDEO: Prefer getBasePtr over direct Surface::pixels access.Johannes Schickel
2013-06-30VIDEO: Add hypothetical 32bpp supportSven Hesse
2013-04-13VIDEO: Fix a typo (minus vs. plus) in the VMD decoderSven Hesse
2012-09-26JANITORIAL: Remove trailing whitespaces.Johannes Schickel
Powered by: git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-08-26VIDEO: Fix compilation with some compilersMatthew Hoops
2012-08-16VIDEO: Merge AdvancedVideoDecoder into VideoDecoderMatthew Hoops
2012-08-16VIDEO: Remove the Coktel video code from using the VideoDecoder APIMatthew Hoops
After discussing with DrMcCoy, we felt this the best way to proceed. A wrapper class that implements AdvancedVideoDecoder is still around for use in SCI.
2012-06-07GOB: Add a way to reopen currently opened IMD/VMD videosSven Hesse
This is a workaround for how Lost in Time behaves in combination with changes I made to the DataIO code for running Urban Runner on low-memory devices. Urban Runner's intro are far to big to have them copied into memory for these devices, so I made the DataIO code return a SafeSeekableSubReadStream into the opened archive stream instead. Unfortunately, Lost in Time might not close a video file when it closes the data file which it was originally in, especially when loading a saved game. Since the video player needs to be able to gaplessly continue a video and there does not, by itself, close the video if not requested by the scripts, this leads to reading out of an already closed stream in certain cases. So, to worka round this issues, the video player tries to reopen each currently opened video after a data archive was closed, to make sure that that video is still available. If not, the video is closed.
2012-05-28VIDEO: Add volume/balance control to VideoDecoderMatthew Hoops
2011-11-27VIDEO: Rewrite VMD audio streamingMatthew Hoops
Audio is now decoded in AudioStream classes instead of being decoded ahead of time and then queued.
2011-05-25BUILD: Always enable indeo3 codecMax Horn
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-05-01Merge pull request #16 "Add a PixelFormat to Graphics::Surface.".Johannes Schickel
For further discussion check here: https://github.com/scummvm/scummvm/pull/16 Conflicts: graphics/png.cpp
2011-04-28JANITORIAL: Reduce header dependencies in shared codeOri Avtalion
Some backends may break as I only compiled SDL
2011-04-17ALL/GRAPHICS: Remove Surface::bytesPerPixel.Johannes Schickel
2011-04-17VIDEO: Prefer Surface::format over Surface::bytesPerPixel.Johannes Schickel
2011-04-17VIDEO: Prefer Surface::create taking a PixelFormat over the one taking a ↵Johannes Schickel
byte depth. Certain codecs seem to use a Surface with Bpp 2, but do not have any proper format description. Whoever is maintaining these should check this commit and fix the format properly.
2011-04-13VIDEO: Use shared ADPCM data tables in VMDDecoderMax Horn
2011-04-12COMMON: Replace MKID_BE by MKTAGMax Horn
MKID_BE relied on unspecified behavior of the C++ compiler, and as such was always a bit unsafe. The new MKTAG macro is slightly less elegant, but does no longer depend on the behavior of the compiler. Inspired by FFmpeg, which has an almost identical macro.
2011-03-29JANITORIAL: Remove/comment unused varsdhewg
Found by GCC 4.6's -Wunused-but-set-variable
2011-03-29VIDEO: Add a workaround for the Inca 2 wisdom gate videoSven Hesse
When decompressing directly onto the output surface fails (because it's too small), retry decompressing into the video buffer first, which then gets blitted onto the output surface.
2011-03-29VIDEO: Fix deLZ77() bound checkSven Hesse
The Inca 2 video where Atahualpa walks through the gate after solving the wisdom challenge now only warns (and graphically glitches) instead of segfaulting.
2011-02-09AUDIO: Rename sound/ dir to audio/Max Horn
svn-id: r55850
2011-02-07VIDEO: Rename VideoDecoder::load() to loadStream()Max Horn
svn-id: r55810
2011-01-24VIDEO: Fix a gfx glitchSven Hesse
Visible in some Inca 2 videos svn-id: r55505
2011-01-24VIDEO: Don't fill empty sound slices at the endSven Hesse
svn-id: r55502
2011-01-23VIDEO: Move video classes to Video:: namespaceEugene Sandulenko
svn-id: r55479
2011-01-23GRAPHICS: Move graphics/video/ to video/. Step 2/2Eugene Sandulenko
svn-id: r55474
2011-01-23GRAPHICS: Move graphics/video/ to video/. Step 1/2Eugene Sandulenko
svn-id: r55473