aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/video
diff options
context:
space:
mode:
authorMatthew Hoops2012-07-21 12:40:16 -0400
committerMatthew Hoops2012-07-21 12:40:16 -0400
commitfb1edcd4fef7fd750b4af18745ca7b3151b56aae (patch)
tree3a069218374ee0deec5ade66b1b90da55feb83b9 /engines/sci/video
parenta12b3ea2dde9db348424f401a35fca3167120011 (diff)
downloadscummvm-rg350-fb1edcd4fef7fd750b4af18745ca7b3151b56aae.tar.gz
scummvm-rg350-fb1edcd4fef7fd750b4af18745ca7b3151b56aae.tar.bz2
scummvm-rg350-fb1edcd4fef7fd750b4af18745ca7b3151b56aae.zip
VIDEO: Add getWidth()/getHeight()/getPixelFormat() functions to VideoTrack
The default implementations of those functions in AdvancedVideoDecoder now call into them.
Diffstat (limited to 'engines/sci/video')
-rw-r--r--engines/sci/video/seq_decoder.h17
1 files changed, 8 insertions, 9 deletions
diff --git a/engines/sci/video/seq_decoder.h b/engines/sci/video/seq_decoder.h
index c07bcd748b..ac801d3f19 100644
--- a/engines/sci/video/seq_decoder.h
+++ b/engines/sci/video/seq_decoder.h
@@ -47,21 +47,15 @@ public:
bool loadStream(Common::SeekableReadStream *stream);
- uint16 getWidth() const { return SEQ_SCREEN_WIDTH; }
- uint16 getHeight() const { return SEQ_SCREEN_HEIGHT; }
- Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); }
-
private:
- enum {
- SEQ_SCREEN_WIDTH = 320,
- SEQ_SCREEN_HEIGHT = 200
- };
-
class SEQVideoTrack : public FixedRateVideoTrack, public FixedLengthVideoTrack {
public:
SEQVideoTrack(Common::SeekableReadStream *stream, uint frameDelay);
~SEQVideoTrack();
+ uint16 getWidth() const { return SEQ_SCREEN_WIDTH; }
+ uint16 getHeight() const { return SEQ_SCREEN_HEIGHT; }
+ Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); }
int getCurFrame() const { return _curFrame; }
int getFrameCount() const { return _frameCount; }
const Graphics::Surface *decodeNextFrame();
@@ -72,6 +66,11 @@ private:
Common::Rational getFrameRate() const { return Common::Rational(60, _frameDelay); }
private:
+ enum {
+ SEQ_SCREEN_WIDTH = 320,
+ SEQ_SCREEN_HEIGHT = 200
+ };
+
void readPaletteChunk(uint16 chunkSize);
bool decodeFrame(byte *rleData, int rleSize, byte *litData, int litSize, byte *dest, int left, int width, int height, int colorKey);