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

Decoder for Interplay MVE videos. More...

#include <mve_decoder.h>

Inheritance diagram for Video::MveDecoder:
Collaboration diagram for Video::MveDecoder:

List of all members.

Classes

class  MveAudioTrack
class  MveSkipStream
class  MveVideoTrack

Public Member Functions

 MveDecoder ()
virtual ~MveDecoder ()
bool loadStream (Common::SeekableReadStream *stream)
 Load a video from a generic read stream.
void setAudioTrack (int track)
 Set the internal audio track.
void applyPalette (PaletteManager *paletteManager)
Common::Rational getFrameRate ()
void readNextPacket ()
 Decode enough data for the next frame and enough audio to last that long.

Private Member Functions

void readPacketHeader ()
void copyBlock_8bit (Graphics::Surface &dst, Common::MemoryReadStream &s, int block)
void copyBlock_16bit (Graphics::Surface &dst, Common::MemoryReadStream &s, int block)
void copyBlock (Graphics::Surface &dst, Graphics::Surface &src, int block, int offset=0)
void copyBlock (Graphics::Surface &dst, Graphics::Surface &src, int dx, int dy, int off_x, int off_y)
void decodeFormat6 ()
void decodeFormat10 ()

Private Attributes

bool _done
Common::SeekableReadStream_s
uint16 _packetLen
uint16 _packetKind
Graphics::Surface _decodeSurface0
Graphics::Surface _decodeSurface1
Graphics::Surface _frameSurface
uint16 _widthInBlocks
uint16 _heightInBlocks
uint16 _width
uint16 _height
Common::Rational _frameRate
bool _trueColor
Graphics::PixelFormat _pixelFormat
bool _dirtyPalette
uint16 _palStart
uint16 _palCount
byte _palette [0x300]
uint16 _skipMapSize
byte_skipMap
uint16 _decodingMapSize
byte_decodingMap
int _frameNumber
uint16 _frameSize
byte_frameData
int _audioTrack
Audio::QueuingAudioStream_audioStream

Detailed Description

Decoder for Interplay MVE videos.

Video decoder used in engines:

  • kingdom

Definition at line 51 of file mve_decoder.h.


Constructor & Destructor Documentation

Video::MveDecoder::MveDecoder (  ) 

Definition at line 40 of file mve_decoder.cpp.

Video::MveDecoder::~MveDecoder (  )  [virtual]

Definition at line 58 of file mve_decoder.cpp.


Member Function Documentation

void Video::MveDecoder::applyPalette ( PaletteManager paletteManager  ) 

Definition at line 100 of file mve_decoder.cpp.

void Video::MveDecoder::copyBlock ( Graphics::Surface dst,
Graphics::Surface src,
int  block,
int  offset = 0 
) [private]

Definition at line 130 of file mve_decoder.cpp.

void Video::MveDecoder::copyBlock ( Graphics::Surface dst,
Graphics::Surface src,
int  dx,
int  dy,
int  off_x,
int  off_y 
) [private]

Definition at line 147 of file mve_decoder.cpp.

void Video::MveDecoder::copyBlock_16bit ( Graphics::Surface dst,
Common::MemoryReadStream s,
int  block 
) [private]

Definition at line 116 of file mve_decoder.cpp.

void Video::MveDecoder::copyBlock_8bit ( Graphics::Surface dst,
Common::MemoryReadStream s,
int  block 
) [private]

Definition at line 104 of file mve_decoder.cpp.

void Video::MveDecoder::decodeFormat10 (  )  [private]

Definition at line 204 of file mve_decoder.cpp.

void Video::MveDecoder::decodeFormat6 (  )  [private]

Definition at line 161 of file mve_decoder.cpp.

Common::Rational Video::MveDecoder::getFrameRate (  )  [inline]

Definition at line 166 of file mve_decoder.h.

bool Video::MveDecoder::loadStream ( Common::SeekableReadStream stream  )  [virtual]

Load a video from a generic read stream.

The ownership of the stream object transfers to this VideoDecoder instance, which is hence also responsible for eventually deleting it.

Implementations of this function are required to call addTrack() for each track in the video upon success.

Parameters:
stream the stream to load
Returns:
whether loading the stream succeeded

Implements Video::VideoDecoder.

Definition at line 68 of file mve_decoder.cpp.

void Video::MveDecoder::readNextPacket (  )  [virtual]

Decode enough data for the next frame and enough audio to last that long.

This function is used by this class' decodeNextFrame() function. A subclass of a Track may decide to just have its decodeNextFrame() function read and decode the frame, but only if it is the only track in the video.

Reimplemented from Video::VideoDecoder.

Definition at line 277 of file mve_decoder.cpp.

void Video::MveDecoder::readPacketHeader (  )  [private]

Definition at line 249 of file mve_decoder.cpp.

void Video::MveDecoder::setAudioTrack ( int  index  ) 

Set the internal audio track.

Has no effect if the container does not support this.

See also:
supportsAudioTrackSwitching()
Parameters:
index The index of the track, whose meaning is dependent on the container

Reimplemented from Video::VideoDecoder.

Definition at line 95 of file mve_decoder.cpp.


Member Data Documentation

Definition at line 87 of file mve_decoder.h.

Definition at line 81 of file mve_decoder.h.

Definition at line 80 of file mve_decoder.h.

Reimplemented from Video::VideoDecoder.

Definition at line 72 of file mve_decoder.h.

bool Video::MveDecoder::_done [private]

Definition at line 52 of file mve_decoder.h.

Definition at line 85 of file mve_decoder.h.

Definition at line 83 of file mve_decoder.h.

Definition at line 68 of file mve_decoder.h.

Definition at line 84 of file mve_decoder.h.

Definition at line 60 of file mve_decoder.h.

Definition at line 66 of file mve_decoder.h.

Definition at line 63 of file mve_decoder.h.

Definition at line 56 of file mve_decoder.h.

Definition at line 55 of file mve_decoder.h.

Definition at line 74 of file mve_decoder.h.

Reimplemented from Video::VideoDecoder.

Definition at line 75 of file mve_decoder.h.

Definition at line 73 of file mve_decoder.h.

Definition at line 53 of file mve_decoder.h.

Definition at line 78 of file mve_decoder.h.

Definition at line 77 of file mve_decoder.h.

Definition at line 70 of file mve_decoder.h.

Definition at line 65 of file mve_decoder.h.

Definition at line 62 of file mve_decoder.h.


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


Generated on Sat Sep 26 2020 05:04:08 for ResidualVM by doxygen 1.7.1
curved edge   curved edge