ScummVM API documentation
Video::SmackerDecoder::SmackerVideoTrack Class Reference
Inheritance diagram for Video::SmackerDecoder::SmackerVideoTrack:
Video::VideoDecoder::FixedRateVideoTrack Video::VideoDecoder::VideoTrack Video::VideoDecoder::Track

Public Member Functions

 SmackerVideoTrack (uint32 width, uint32 height, uint32 frameCount, const Common::Rational &frameRate, uint32 flags, uint32 version)
 
bool isRewindable () const override
 
bool rewind () override
 
uint16 getWidth () const override
 
uint16 getHeight () const override
 
Graphics::PixelFormat getPixelFormat () const override
 
int getCurFrame () const override
 
int getFrameCount () const override
 
const Graphics::Surface * decodeNextFrame () override
 
const byte * getPalette () const override
 
bool hasDirtyPalette () const override
 
void readTrees (SmackerBitStream &bs, uint32 mMapSize, uint32 mClrSize, uint32 fullSize, uint32 typeSize)
 
void increaseCurFrame ()
 
void decodeFrame (SmackerBitStream &bs)
 
void unpackPalette (Common::SeekableReadStream *stream)
 
Common::Rational getFrameRate () const override
 
const Common::Rect * getNextDirtyRect ()
 
- Public Member Functions inherited from Video::VideoDecoder::FixedRateVideoTrack
uint32 getNextFrameStartTime () const override
 
Audio::Timestamp getDuration () const override
 
Audio::Timestamp getFrameTime (uint frame) const override
 
uint getFrameAtTime (const Audio::Timestamp &time) const
 
- Public Member Functions inherited from Video::VideoDecoder::VideoTrack
TrackType getTrackType () const override
 
bool endOfTrack () const override
 
virtual uint16 getWidth () const =0
 
virtual uint16 getHeight () const =0
 
virtual Graphics::PixelFormat getPixelFormat () const =0
 
virtual bool setOutputPixelFormat (const Graphics::PixelFormat &format)
 
virtual void setCodecAccuracy (Image::CodecAccuracy accuracy)
 
virtual int getCurFrame () const =0
 
virtual int getCurFrameDelay () const
 
virtual int getFrameCount () const
 
virtual uint32 getNextFrameStartTime () const =0
 
virtual const Graphics::Surface * decodeNextFrame ()=0
 
virtual const byte * getPalette () const
 
virtual bool hasDirtyPalette () const
 
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 TrackType getTrackType () const =0
 
virtual bool endOfTrack () const =0
 
virtual bool isRewindable () const
 
virtual bool rewind ()
 
virtual bool isSeekable () const
 
virtual bool seek (const Audio::Timestamp &time)
 
void pause (bool shouldPause)
 
bool isPaused () const
 
virtual Audio::Timestamp getDuration () const
 

Protected Attributes

Graphics::Surface * _surface
 

Additional Inherited Members

- Public Types inherited from Video::VideoDecoder::Track
enum  TrackType { kTrackTypeNone , kTrackTypeVideo , kTrackTypeAudio }
 
virtual Common::Rational getFrameRate () const =0
 
- Protected Member Functions inherited from Video::VideoDecoder::Track
virtual void pauseIntern (bool shouldPause)
 

Member Function Documentation

◆ isRewindable()

bool Video::SmackerDecoder::SmackerVideoTrack::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()

bool Video::SmackerDecoder::SmackerVideoTrack::rewind ( )
inlineoverridevirtual

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::SmackerDecoder::SmackerVideoTrack::getWidth ( ) const
overridevirtual

Get the width of this track

Implements Video::VideoDecoder::VideoTrack.

◆ getHeight()

uint16 Video::SmackerDecoder::SmackerVideoTrack::getHeight ( ) const
overridevirtual

Get the height of this track

Implements Video::VideoDecoder::VideoTrack.

◆ getPixelFormat()

Graphics::PixelFormat Video::SmackerDecoder::SmackerVideoTrack::getPixelFormat ( ) const
overridevirtual

Get the pixel format of this track

Implements Video::VideoDecoder::VideoTrack.

◆ getCurFrame()

int Video::SmackerDecoder::SmackerVideoTrack::getCurFrame ( ) const
inlineoverridevirtual

Get the current frame of this track

See also
VideoDecoder::getCurFrame()

Implements Video::VideoDecoder::VideoTrack.

◆ getFrameCount()

int Video::SmackerDecoder::SmackerVideoTrack::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.

◆ decodeNextFrame()

const Graphics::Surface * Video::SmackerDecoder::SmackerVideoTrack::decodeNextFrame ( )
inlineoverridevirtual

Decode the next frame

Implements Video::VideoDecoder::VideoTrack.

◆ getPalette()

const byte * Video::SmackerDecoder::SmackerVideoTrack::getPalette ( ) const
inlineoverridevirtual

Get the palette currently in use by this track

Reimplemented from Video::VideoDecoder::VideoTrack.

◆ hasDirtyPalette()

bool Video::SmackerDecoder::SmackerVideoTrack::hasDirtyPalette ( ) const
inlineoverridevirtual

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

Reimplemented from Video::VideoDecoder::VideoTrack.

◆ getFrameRate()

Common::Rational Video::SmackerDecoder::SmackerVideoTrack::getFrameRate ( ) const
inlineoverridevirtual

Get the rate at which this track is played.

Implements Video::VideoDecoder::FixedRateVideoTrack.


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