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
Matthew Hoops
422922fec2
VIDEO: Add wrapper around setEndTime() to specify an end frame
2014-08-17 12:24:28 -04:00
Willem Jan Palenstijn
a22f9bccf3
VIDEO: Reduce BinkDecoder stack usage
...
See bug #6677 .
2014-07-08 21:18:12 +02:00
Eugene Sandulenko
8d70dd68ac
AUDIO: Added stup for MP3 audiostreams in AVI
...
This is used in German release of Full Pipe. Unfortunately our
current MP3 decoder cannot work with streamed MP3s, and bails out
at the AVI header since there is no full MP3 header yet.
2014-06-08 22:54:07 +03:00
Matthew Hoops
1ea4b36c3b
VIDEO: Document PRMI as being Premiere metadata
2014-05-27 23:57:39 -04:00
Matthew Hoops
5891ef4d89
VIDEO: Handle Truemotion dimensions specially
...
Truemotion uses its own demuxer and seems to follow its own AVI rules. Work around it by coercing the video's dimensions to use the codec's internal dimensions.
2014-05-27 00:09:11 -04:00
Joel Teichroeb
32e85a957d
VIDEO: Use || instead of the currently incorrect &&
...
The code currenly has 4 logically dead lines. Instead of requiring
both newWidth and newHeight to be non zero, just make sure one of
them is non zero and set the other one to the current size.
2014-04-11 19:53:03 -07:00
Matthew Hoops
5e715f244b
VIDEO: Handle the raw AVI video chunk the same as the others
2014-03-02 20:59:00 -05:00
Matthew Hoops
acec700c11
IMAGE: Share the same pool of codecs between PICT and QuickTime
2014-02-28 00:32:06 -05:00
Matthew Hoops
05e9ff136a
IMAGE: Share the same pool of codecs between bitmap and AVI
2014-02-28 00:32:06 -05:00
Matthew Hoops
231a02c759
VIDEO: Use the bitmap header compression field for AVI codecs
2014-02-28 00:32:06 -05:00
Matthew Hoops
08ea14a8d0
IMAGE: Make Codec take a stream reference; change function name to decodeFrame
2014-02-28 00:27:37 -05:00
Matthew Hoops
c432b96cf6
IMAGE: Merge the JPEG codec into the ImageDecoder
2014-02-28 00:27:36 -05:00
Matthew Hoops
b568ac73b9
IMAGE: Move video codecs to image/
2014-02-28 00:27:36 -05:00
Matthew Hoops
740b6e8fbd
IMAGE: Move all ImageDecoders to image/
2014-02-28 00:27:28 -05:00
Johannes Schickel
8f3a923686
VIDEO: Make GPL headers consistent in themselves.
2014-02-18 02:39:39 +01:00
Eugene Sandulenko
9b8e6f54fc
VIDEO: Add additional FourCC appearing in some Zvision engine game versions
2014-02-07 09:42:58 +02:00
Matthew Hoops
c9b2c16680
VIDEO: Fix a typo in the include guard
2014-01-17 21:06:13 -05:00
Matthew Hoops
d73df0d28c
VIDEO: Add MJPEG support
2014-01-17 21:02:11 -05:00
Matthew Hoops
b23f764028
VIDEO: Rename the Motion JPEG decoder to JPEG to better reflect its purpose
...
This JPEG is separate from the modified JPEG format used in MJPEG
2014-01-17 19:17:29 -05:00
Matthew Hoops
1e95a49892
VIDEO: Add support for multiple Smacker audio tracks
2014-01-11 18:43:42 -05:00
Matthew Hoops
ce82977ea1
VIDEO: Improve support for multiple Bink audio tracks
2014-01-11 18:43:42 -05:00
Matthew Hoops
d2e31c8d67
VIDEO: Improve support for multiple AVI audio tracks
2014-01-11 18:43:42 -05:00
Matthew Hoops
da604b530b
VIDEO: Allow for audio track selection in video types that support it
2014-01-11 18:43:41 -05:00
Filippos Karapetis
1632d5f39a
VIDEO: Handle the AVI 'JUNQ' and 'dmlh' chunk headers
...
These are used by Full Pipe's intro videos
2014-01-05 15:34:33 +02:00
Torbjörn Andersson
84d4e97d08
VIDEO: Rename variables and remove pointless assertion
...
It's RGB, not BGR apparently. This seems to contradict the
Multimedia Wiki, but not reality.
2014-01-01 19:55:04 +01:00
Torbjörn Andersson
75806cd73c
VIDEO: Fix Smacker palette upscaling to match Multimedia Wiki
...
The Multimedia Wiki suggests using a lookup table, but this should
produce the same result.
2014-01-01 19:48:17 +01:00
anotherguest
44c24f8dc8
SYMBIAN OS:Use defaults for data types also for Symbian OS!
2013-11-26 12:17:59 +01:00
Matthew Hoops
e28544d6d1
VIDEO: Ensure debug output of the first AVI index
2013-11-25 20:33:14 -05:00
Matthew Hoops
6fb6ffd77b
VIDEO: Handle prematurely ending AVI videos
2013-11-25 20:32:53 -05:00
Matthew Hoops
fa350f9c1f
VIDEO: Ignore AVI strn metadata
2013-11-25 20:21:18 -05:00
Matthew Hoops
4708a1969b
VIDEO: Fix awful thinko from 55791d5fc1
2013-11-23 13:43:20 -05:00
Matthew Hoops
55791d5fc1
VIDEO: Fix AVI indexes with absolute offsets
2013-11-23 10:58:01 -05:00
Matthew Hoops
aea224e260
ALL: Mark off common code used by ZVision
2013-10-26 10:39:36 -04:00
RichieSams
c73159150d
ZVISION: Re-enable Truemotion plugin guard, but add a case for ZVISION
2013-10-04 09:20:25 -05:00
RichieSams
1697a9c831
Merge branch 'master' into zvision
2013-09-04 00:35:34 -05:00
richiesams
9b02777155
VIDEO: Fix memory leak in TrueMotion1 header buffer
...
Cleanup _buf before returning, even if we don't actually decode
2013-09-03 19:24:41 -04:00
Willem Jan Palenstijn
6417192584
Merge branch 'master' into zvision
...
Conflicts:
video/avi_decoder.cpp
2013-09-24 13:55:54 +02:00
Matthew Hoops
74cc4aec8a
VIDEO: Add support for seeking in AVI videos with an index
...
Rewinding will work in any AVI video
2013-08-28 21:45:30 -04:00
Matthew Hoops
254f0fcc06
VIDEO: Improve accuracy of getFrameTime() and getFrameAtTime()
2013-08-28 00:05:18 -04:00
Matthew Hoops
7a8689538a
VIDEO: Use the main isSeekable() in seekToFrame()
2013-08-28 00:05:13 -04:00
Matthew Hoops
85614b0de4
VIDEO: Separate external and internal tracks
...
Prevents subclasses from having access to any audio track added from another file
2013-08-28 00:05:05 -04:00
Matthew Hoops
2d8d80177e
VIDEO: Make getFrameAtTime() public
2013-08-28 00:04:57 -04:00
richiesams
f2477610cf
VIDEO: Add AVI LIST handling for ZVision custom types
2013-08-18 19:52:55 -05:00
Matthew Hoops
0d6f611963
VIDEO: Ignore some AVI lists with metadata
2013-08-16 21:17:51 -04:00
Filippos Karapetis
62043e949d
VIDEO: Add an over-ridable wrapper for the AVI audio track handler
...
Reimplementation of 7a49802c01b0c39be4e86335689db8f3359fde68
This is based on a suggestion made by clone2727, so the original
idea belongs to him.
Engines can now override the common AVI audio track handler with a
custom one. This is needed for the Z-Engine AVI videos, since they
use a custom audio decoder that is only used in the two Z-Engine
games, and has its own fake AVI audio format (17). This clashes with
the MS IMA ADPCM format, and therefore shouldn't pollute the common
AVI video decoder code. The addition of this over-ridable method
allows the Z-Engine to add its own custom AVI decoder while avoiding
code duplication.
2013-08-15 15:09:30 -05:00
richiesams
95d1ef68ab
Merge branch 'master' into zvision
2013-08-15 14:14:02 -05:00
Einar Johan Trøan Sømåen
6454721e31
VIDEO: Set stereo as bool instead of writing channel amount directly
2013-08-12 00:12:14 +02:00
richiesams
372c55fd8b
VIDEO: Disable SCI_32 plugin guard for DUCK Truemotion
...
ZVision AVI videos use DUCK Truemotion
2013-08-11 16:43:39 -05:00
Johannes Schickel
7f8308e0eb
Merge pull request #365 from lordhoto/protected-pixels
...
Make Graphics::Surface::pixels protected.
2013-08-07 12:24:59 -07:00
Matthew Hoops
6e9390feb8
VIDEO: Don't allow VideoDecoder::seek() to be overridden
...
A new seekIntern() that performs the actual seeking is to be overriden instead. Having the caller override seek() and then call VideoDecoder::seek() kind of defeated the purpose of stopping/starting the audio.
2013-08-06 22:26:15 -04:00
Matthew Hoops
043bd1b9f9
VIDEO: Clean up the AVI decoder
2013-08-05 23:29:22 -04:00
Johannes Schickel
8fc54d6d77
VIDEO: Fix regression in Urban Runner videos.
...
This is a regression from 6fce92b0ea
. Thanks to
DrMcCoy for tracking this down.
2013-08-04 01:07:34 +02:00
Johannes Schickel
0cb1504a5b
VIDEO: Do not set Surface::pixels directly anymore.
2013-08-03 04:14:08 +02:00
Johannes Schickel
e0c9c1d261
VIDEO: Take advantage of Surface::getPixels.
2013-08-03 04:02:49 +02:00
Johannes Schickel
6fce92b0ea
VIDEO: Prefer getBasePtr over direct Surface::pixels access.
2013-08-03 04:02:49 +02:00
Sven Hesse
989ea7cb56
JANITORIAL: Remove trailing whitespace
2013-07-14 19:01:47 +02:00
clone2727
279c9f7841
Merge pull request #343 from clone2727/mpeg2-avi
...
Add back support for sword1/2 MPEG-2 cutscenes
2013-07-05 15:28:06 -07:00
Matthew Hoops
7da9b342aa
VIDEO: Fix Indeo3 luma scale
...
Now black is really black
2013-06-30 23:25:46 -04:00
Matthew Hoops
b1a993ace0
VIDEO: Switch Indeo3 decoding to using the common YUV410 conversion code
...
It now runs much faster and looks better too. Thanks to DrMcCoy for testing.
2013-06-30 17:53:49 -04:00
Sven Hesse
4b3f5149b5
VIDEO: Add hypothetical 32bpp support
2013-06-30 19:07:04 +02:00
Sven Hesse
231586d924
VIDEO: Add hypothetical 32bpp support
2013-06-30 19:00:17 +02:00
Matthew Hoops
1ff09c581b
VIDEO: Mark AVIDecoder as being used by sword1/sword2
2013-06-20 19:56:39 -04:00
Matthew Hoops
aa2d41701d
VIDEO: Allow AVI frame rate to be overriden with a constant
...
Required for sword1/sword2 MPEG videos
2013-06-20 00:04:37 -04:00
Matthew Hoops
f39c9d58bd
VIDEO: Hook up MPEG decoder to AVI
2013-06-20 00:02:50 -04:00
Matthew Hoops
0b81e59d0a
VIDEO: Update AVI code for parsing sword1/sword2 MPEG-2 files
2013-06-20 00:02:32 -04:00
Matthew Hoops
36bc47df44
VIDEO: Add an MPEG 1/2 decoder
2013-06-19 23:59:04 -04:00
Thomas Fach-Pedersen
c3de517fb4
VIDEO: Wrap 8-bit smacker audio properly
...
The accumulator 'bases' is 16-bit but when used in 8-bit audio we need to
wrap as if 'bases' is 8-bit. Clipping on output is no longer required.
This fixes noise in The Neverhood's in-game "making of" videos,
particularly the section called "Construction, powertools & painting",
hash 0x21080009.
The intro video in The Neverhood is 16-bit audio and was not affected by
this bug. No other videos or games have been tested.
2013-05-28 00:58:10 +02:00
Eugene Sandulenko
0638308ef1
Merge pull request #330 from johndoe123/neverhood
...
NEVERHOOD: Neverhood engine
2013-05-15 09:19:34 -07:00
Willem Jan Palenstijn
1022996309
Merge branch 'master'
2013-05-08 20:47:44 +02:00
johndoe123
060287a4f8
NEVERHOOD: Improve frame-exact seeking for Scene2802
...
Thanks to clone2727 for his help!
2013-05-08 20:47:38 +02:00
Max Horn
814aa2e8b7
VIDEO: Remove unused CDToonsDecoder::_currentFrame member var
2013-04-18 23:50:20 +02:00
Matthew Hoops
43d264cb2f
VIDEO: Fix uninitialized track pointers
2013-04-16 10:40:16 -04:00
Matthew Hoops
1d778360fe
VIDEO: Fix potential memory leak when adding a stream file track
2013-04-15 18:35:11 -04:00
Matthew Hoops
ef098e2898
VIDEO: Fix potential memory leak when buffering a QuickTime frame
2013-04-15 18:33:54 -04:00
Sven Hesse
fad5cf7243
VIDEO: Fix a typo (minus vs. plus) in the VMD decoder
2013-04-13 15:22:06 +02:00
Torbjörn Andersson
21ed47ce13
VIDEO: Fix Smacker crash, as per madmoose's suggestion
...
Apparently, in some movies the Smacker decoder would peek ahead
past the end of the bitstream, even though it didn't necessarily
use all of those bits later. Fix that by first checking how many
bits are still available. (This was originally reported for the
mg1shoot.smk cutscene in the 4 CD version of The Feeble Files.)
2013-02-18 20:12:35 +01:00
Johannes Schickel
59dde54519
Merge pull request #301 from lordhoto/c++11-playground
...
RFC: Allow use of override and nullptr. Also allow C++11 compilation.
2013-01-26 05:25:14 -08:00
Filippos Karapetis
866961bde9
VIDEO: Hook some more of our ADPCM decoder variants to our AVI video decoder
...
Information for the AVI audio track format IDs has been taken from libav.
Thanks to clone2727 for his great help on this.
2013-01-26 03:43:15 +02:00
Einar Johan Trøan Sømåen
5d4d65d6d9
JANITORIAL: Fix ){ -> ) {
2013-01-24 20:15:13 +01:00
Johannes Schickel
0e3f8d68c4
VIDEO: Silence C++11 narrowing warnings.
2013-01-09 07:24:37 +01:00
D G Turner
b65b196e56
VIDEO: Add support for missing copyFrame type in FLIC decoder.
...
Thanks to Tomaz^ for this patch.
2012-12-26 02:41:31 +00:00
Matthew Hoops
ce1268b73d
VIDEO: Allow for QuickTime movies to be played backwards
...
Still doesn't handle videos with multiple edits
2012-12-15 20:43:43 -05:00
Matthew Hoops
9ae56146bb
VIDEO: Add API changes to allow videos to be played backwards
2012-12-15 20:41:41 -05:00
clone2727
91317c3630
Merge pull request #293 from clone2727/qtmidi
...
Add support for QuickTime Music playback
2012-12-13 15:49:40 -08:00
Matthew Hoops
0bcd441405
VIDEO: Fix seeking when playing with a custom rate
2012-12-13 17:46:02 -05:00
Matthew Hoops
81ea69cd33
VIDEO: Fix setRate when _lastTimeChange is less than a frame
...
Thanks to bgK for noticing
2012-12-09 13:56:06 -05:00
Matthew Hoops
1f233be2e4
VIDEO: Add some documentation to Codec and its derivatives
2012-12-04 21:15:44 -05:00
Matthew Hoops
285e1be135
VIDEO: Improve performance of the Cinepak decoder
2012-12-04 20:19:00 -05:00
Matthew Hoops
3b581a3b68
VIDEO: Rework the way the next video track is selected
...
Fixes missing the last frame in some decoders
2012-12-02 22:15:11 -05:00
Einar Johan Trøan Sømåen
cf87fcba85
VIDEO: Include surface.h in bink_decoder.h
2012-11-27 01:54:59 +01:00
Matthew Hoops
121faeaa94
VIDEO: Add preliminary API functions for seeking to a frame
2012-11-26 17:44:36 -05:00
Matthew Hoops
db908fcdc4
VIDEO: Add support for playing videos at a modified speed
...
Currently this only works for positive (forward) playback, but will eventually work for negative (backward).
2012-11-24 01:03:36 -05:00
D G Turner
46027e5303
VIDEO: Fix SVQ1 videos to error out on B Frames.
2012-11-18 21:00:07 +00:00
D G Turner
d2c2c5ec01
VIDEO: Fix compiler warning in SVQ1 codec.
2012-11-18 20:52:47 +00:00
Matthew Hoops
51b2904cc1
VIDEO: Improve a Cinepak heuristic
...
Brings it inline with the FFmpeg/libav version again
2012-11-14 18:30:54 -05:00
Matthew Hoops
6a1fa88b56
VIDEO: Clarify some VideoDecoder documentation
2012-11-14 13:35:16 -05:00
Einar Johan Trøan Sømåen
880ac5d494
VIDEO: Mark Theora-decoder as used by Wintermute.
2012-10-23 21:48:47 +02:00
Matthew Hoops
64389c0643
VIDEO: Fix edits with scales not divisible by the media scale
...
QuickTime docs aren't completely clear on this, but from samples it's clear that the value needs to be rounded
2012-10-12 13:37:32 -04:00
Matthew Hoops
075d0b4812
VIDEO: Fix choosing of the correct edit when seeking
...
Previously it could be off-by-one
2012-10-12 13:36:23 -04:00
Johannes Schickel
89abab97e3
JANITORIAL: Remove trailing whitespaces.
...
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Matthew Hoops
64e1483102
VIDEO: Make sure track pause status is reset upon stop too
2012-09-23 21:04:40 -04:00
Matthew Hoops
48c70d872e
VIDEO: Fix pausing audio in videos
2012-09-22 15:03:15 -04:00
Willem Jan Palenstijn
23de059262
VIDEO: Make getCurFrame declaration consistent
...
The declaration used int32 while the definition used int.
This should fix building on AmigaOS4 (bug #3570577 ).
2012-09-21 22:35:15 +02:00
clone2727
2e4ee0b2d0
Merge pull request #275 from clone2727/pegasus
...
Pegasus engine (The Journeyman Project: Pegasus Prime)
2012-09-20 13:17:39 -07:00
Matthew Hoops
173dace75b
VIDEO: Fix SVQ1 color on right/bottom borders
2012-09-19 15:58:18 -04:00
Matthew Hoops
8b46b64ad4
VIDEO: Fix getTime() after a stop() call
2012-09-19 00:36:03 -04:00
Matthew Hoops
09269fce8c
GRAPHICS: Implement different luminance ranges
...
Bink and Theora are now much improved
2012-09-18 16:50:01 -04:00
Matthew Hoops
893a2b37ff
GRAPHICS: Rework YUV->RGB code a bit
2012-09-17 19:30:46 -04:00
Torbjörn Andersson
dc207979b3
VIDEO: Indent with tab, not spaces.
2012-09-16 09:37:46 +02:00
Matthew Hoops
d5ed8b1901
Merge remote branch 'upstream/master' into pegasus
...
Conflicts:
AUTHORS
2012-09-12 20:18:13 -04:00
Matthew Hoops
8808393b3a
VIDEO: Do not close/rewind videos after a stop()
...
It makes more sense to do this more like a hard "pause" and let the caller stop()/rewind() if they want
2012-09-11 17:38:33 -04:00
Matthew Hoops
4a458236f6
COMMON: Make QuickTimeParser::readSampleDesc take the desc size
2012-09-09 13:47:40 -04:00
Einar Johan Trøan Sømåen
d6be917808
VIDEO: Add support for odd-sized Bink-videos
2012-09-07 16:29:00 +02:00
Matthew Hoops
f35e820e9f
Merge remote branch 'upstream/master' into pegasus
2012-09-05 11:45:25 -04:00
Matthew Hoops
058b9b9aca
VIDEO: Restrict setEndTime()'s affects to videos that are playing
2012-09-05 11:27:01 -04:00
Bertrand Augereau
341c3abad5
VIDEO: Constified a temporary
2012-09-01 18:57:29 +02:00
Matthew Hoops
2f9b1b67b0
ALL: Mark off some things as used by Pegasus
2012-08-31 22:26:02 -04:00
Matthew Hoops
ddffd74094
VIDEO: Improve setEndTime()
...
endOfVideo() and needsUpdate() are now more accurate
2012-08-31 21:47:52 -04:00
Matthew Hoops
4b05031042
Revert "VIDEO: Rework SVQ1 codebooks so they're endian-safe"
...
This reverts commit 1ca81ee6ec
.
I was wrong about them not being endian-safe before. Don't stone me.
Conflicts:
video/codecs/svq1.cpp
2012-08-27 13:25:28 -04:00
Matthew Hoops
6f105e6230
VIDEO: Fix "empty" AVI frames
2012-08-27 11:10:05 -04:00
Matthew Hoops
3e2ff0a443
VIDEO: Fix compilation with some compilers
2012-08-26 20:30:32 -04:00
Matthew Hoops
6f9d84665f
COMMON: Add MKTAG16 for 16-bit multi-character constants
2012-08-26 12:38:35 -04:00
Matthew Hoops
c7222ed5a4
VIDEO: Remove obsolete FIXME in the FLIC code
2012-08-25 12:30:28 -04:00
Matthew Hoops
dcdb40f79e
VIDEO: Adjust start time after calling rewind() in start()
...
This wasn't an actual bug, but it makes more sense this way
2012-08-23 23:11:09 -04:00
Matthew Hoops
829c836e0b
VIDEO: Update the isPlaying() comment
2012-08-23 22:45:48 -04:00
Matthew Hoops
6c155b6b36
VIDEO: Implement rewinding Smacker audio tracks
2012-08-20 17:06:58 -04:00
Matthew Hoops
e24fd2ffe6
VIDEO: Cleanup VideoDecoder a bit
...
Functions and their comments now line up better
2012-08-16 22:49:22 -04:00
Matthew Hoops
18823198ad
VIDEO: Merge AdvancedVideoDecoder into VideoDecoder
2012-08-16 14:00:14 -04:00
Matthew Hoops
7569ec7dc0
VIDEO: Rename setStopTime() to setEndTime()
...
To better differentiate with stop()
2012-08-16 13:34:28 -04:00
Matthew Hoops
fb35c7f46f
VIDEO: Remove setSystemPalette()
2012-08-16 13:30:32 -04:00
Matthew Hoops
9e7f0e4753
VIDEO: Begin removing some of the deprecated functions from VideoDecoder
2012-08-16 12:27:05 -04:00
Matthew Hoops
7294a1cbcf
VIDEO: Remove the Coktel video code from using the VideoDecoder API
...
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-08-16 12:17:23 -04:00
Matthew Hoops
92432a136b
VIDEO: Convert TheoraDecoder to the new AdvancedVideoDecoder API
2012-08-13 16:25:03 -04:00
Matthew Hoops
7831225b28
VIDEO: Move TheoraDecoder to video/
2012-08-12 08:58:00 -04:00
Matthew Hoops
5db42076b8
VIDEO: Convert FlicDecoder to the new AdvancedVideoDecoder API
...
The video no longer automatically loops (unused in-tree) and must have rewind() called manually
2012-08-12 08:43:32 -04:00
Matthew Hoops
48c591a233
VIDEO: Don't allow adding external stream files to unopened videos
2012-08-12 08:33:45 -04:00
Matthew Hoops
a458b91e7e
VIDEO: Add set/getStopTime functions to AdvancedVideoDecoder
...
A video can now be stopped at a requested time
2012-08-12 00:09:23 -04:00
Matthew Hoops
220ca52f43
VIDEO: Fix getTime() when a video is not playing
2012-08-07 14:24:32 -04:00
Matthew Hoops
dd10e7191e
VIDEO: Move Track's start()/stop() functions to AudioTrack
2012-07-29 12:38:51 -04:00
Matthew Hoops
9cca8ac9f2
VIDEO: Remove now unused Rewindable and Seekable classes
2012-07-27 11:47:49 -04:00
Matthew Hoops
991710d0a1
VIDEO: Adapt QuickTimeDecoder to the AdvancedVideoDecoder API
2012-07-27 11:32:51 -04:00
Matthew Hoops
21d3fa71af
VIDEO: Add functions for getting TrackList iterators internally
2012-07-27 11:14:46 -04:00
Matthew Hoops
90b72e31e4
VIDEO: Cleanup AdvancedVideoDecoder
2012-07-27 11:01:42 -04:00
Matthew Hoops
a364ef8f0f
VIDEO: Remove Track::getStartTime()
...
That should be handled internally instead
2012-07-27 11:01:21 -04:00
Matthew Hoops
1f67c9dbbe
VIDEO: Reset pause time when seeking/rewinding
2012-07-26 23:45:05 -04:00
Matthew Hoops
df5d6f7d08
VIDEO: Force an update after a seek
2012-07-26 23:42:35 -04:00
Matthew Hoops
84462fa088
VIDEO: Document more of AdvancedVideoDecoder
2012-07-26 23:36:21 -04:00
Matthew Hoops
2eeee33bd8
VIDEO: Move findNextVideoTrack() to protected
2012-07-26 23:24:54 -04:00
Matthew Hoops
af6e98ba01
VIDEO: Ignore finished video tracks in findNextVideoTrack()
2012-07-26 23:20:25 -04:00
Matthew Hoops
57a06e383b
VIDEO: Convert Bink to the new AdvancedVideoDecoder API
2012-07-25 11:22:28 -04:00
Matthew Hoops
c0cece8d13
VIDEO: Add functions for default high color PixelFormat
...
To be used by video that converts from YUV to RGB
2012-07-25 11:19:36 -04:00
Matthew Hoops
714c6ae119
VIDEO: Add internal helper function for checking on video track end status
2012-07-25 00:44:22 -04:00
Matthew Hoops
09f1519d6d
VIDEO: Stop and restart tracks when seeking/rewinding
2012-07-25 00:39:21 -04:00
Matthew Hoops
3117e4a8ff
VIDEO: Convert DXADecoder to the AdvancedVideoDecoder API
2012-07-24 13:24:01 -04:00
Matthew Hoops
84e0b3a167
VIDEO: Add helper functions to easily add an external audio track
2012-07-24 13:23:45 -04:00
Matthew Hoops
a652f6669e
VIDEO: Rewrite SmackerDecoder to use the new API
2012-07-23 21:04:51 -04:00
Matthew Hoops
3a780a63db
VIDEO: Set _startTime when rewinding and seeking
2012-07-23 21:03:49 -04:00
Matthew Hoops
0f0c6f9354
VIDEO: Rewrite the AVI code to use AdvancedVideoDecoder
...
In addition to using the new API, it should theoretically support multiple audio and video tracks now but that has not been tested.
2012-07-22 14:13:20 -04:00
Matthew Hoops
7654b20362
VIDEO: Merge the three Fixed* VideoTrack classes
...
Avoids diamond inheritance, which makes it impossible to downcast without rtti
2012-07-22 14:11:11 -04:00
Matthew Hoops
29541dc5f4
VIDEO: Hold tracks in an Array instead of a List
...
Decoders such as AVI will need to access them by index
2012-07-22 12:17:54 -04:00
Matthew Hoops
9bf17934d3
VIDEO: Take audio start time into account when syncing to audio
2012-07-22 00:58:38 -04:00
Matthew Hoops
4c9c22b374
VIDEO: Make seek/rewind functions in AdvancedVideoDecoder virtual
...
This is to allow for seeking in videos where not everything is indexed
2012-07-22 00:39:10 -04:00
Matthew Hoops
067e02e90b
VIDEO: Add StreamFileAudioTrack wrapper
2012-07-21 17:52:16 -04:00
Matthew Hoops
144b9ce918
VIDEO: Don't try to sync video off of finished audio tracks
2012-07-21 17:38:24 -04:00
Matthew Hoops
24c97b8913
VIDEO: Move PSXStreamDecoder to the new VideoDecoder API
2012-07-21 17:31:00 -04:00
Matthew Hoops
5cdb0f71a4
VIDEO: Fix AudioTrack::endOfTrack()
2012-07-21 17:30:43 -04:00
Matthew Hoops
fc1163ac28
VIDEO: Allow for disabling of automatic audio sync in AdvancedVideoDecoder
2012-07-21 17:30:06 -04:00
Matthew Hoops
1d565a2661
VIDEO: Fix volume/balance settings in AdvancedVideoDecoder
2012-07-21 17:11:09 -04:00
Matthew Hoops
c3cc3620c0
VIDEO: When adding tracks, keep them in sync with the main video status
2012-07-21 14:50:10 -04:00
Matthew Hoops
10341d2b57
VIDEO: Add getDuration() and getStartTime() functions to Track
...
The AdvancedVideoDecoder::getDuration() function now attempts to calculate duration based on the longest track.
2012-07-21 14:39:03 -04:00
Matthew Hoops
fb1edcd4fe
VIDEO: Add getWidth()/getHeight()/getPixelFormat() functions to VideoTrack
...
The default implementations of those functions in AdvancedVideoDecoder now call into them.
2012-07-21 12:40:16 -04:00
Matthew Hoops
818c16bdd0
VIDEO: Add first draft of the new VideoDecoder API
...
It is currently named "AdvancedVideoDecoder" until all current VideoDecoders are converted to the new API.
2012-07-20 20:51:42 -04:00
Matthew Hoops
2a1193a6b1
VIDEO: Make rpza decode to its own pixel format
2012-06-12 09:34:24 -04:00
Matthew Hoops
e16ad39e53
VIDEO: Cleanup QTRLE
...
In particular, the colors are not converted to the screen format upon decoding. The code should also now work with 32bpp screen formats.
2012-06-11 23:16:30 -04:00
Sven Hesse
8c3d2fc741
GOB: Add a way to reopen currently opened IMD/VMD videos
...
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-06-07 00:29:46 +02:00
Matthew Hoops
10f7e805c2
VIDEO: Add volume/balance control to VideoDecoder
2012-05-28 14:00:16 -04:00
Matthew Hoops
0aacf4c4c0
VIDEO: Make seekToTime() take a const Timestamp reference
2012-05-12 22:05:32 -04:00
Matthew Hoops
9e330174c8
VIDEO: Change getElapsedTime() into getTime()
...
This name change accompanies a slight meaning change; now it means the current time position from the beginning of the video and not from starting the video.
2012-05-12 21:28:13 -04:00
Matthew Hoops
0f6059580e
VIDEO: Update seekToTime() comments to require subframe accuracy now
2012-05-12 21:16:03 -04:00
Matthew Hoops
19d634389d
VIDEO: Create the QuickTime scaled surface after reading in a frame
...
Fixes issues where the codec hasn't been initialized
2012-04-15 16:00:01 -04:00
Matthew Hoops
473a09786d
GRAPHICS: Make YUV410 conversion code use bilinear interpolation
...
SVQ1 no longer looks blocky and now looks a lot closer to what QuickTime outputs
2012-04-14 17:06:31 -04:00
Ori Avtalion
870ab35f5b
VIDEO: Change 'class' to 'struct' to match declaration
2012-04-14 15:32:26 +03:00
Sven Hesse
7eef26268c
VIDEO: Fix SMK 16bit audio on BE systems
2012-04-13 04:29:26 +02:00
Matthew Hoops
744528cb18
VIDEO: Clean up the SVQ1 code
2012-04-08 03:29:56 +01:00
D G Turner
7b6c4bb8e1
VIDEO: Minor update to SVQ1 decoder, reversing sense of return flags.
...
This changes the decoder function return flag meaning from "result
error" to "resultValid". This makes it more consistent with normal
C standard of returning 0 on success.
2012-04-08 03:29:50 +01:00
Matthew Hoops
8bf8a08048
VIDEO: Fix SVQ1 plane pitch
...
All the Myst intro videos now decode correctly
2012-04-08 03:29:48 +01:00
D G Turner
95d7c012d6
VIDEO: Minor updates to SVQ1 decoder, mainly return flags to bool.
...
Since the returned int values from the decoding functions are just
0 for good or -1 for error, have changed these into an errorFlag
bool. This improves readability and cleans up some of the error
checking code. In addition, have fixed some oversights in formatting
spacing for readability.
2012-04-08 03:29:45 +01:00
D G Turner
c917db0754
VIDEO: Change SVQ1 decoder to skip rather than decode embedded string.
...
This string field is not used and this avoids having to include a
xor table.
2012-04-08 03:29:42 +01:00
Matthew Hoops
b0646529d1
VIDEO: Fix segfaults on different sized SVQ1 frames
2012-04-08 03:29:40 +01:00
Matthew Hoops
7e05107256
VIDEO: Fix endian issue with SVQ1
2012-04-08 03:29:37 +01:00
D G Turner
2043403207
VIDEO: Add Missing Half-Pel Motion Compensation Code to SVQ1 Codec.
...
Graphics output is now _almost_ correct.
2012-04-08 03:29:35 +01:00
Matthew Hoops
1ca81ee6ec
VIDEO: Rework SVQ1 codebooks so they're endian-safe
2012-04-08 03:29:32 +01:00