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 override
 
virtual bool isRewindable () const override
 
virtual bool rewind () override
 
uint16 getWidth () const override
 
uint16 getHeight () const override
 
Graphics::PixelFormat getPixelFormat () const override
 
int getCurFrame () const override
 
int getCurFrameDelay () const override
 
int getFrameCount () const override
 
uint32 getNextFrameStartTime () const override
 
virtual const Graphics::SurfacedecodeNextFrame () override
 
virtual void handleFrame ()
 
const byte * getPalette () const override
 
bool hasDirtyPalette () const override
 
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 void setCodecAccuracy (Image::CodecAccuracy accuracy)
 
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
 
Graphics::Palette _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
overridevirtual

Return if the track has finished.

Reimplemented from Video::VideoDecoder::VideoTrack.

◆ isRewindable()

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

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 ( )
overridevirtual

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
overridevirtual

Get the width of this track

Implements Video::VideoDecoder::VideoTrack.

◆ getHeight()

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

Get the height of this track

Implements Video::VideoDecoder::VideoTrack.

◆ getPixelFormat()

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

Get the pixel format of this track

Implements Video::VideoDecoder::VideoTrack.

◆ getCurFrame()

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

Get the current frame of this track

See also
VideoDecoder::getCurFrame()

Implements Video::VideoDecoder::VideoTrack.

◆ getCurFrameDelay()

int Video::FlicDecoder::FlicVideoTrack::getCurFrameDelay ( ) const
inlineoverridevirtual

Get the current frame delay of this track

See also
VideoDecoder::getCurFrameDelay()

Reimplemented from Video::VideoDecoder::VideoTrack.

◆ getFrameCount()

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

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
inlineoverridevirtual

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 ( )
overridevirtual

Decode the next frame

Implements Video::VideoDecoder::VideoTrack.

Reimplemented in Petka::FlicDecoder::FlicVideoTrack.

◆ getPalette()

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

Get the palette currently in use by this track

Reimplemented from Video::VideoDecoder::VideoTrack.

◆ hasDirtyPalette()

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

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: