aboutsummaryrefslogtreecommitdiff
path: root/graphics/video/coktel_decoder.h
diff options
context:
space:
mode:
authorSven Hesse2011-01-16 16:29:43 +0000
committerSven Hesse2011-01-16 16:29:43 +0000
commit32b94cc236c5c0d0ec4bf73d7bf87bd2e3c67bc9 (patch)
treef69e73df7e0d42ae18dec50ec3e55d72a4fb89f3 /graphics/video/coktel_decoder.h
parentb451d3b51c7b9c1db0e4203791793020f330cb07 (diff)
downloadscummvm-rg350-32b94cc236c5c0d0ec4bf73d7bf87bd2e3c67bc9.tar.gz
scummvm-rg350-32b94cc236c5c0d0ec4bf73d7bf87bd2e3c67bc9.tar.bz2
scummvm-rg350-32b94cc236c5c0d0ec4bf73d7bf87bd2e3c67bc9.zip
VIDEO: Implement internal-codec 16bit VMDs
svn-id: r55263
Diffstat (limited to 'graphics/video/coktel_decoder.h')
-rw-r--r--graphics/video/coktel_decoder.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/graphics/video/coktel_decoder.h b/graphics/video/coktel_decoder.h
index 8279415d89..97be4ac72b 100644
--- a/graphics/video/coktel_decoder.h
+++ b/graphics/video/coktel_decoder.h
@@ -200,12 +200,12 @@ protected:
void deRLE(byte *&destPtr, const byte *&srcPtr, int16 destLen, int16 srcLen);
// Block rendering
- void renderBlockWhole (const byte *src, Common::Rect &rect);
- void renderBlockWhole4X (const byte *src, Common::Rect &rect);
- void renderBlockWhole2Y (const byte *src, Common::Rect &rect);
- void renderBlockSparse (const byte *src, Common::Rect &rect);
- void renderBlockSparse2Y(const byte *src, Common::Rect &rect);
- void renderBlockRLE (const byte *src, Common::Rect &rect);
+ void renderBlockWhole (Surface &dstSurf, const byte *src, Common::Rect &rect);
+ void renderBlockWhole4X (Surface &dstSurf, const byte *src, Common::Rect &rect);
+ void renderBlockWhole2Y (Surface &dstSurf, const byte *src, Common::Rect &rect);
+ void renderBlockSparse (Surface &dstSurf, const byte *src, Common::Rect &rect);
+ void renderBlockSparse2Y(Surface &dstSurf, const byte *src, Common::Rect &rect);
+ void renderBlockRLE (Surface &dstSurf, const byte *src, Common::Rect &rect);
// Sound helper functions
inline void unsignedToSigned(byte *buffer, int length);
@@ -457,8 +457,10 @@ private:
uint32 _firstFramePos; ///< Position of the first frame's data within the stream.
uint32 _videoBufferSize; ///< Size of the video buffers.
- byte *_videoBuffer[2]; ///< Video buffers.
- uint32 _videoBufferLen[2]; ///< Size of the video buffers filled.
+ byte *_videoBuffer[3]; ///< Video buffers.
+ uint32 _videoBufferLen[3]; ///< Size of the video buffers filled.
+
+ Surface _8bppSurface[3]; ///< Fake 8bpp surfaces over the video buffers.
bool _externalCodec;
Codec *_codec;
@@ -479,6 +481,8 @@ private:
// Video
bool renderFrame(Common::Rect &rect);
+ void blit16(const Surface &srcSurf, Common::Rect &rect);
+ void blit24(const Surface &srcSurf, Common::Rect &rect);
// Sound
void emptySoundSlice (uint32 size);