Commit Graph

49 Commits

Author SHA1 Message Date
Filippos Karapetis
ec38b77b00 Changed the bitstream buffer used to initialize the big Huffman trees to be a normal byte array, instead of a Common::Array
svn-id: r41356
2009-06-07 22:34:03 +00:00
Filippos Karapetis
6dd009c153 Formatting
svn-id: r41354
2009-06-07 22:17:44 +00:00
Filippos Karapetis
0c5dd48395 Applied madmoose's patch from bug report #2794216 - "Loading large Smacker movies is slow"
svn-id: r41353
2009-06-07 22:15:28 +00:00
Filippos Karapetis
5e94e688e9 Reserve some space in the Huffman tree arrays before starting to decode the Huffman trees. Hopefully, this will speed up the tree constructing phase somewhat
svn-id: r40900
2009-05-26 07:25:12 +00:00
Johannes Schickel
b3c6751b9b Strip trailing whitespaces in the whole code base.
svn-id: r40867
2009-05-24 15:17:42 +00:00
Johannes Schickel
6e93825b2e Move Indeo3 static data from indeo3data.h to indeo3.cpp.
svn-id: r40762
2009-05-21 13:38:52 +00:00
Torbjörn Andersson
2e04f52638 I'm no longer sure I've really seen case 12 happen, so don't mention it.
svn-id: r40761
2009-05-21 13:28:32 +00:00
Filippos Karapetis
b7f8990ba8 Renamed the DXA, SMK and FLIC video decoders to reflect the fact that they're decoders, not players
svn-id: r40759
2009-05-21 13:02:56 +00:00
Filippos Karapetis
11251cf296 Moved the Coktel video player into its own subdirectory
svn-id: r40755
2009-05-21 10:48:03 +00:00
Torbjörn Andersson
50b77d876d Added comment and warning message about possibly missing cases.
svn-id: r40752
2009-05-21 09:58:12 +00:00
Torbjörn Andersson
f3f0be30fd Fixed indentation. (Don't worry, it's just a small change, and it matches the
original FFmpeg code, as far as I can tell.)

svn-id: r40749
2009-05-21 07:23:48 +00:00
Sven Hesse
43f58b2869 Moving CoktelVideo (IMD/VMD) and the Indeo3 code (needed for Urban Runner's VMDs) to graphics/video/
svn-id: r40744
2009-05-20 20:41:10 +00:00
Filippos Karapetis
6ec870303f - Reverted commit #40730, as it introduced rounding errors
- Properly fixed the FLIC player
- The sound chunk tag of DXA files is now read by the DXADecoder's loadFile() method

svn-id: r40736
2009-05-20 10:43:18 +00:00
Filippos Karapetis
e358b13ef9 Changed calculations based on frame delay to be based on the scale of 1ms, not 1/100. This fixes the FLIC player and also makes the overall code a bit clearer and easier to understand
svn-id: r40730
2009-05-19 19:56:53 +00:00
Filippos Karapetis
4f6bc50615 Some fixes to the video decoders, thanks to salty-horse's comments
svn-id: r40729
2009-05-19 17:39:03 +00:00
Torbjörn Andersson
da9b2868e0 The 'frameSize' variable isn't used at the moment.
svn-id: r40640
2009-05-17 08:57:35 +00:00
Filippos Karapetis
6f0b6b5aed Changed the FLIC player to the common VideoDecoder interface. Note that currently the double animation in Bud Tucker's intro credits is broken, as the second background animation is not played
svn-id: r40638
2009-05-17 08:44:20 +00:00
Travis Howell
bce47e7eb6 Add initial support for DOS non-interactive demos of The Feeble Files.
svn-id: r40619
2009-05-16 05:34:16 +00:00
Max Horn
e080a59337 Renamed SMKPlayer -> SmackerDecoder and DXAPlayer -> DXADecoder, as well as some other tweaks
svn-id: r39255
2009-03-09 03:45:23 +00:00
Eugene Sandulenko
ef1e3ebc3c Patch #2658710: "Add comments to specify which engines use which decoders"
svn-id: r39236
2009-03-08 15:57:59 +00:00
Johannes Schickel
5417f6bacb - Replace OSystem::clearScreen with OSystem::fillScreen as discussed on -devel.
- Update BaseBackend and DC port to properly implement OSystem::fillScreen (now only PalmOS has to be updated).
- Update all client code which relied on OSystem::clearScreen so far.

svn-id: r38304
2009-02-15 21:20:21 +00:00
Filippos Karapetis
781d7da6b1 Applied my patch for the BS1/2 video player
- Support for the MPEG2 videos in BS1/2 has been dropped. The MPEG2 videos were lossy, and support for them complicated the code a lot.
- Support for the non-existing enhanced MPEG cutscene packs for BS1 has been dropped. As a consequence, the credits player and the splitted audio stream players used for these packs has been removed
- The original Smacker videos for both games are now supported, using our Smacker player (which is based off publically available specs and FFMPEG)
- The animations now use the common video player code. Both the Smacker videos and our DXA video packs are supported

svn-id: r38236
2009-02-15 13:29:48 +00:00
Max Horn
341bc64aaf do not include common/debug.h from common/util.h
svn-id: r36143
2009-01-30 05:25:17 +00:00
Max Horn
ac59693be2 A ton of code formatting fixes; also fixed warnings about single line loops like 'while(cond);' by inserting newlines
svn-id: r36127
2009-01-29 05:26:12 +00:00
Gregory Montoir
7f594fa21d TUCKER: modified flic playback to make use of dirtyrects
svn-id: r36060
2009-01-25 12:10:06 +00:00
Max Horn
14c5bbbccf Renamed Archive::openFile to createReadStreamForMember
svn-id: r36021
2009-01-23 04:45:44 +00:00
Max Horn
0034aa3b9c Got rid of several occurrences of gBitFormat
svn-id: r35995
2009-01-22 04:59:09 +00:00
Max Horn
abc06ca18e Moved Graphics::PixelFormat into its own header file; turned RGBToColor etc. into methods, and added an operator==
svn-id: r35993
2009-01-22 04:35:10 +00:00
Filippos Karapetis
b107b7db47 Stop recalculating the x and y coordinates for every frame in playVideo()
svn-id: r35819
2009-01-11 04:41:22 +00:00
Filippos Karapetis
f997ea3c6e Oops... *really* fixed compilation
svn-id: r35818
2009-01-11 04:23:57 +00:00
Filippos Karapetis
ffa104da85 Fixed compilation
svn-id: r35817
2009-01-11 04:20:59 +00:00
Filippos Karapetis
0b4dd7c459 Committed a modified version of wjp's patch for the video player:
- Split the video player from the video decoders. It's now possible to have one video player for multiple decoders
- Added the palette weight calculation from the BS1 engine into VideoPlayer::setPalette. It's now possible to find the values of the white and black colors via getWhite() and getBlack() (useful for subtitle overlays)
- Adapted FTA2's movie playing code to the new changes to video player
- Fixed a slight bug in the DXA decoder (_videoinfo.startTime was not initialized)

svn-id: r35816
2009-01-11 03:34:50 +00:00
Max Horn
900f328c81 Reduced header deps
svn-id: r35781
2009-01-07 23:36:41 +00:00
Filippos Karapetis
9752501a07 videoIsLoaded() -> isVideoLoaded()
svn-id: r35777
2009-01-07 22:06:15 +00:00
Filippos Karapetis
2e1fa58cf8 Clear the screen to black before showing a video with playVideo() (it's meant to play full screen videos)
svn-id: r35776
2009-01-07 21:57:05 +00:00
Filippos Karapetis
272a9d06a8 Initialize DXA buffers to 0 when they're allocated
svn-id: r35775
2009-01-07 21:45:21 +00:00
Filippos Karapetis
88a9a5a6ca Move videoPalette inside setPalette(), as it's only used there
svn-id: r35774
2009-01-07 21:43:54 +00:00
Filippos Karapetis
2772a7aaf1 Further merging of the SMK and DXA players (the FLIC player is not done yet):
- Added a new class, VideoPlayer(), from which both the SMK and the DXA player inherit. This class provides generic functions and public methods for the inherited video classes. Default implementations have been made for these public methods, and the virtual ones can be overriden in inherited classes
- There is now a default implementation of the function that sets the video palette
- A basic video player for inherited classes has been added with method playVideo(). This is able to play a fullscreen non-interactive video, which can be skipped with events set by the caller. Postprocessing methods, which draw upon each frame (e.g. subtitles) can be done by implementing performPostProcessing()
- The FTA2 movie player now uses the new playVideo() method
- The new video player code is compatible with the old one (i.e. no changes to the existing engine code are necessary), but it's now possible to reduce engine code for video playing considerably

svn-id: r35772
2009-01-07 21:19:00 +00:00
Filippos Karapetis
a930f40272 An attempt to unify the different video players (FLIC player is not finished yet) - step 1
svn-id: r35757
2009-01-06 17:44:41 +00:00
Filippos Karapetis
c528f888d0 Specify that implementations of setPalette() should use an RGB palette
svn-id: r35755
2009-01-06 16:10:04 +00:00
Filippos Karapetis
70ab22e9f2 Added a copyFrameToBuffer() method to the FLIC player too, like in the other players
svn-id: r35742
2009-01-05 17:05:50 +00:00
Filippos Karapetis
7f9ea7e35c Added Doxygen-like comments to the FLIC player, and changed it a bit to have similar method names as the DXA and Smacker players. Also, removed the convenience method hasFrames(), as it's the same as getFrameCount() > 0
svn-id: r35741
2009-01-05 15:10:13 +00:00
Filippos Karapetis
dc661e62a9 Removed unused reference to OSystem
svn-id: r35740
2009-01-05 15:05:12 +00:00
Sven Hesse
0430bb9b3a Proper lag calculation even if the SMK has no audio
svn-id: r35698
2009-01-03 13:31:23 +00:00
Sven Hesse
a4a209a2f6 Initializing the lookahead values, too. No more valgrind warnings anymore :)
svn-id: r35581
2008-12-27 19:37:49 +00:00
Sven Hesse
2b37e183dc Fixing the invalid read (BitStream having a 2 byte lookahead and all :P)
svn-id: r35579
2008-12-27 18:57:36 +00:00
Filippos Karapetis
db1a4b4789 The BitStream class has a 2 byte lookahead. Hopefully, this will fix the invalid reads in the audio stream
svn-id: r35577
2008-12-27 18:01:19 +00:00
Jordi Vilalta Prat
b1999a2a16 Fixed indentation and removed whitespaces at the end of line
svn-id: r35481
2008-12-22 11:22:15 +00:00
Eugene Sandulenko
829cbc4110 Move all video players to separate directory
svn-id: r35470
2008-12-21 21:08:17 +00:00