ScummVM API documentation
Video::FlicDecoder::FlicVideoTrack Class Reference
Inheritance diagram for Video::FlicDecoder::FlicVideoTrack:
Video::VideoDecoder::VideoTrack Video::VideoDecoder::Track Petka::FlicDecoder::FlicVideoTrack

Public Member Functions

 FlicVideoTrack (Common::SeekableReadStream *stream, uint16 frameCount, uint16 width, uint16 height, bool skipHeader=false)
 
virtual void readHeader ()
 
bool endOfTrack () const
 
virtual bool isRewindable () const
 
virtual bool rewind ()
 
uint16 getWidth () const
 
uint16 getHeight () const
 
Graphics::PixelFormat getPixelFormat () const
 
int getCurFrame () const
 
int getFrameCount () const
 
uint32 getNextFrameStartTime () const
 
virtual const Graphics::SurfacedecodeNextFrame ()
 
virtual void handleFrame ()
 
const byte * getPalette () const
 
bool hasDirtyPalette () const
 
const Common::List< Common::Rect > * getDirtyRects () const
 
void clearDirtyRects ()
 
void copyDirtyRectsToBuffer (uint8 *dst, uint pitch)
 
- Public Member Functions inherited from Video::VideoDecoder::VideoTrack
TrackType getTrackType () const
 
virtual bool setOutputPixelFormat (const Graphics::PixelFormat &format)
 
virtual Audio::Timestamp getFrameTime (uint frame) const
 
virtual bool setReverse (bool reverse)
 
virtual bool isReversed () const
 
virtual bool canDither () const
 
virtual void setDither (const byte *palette)
 
- Public Member Functions inherited from Video::VideoDecoder::Track
virtual bool isSeekable () const
 
virtual bool seek (const Audio::Timestamp &time)
 
void pause (bool shouldPause)
 
bool isPaused () const
 
virtual Audio::Timestamp getDuration () const
 

Protected Member Functions

void copyFrame (uint8 *data)
 
void decodeByteRun (uint8 *data)
 
void decodeDeltaFLC (uint8 *data)
 
void unpackPalette (uint8 *mem)
 
- Protected Member Functions inherited from Video::VideoDecoder::Track
virtual void pauseIntern (bool shouldPause)
 

Protected Attributes

Common::SeekableReadStream_fileStream
 
Graphics::Surface_surface
 
int _curFrame
 
bool _atRingFrame
 
uint32 _offsetFrame1
 
uint32 _offsetFrame2
 
byte * _palette
 
bool _dirtyPalette
 
uint32 _frameCount
 
uint32 _frameDelay
 
uint32 _startFrameDelay
 
uint32 _nextFrameStartTime
 
Common::List< Common::Rect_dirtyRects
 

Additional Inherited Members

- Public Types inherited from Video::VideoDecoder::Track
enum  TrackType { kTrackTypeNone, kTrackTypeVideo, kTrackTypeAudio }
 

Member Function Documentation

◆ endOfTrack()

bool Video::FlicDecoder::FlicVideoTrack::endOfTrack ( ) const
virtual

Return if the track has finished.

Reimplemented from Video::VideoDecoder::VideoTrack.

◆ isRewindable()

virtual bool Video::FlicDecoder::FlicVideoTrack::isRewindable ( ) const
inlinevirtual

Return if the track is rewindable.

If a video is seekable, it does not need to implement this for it to also be rewindable.

Reimplemented from Video::VideoDecoder::Track.

◆ rewind()

virtual bool Video::FlicDecoder::FlicVideoTrack::rewind ( )
virtual

Rewind the video to the beginning.

If a video is seekable, it does not need to implement this for it to also be rewindable.

Returns
true on success, false otherwise.

Reimplemented from Video::VideoDecoder::Track.

◆ getWidth()

uint16 Video::FlicDecoder::FlicVideoTrack::getWidth ( ) const
virtual

Get the width of this track

Implements Video::VideoDecoder::VideoTrack.

◆ getHeight()

uint16 Video::FlicDecoder::FlicVideoTrack::getHeight ( ) const
virtual

Get the height of this track

Implements Video::VideoDecoder::VideoTrack.

◆ getPixelFormat()

Graphics::PixelFormat Video::FlicDecoder::FlicVideoTrack::getPixelFormat ( ) const
virtual

Get the pixel format of this track

Implements Video::VideoDecoder::VideoTrack.

◆ getCurFrame()

int Video::FlicDecoder::FlicVideoTrack::getCurFrame ( ) const
inlinevirtual

Get the current frame of this track

See also
VideoDecoder::getCurFrame()

Implements Video::VideoDecoder::VideoTrack.

◆ getFrameCount()

int Video::FlicDecoder::FlicVideoTrack::getFrameCount ( ) const
inlinevirtual

Get the frame count of this track

Note
If the frame count is unknown, return 0 (which is also the default implementation of the function). However, one must also implement endOfTrack() in that case.

Reimplemented from Video::VideoDecoder::VideoTrack.

◆ getNextFrameStartTime()

uint32 Video::FlicDecoder::FlicVideoTrack::getNextFrameStartTime ( ) const
inlinevirtual

Get the start time of the next frame in milliseconds since the start of the video

Implements Video::VideoDecoder::VideoTrack.

◆ decodeNextFrame()

virtual const Graphics::Surface* Video::FlicDecoder::FlicVideoTrack::decodeNextFrame ( )
virtual

Decode the next frame

Implements Video::VideoDecoder::VideoTrack.

Reimplemented in Petka::FlicDecoder::FlicVideoTrack.

◆ getPalette()

const byte* Video::FlicDecoder::FlicVideoTrack::getPalette ( ) const
inlinevirtual

Get the palette currently in use by this track

Reimplemented from Video::VideoDecoder::VideoTrack.

◆ hasDirtyPalette()

bool Video::FlicDecoder::FlicVideoTrack::hasDirtyPalette ( ) const
inlinevirtual

Does the palette currently in use by this track need to be updated?

Reimplemented from Video::VideoDecoder::VideoTrack.


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