ResidualVM logo ResidualVM website - Forums - Contact us BuildBot - Doxygen - Wiki curved edge

#include <coktel_decoder.h>

Inheritance diagram for Video::IMDDecoder:
Collaboration diagram for Video::IMDDecoder:

List of all members.

Classes

struct  Coord

Public Member Functions

 IMDDecoder (Audio::Mixer *mixer, Audio::Mixer::SoundType soundType=Audio::Mixer::kPlainSoundType)
 ~IMDDecoder ()
bool reloadStream (Common::SeekableReadStream *stream)
 Replace the current video stream with this identical one.
bool seek (int32 frame, int whence=SEEK_SET, bool restart=false)
void setXY (uint16 x, uint16 y)
 Draw the video starting at this position within the video memory.
bool loadStream (Common::SeekableReadStream *stream)
 Load a video from a stream.
void close ()
 Close the video.
bool isVideoLoaded () const
 Has a video been loaded?
const Graphics::SurfacedecodeNextFrame ()
 Decode the next frame.
Graphics::PixelFormat getPixelFormat () const

Private Types

enum  Command {
  kCommandNextSound = 0xFF00, kCommandStartSound = 0xFF01, kCommandBreak = 0xFFF0, kCommandBreakSkip0 = 0xFFF1,
  kCommandBreakSkip16 = 0xFFF2, kCommandBreakSkip32 = 0xFFF3, kCommandBreakMask = 0xFFF8, kCommandPalette = 0xFFF4,
  kCommandVideoData = 0xFFFC, kCommandJump = 0xFFFD
}

Private Member Functions

bool loadCoordinates ()
bool loadFrameTableOffsets (uint32 &framePosPos, uint32 &frameCoordsPos)
bool assessVideoProperties ()
bool assessAudioProperties ()
bool loadFrameTables (uint32 framePosPos, uint32 frameCoordsPos)
void processFrame ()
Common::Rect calcFrameCoords (uint32 frame)
bool renderFrame (Common::Rect &rect)
void nextSoundSlice (bool hasNextCmd)
bool initialSoundSlice (bool hasNextCmd)
void emptySoundSlice (bool hasNextCmd)

Private Attributes

Common::SeekableReadStream_stream
byte _version
int16 _stdX
int16 _stdY
int16 _stdWidth
int16 _stdHeight
uint32 _flags
uint32 _firstFramePos
 Position of the first frame's data within the stream.
uint32_framePos
 Positions of all frames.
Coord_frameCoords
 Coordinates of all frames.
uint32 _videoBufferSize
 Size of the video buffers.
byte_videoBuffer [2]
 Video buffers.
uint32 _videoBufferLen [2]
 Size of the video buffers filled.
uint16 _soundFlags
int16 _soundFreq
int16 _soundSliceSize
int16 _soundSlicesCount

Detailed Description

Definition at line 306 of file coktel_decoder.h.


Member Enumeration Documentation

Enumerator:
kCommandNextSound 
kCommandStartSound 
kCommandBreak 
kCommandBreakSkip0 
kCommandBreakSkip16 
kCommandBreakSkip32 
kCommandBreakMask 
kCommandPalette 
kCommandVideoData 
kCommandJump 

Definition at line 327 of file coktel_decoder.h.


Constructor & Destructor Documentation

Video::IMDDecoder::IMDDecoder ( Audio::Mixer mixer,
Audio::Mixer::SoundType  soundType = Audio::Mixer::kPlainSoundType 
)
Video::IMDDecoder::~IMDDecoder (  ) 

Member Function Documentation

bool Video::IMDDecoder::assessAudioProperties (  )  [private]
bool Video::IMDDecoder::assessVideoProperties (  )  [private]
Common::Rect Video::IMDDecoder::calcFrameCoords ( uint32  frame  )  [private]
void Video::IMDDecoder::close (  ) 

Close the video.

Reimplemented from Video::CoktelDecoder.

const Graphics::Surface* Video::IMDDecoder::decodeNextFrame (  )  [virtual]

Decode the next frame.

See also:
VideoDecoder::decodeNextFrame()

Implements Video::CoktelDecoder.

void Video::IMDDecoder::emptySoundSlice ( bool  hasNextCmd  )  [private]
Graphics::PixelFormat Video::IMDDecoder::getPixelFormat (  )  const [virtual]

Implements Video::CoktelDecoder.

bool Video::IMDDecoder::initialSoundSlice ( bool  hasNextCmd  )  [private]
bool Video::IMDDecoder::isVideoLoaded (  )  const [virtual]

Has a video been loaded?

Implements Video::CoktelDecoder.

bool Video::IMDDecoder::loadCoordinates (  )  [private]
bool Video::IMDDecoder::loadFrameTableOffsets ( uint32 framePosPos,
uint32 frameCoordsPos 
) [private]
bool Video::IMDDecoder::loadFrameTables ( uint32  framePosPos,
uint32  frameCoordsPos 
) [private]
bool Video::IMDDecoder::loadStream ( Common::SeekableReadStream stream  )  [virtual]

Load a video from a stream.

See also:
VideoDecoder::loadStream()

Implements Video::CoktelDecoder.

void Video::IMDDecoder::nextSoundSlice ( bool  hasNextCmd  )  [private]
void Video::IMDDecoder::processFrame (  )  [private]
bool Video::IMDDecoder::reloadStream ( Common::SeekableReadStream stream  )  [virtual]

Replace the current video stream with this identical one.

Implements Video::CoktelDecoder.

bool Video::IMDDecoder::renderFrame ( Common::Rect rect  )  [private]
bool Video::IMDDecoder::seek ( int32  frame,
int  whence = SEEK_SET,
bool  restart = false 
) [virtual]

Implements Video::CoktelDecoder.

void Video::IMDDecoder::setXY ( uint16  x,
uint16  y 
) [virtual]

Draw the video starting at this position within the video memory.

Reimplemented from Video::CoktelDecoder.


Member Data Documentation

Position of the first frame's data within the stream.

Definition at line 362 of file coktel_decoder.h.

Definition at line 360 of file coktel_decoder.h.

Coordinates of all frames.

Definition at line 364 of file coktel_decoder.h.

Positions of all frames.

Definition at line 363 of file coktel_decoder.h.

Definition at line 371 of file coktel_decoder.h.

Definition at line 372 of file coktel_decoder.h.

Definition at line 374 of file coktel_decoder.h.

Definition at line 373 of file coktel_decoder.h.

Definition at line 358 of file coktel_decoder.h.

Definition at line 357 of file coktel_decoder.h.

Definition at line 355 of file coktel_decoder.h.

Definition at line 356 of file coktel_decoder.h.

Definition at line 352 of file coktel_decoder.h.

Video buffers.

Definition at line 367 of file coktel_decoder.h.

Size of the video buffers filled.

Definition at line 368 of file coktel_decoder.h.

Size of the video buffers.

Definition at line 366 of file coktel_decoder.h.


The documentation for this class was generated from the following file:


Generated on Sat Mar 16 2019 05:07:20 for ResidualVM by doxygen 1.7.1
curved edge   curved edge