201 Commits

Author SHA1 Message Date
Willem Jan Palenstijn
8f1143bfdc COMMON: Remove Rational::operator int/double
This prevents accidental implicit rounding
and might also fix compilation on AmigaOS4 (bug #3060981).

svn-id: r52616
2010-09-07 09:02:46 +00:00
Matthew Hoops
c78a63460b VIDEO: Skip multiple tags in a QuickTime stsd entry
Fixes crashes when playing two videos in Riven DVD (card 262). Note that the videos still don't display properly because of a bug in QTRLE 16bpp. For the record, FFmpeg doesn't handle this properly either.

svn-id: r52603
2010-09-06 18:15:51 +00:00
Matthew Hoops
c54a97005f VIDEO: Apply patch #3057924 with some changes
Patch #3057924 is "QuickTimeDecoder: Scaling x and y separately". Thanks to kreegee for the patch and fuzzie for fixing a couple bugs with it.

svn-id: r52594
2010-09-06 15:15:59 +00:00
Torbjörn Andersson
9324a80d93 JANITORIAL: Remove extra semi-colons.
svn-id: r52489
2010-09-02 05:12:07 +00:00
Sven Hesse
4d15e5f31c VIDEO: Change decodeImage() around a bit, plug a leak
Indeo3Decoder::decoderImage() was leaking inData

svn-id: r52408
2010-08-27 10:45:19 +00:00
Torbjörn Andersson
b8b4b42577 LEGAL: Add COPYING.BSD file
Reword the disclaimer at the top of COPYING.LGPL, as it sounds a bit
awkward to me.

Move the BSD-like license to the top of mpeg_player.cpp (it still
points out that only parts of the file are under that license) because
that's where COPYING.BSD tells the reader to look.

svn-id: r51939
2010-08-09 14:31:59 +00:00
Sven Hesse
27f6e7106d VIDEO: That should fix compilation with MSVC
svn-id: r51931
2010-08-08 17:51:50 +00:00
Matthew Hoops
27c79d51d4 VIDEO: Cinepak cleanup
svn-id: r51928
2010-08-08 03:33:44 +00:00
Sven Hesse
5f8947c21d VIDEO: Use tag2str
svn-id: r51927
2010-08-08 02:56:11 +00:00
Sven Hesse
3016de7197 VIDEO: Fixing typos ("Unknow" -> "Unknown")
svn-id: r51926
2010-08-08 02:55:45 +00:00
Sven Hesse
609dc65df6 VIDEO: Remove the now obsolete CoktelVideo classes
svn-id: r51924
2010-08-08 01:09:45 +00:00
Sven Hesse
1151676d82 VIDEO: Use proper palettes in CoktelDecoder
Not just the 6 bits per color component used in VGA

svn-id: r51921
2010-08-08 01:08:17 +00:00
Sven Hesse
8186214bc9 VIDEO: Set _paletteDirty in VMDDecoder::load() when there is an initial palette
svn-id: r51920
2010-08-08 01:07:45 +00:00
Sven Hesse
dc3a417699 VIDEO: Change the mixer parameter from a reference to a pointer
To match the other VideoDecoder classes with sound support.

svn-id: r51919
2010-08-08 01:07:17 +00:00
Sven Hesse
4133ef90bc VIDEO: Make CoktelDecoder::getFrameCoords() virtual
Like it should have been in the first place...
Fixes Woodruff slot-VMD positions.

svn-id: r51917
2010-08-08 01:06:15 +00:00
Sven Hesse
0be37b6b28 VIDEO: Implement VMD subtitles
svn-id: r51915
2010-08-08 01:05:16 +00:00
Sven Hesse
af96a0fa3b VIDEO: Implement VMDDecoder::setXY()
svn-id: r51912
2010-08-08 01:03:50 +00:00
Sven Hesse
945103a43c VIDEO/GOB: Implement and use CoktelDecoder::getFrameCoords()
svn-id: r51909
2010-08-08 01:02:19 +00:00
Sven Hesse
eed41aa223 VIDEO: Fix a failed assertion in VMDDecoder::readFiles()
svn-id: r51908
2010-08-08 01:01:45 +00:00
Sven Hesse
6d03ddef0b VIDEO: Implement CoktelDecoder::renderBlockRLE()
svn-id: r51907
2010-08-08 01:01:17 +00:00
Sven Hesse
b2aba5970e VIDEO: Fix VMD seeking
svn-id: r51906
2010-08-08 01:00:53 +00:00
Sven Hesse
b796c39645 VIDEO: Implement VMD frame rendering
svn-id: r51905
2010-08-08 01:00:23 +00:00
Sven Hesse
506c1e7d85 VIDEO: Change the CoktelDecoder::renderBlock*'s signatures
Change CoktelDecoder::renderBlock*() and IMDDecoder::renderFrame()
to receive a Common::Rect instead of mucking about with _dirtyRects.

svn-id: r51904
2010-08-08 00:59:58 +00:00
Sven Hesse
6d31b17685 VIDEO: Implement VMD sound
svn-id: r51903
2010-08-08 00:59:28 +00:00
Sven Hesse
0886f7e33c VIDEO: Implement VMD frame decoding
svn-id: r51902
2010-08-08 00:58:59 +00:00
Sven Hesse
74bec1696b VIDEO: Implement VMDDecoder::seek()
svn-id: r51901
2010-08-08 00:58:29 +00:00
Sven Hesse
f447ddb36a VIDEO: Fix compilation after the VideoDecoder::load signature change in r51725
svn-id: r51900
2010-08-08 00:58:00 +00:00
Sven Hesse
b13afba053 VIDEO: Implement embedded file handling for VMDs
svn-id: r51899
2010-08-08 00:57:27 +00:00
Sven Hesse
41f5d78128 VIDEO: Implement VMD loading
svn-id: r51898
2010-08-08 00:56:58 +00:00
Sven Hesse
d081c2e20f VIDEO: Move the frame calculation out of seek()
svn-id: r51897
2010-08-08 00:56:29 +00:00
Sven Hesse
1f63009426 VIDEO/GOB: Stubb VMDDecoder
svn-id: r51896
2010-08-08 00:56:04 +00:00
Sven Hesse
3c5e02900f VIDEO: Add getSurface
svn-id: r51892
2010-08-08 00:53:55 +00:00
Sven Hesse
6ebec969c5 VIDEO: Fix deLZ77'ing video data directly onto the video surface
svn-id: r51890
2010-08-08 00:52:59 +00:00
Sven Hesse
a57e53c986 VIDEO: Add some comments, fix a style issue
svn-id: r51888
2010-08-08 00:52:30 +00:00
Sven Hesse
66aeee8ddc VIDEO: Don't crash when sound is disabled :P
svn-id: r51886
2010-08-08 00:51:33 +00:00
Sven Hesse
0cf837c1af VIDEO: renderBlockWhole2Y still works
svn-id: r51884
2010-08-08 00:50:35 +00:00
Sven Hesse
d1d772367b VIDEO: Fix another IMD seek issue
svn-id: r51881
2010-08-08 00:49:15 +00:00
Sven Hesse
53b67deaf0 VIDEO: Fix another IMD seek issue
svn-id: r51877
2010-08-08 00:47:25 +00:00
Sven Hesse
737ef02707 VIDEO/GOB: Stub hasEmbeddedFile / getEmbeddedFile
Stubbing CoktelDecoder::hasEmbeddedFile() and
CoktelDecoder::getEmbeddedFile(), formerly hasExtraData/getExtraData.

svn-id: r51875
2010-08-08 00:46:34 +00:00
Sven Hesse
933ffcaa60 VIDEO: Make getFrameRate() protected again
svn-id: r51874
2010-08-08 00:45:58 +00:00
Sven Hesse
2296aad042 VIDEO/GOB: Fix IMD playing
Fix IMD playing for some fringe cases, especially when seeking
beforehand.

svn-id: r51871
2010-08-08 00:44:33 +00:00
Sven Hesse
2bcc02a27a VIDEO/GOB: Fixing the frame rate for mult'd videos.
In the gob engine, some videos are opened, and then played, at
a later time, one frame at a time. In this case, we need to
emulate the original's video player's behaviour, not calculating
any "lag" for videos without sound.

svn-id: r51870
2010-08-08 00:44:05 +00:00
Sven Hesse
fecbdf60a9 VIDEO/GOB: Implement IMD frame rendering
svn-id: r51867
2010-08-08 00:42:59 +00:00
Sven Hesse
6172fe8ea7 VIDEO/GOB: Implement IMD frame decoding
Rendering the frame video data is still stubbed out.

svn-id: r51866
2010-08-08 00:42:30 +00:00
Sven Hesse
f19be90c37 VIDEO/GOB: Implement IMD loading
svn-id: r51865
2010-08-08 00:41:56 +00:00
Sven Hesse
dcf8298a75 VIDEO: Stub IMDDecoder
svn-id: r51862
2010-08-08 00:40:24 +00:00
Sven Hesse
aa113e5ab3 VIDEO: Add CoktelDecoder::setFrameRate().
Allows client code to overwrite the video's frame rate.

svn-id: r51860
2010-08-08 00:39:32 +00:00
Sven Hesse
f7363fdb10 VIDEO/GOB: Add CoktelDecoder::getDirtyRects()
This allows for the client code to only update the parts of the
video frames that actually changed.

svn-id: r51859
2010-08-08 00:39:03 +00:00
Sven Hesse
12c9e895b5 VIDEO/GOB: Add CoktelDecoder::setXY()
This allows for positioning the video within the video memory.

svn-id: r51858
2010-08-08 00:38:26 +00:00
Sven Hesse
9255d2e217 VIDEO/GOB: Add setSurfaceMemory() to CoktelDecoder
This allows the video player to directly draw onto its own video
memory without having to blit each frame another time.
Will also be needed for proper handling of transparency in Woodruff.

svn-id: r51857
2010-08-08 00:37:52 +00:00