ScummVM API documentation
Image::Indeo::IndeoDecoderBase Class Referenceabstract
Inheritance diagram for Image::Indeo::IndeoDecoderBase:
Image::Codec Image::Indeo4Decoder Image::Indeo5Decoder

Public Member Functions

 IndeoDecoderBase (uint16 width, uint16 height, uint bitsPerPixel)
 
- Public Member Functions inherited from Image::Codec
virtual const Graphics::SurfacedecodeFrame (Common::SeekableReadStream &stream)=0
 
virtual bool containsPalette () const
 
virtual const byte * getPalette ()
 
virtual bool hasDirtyPalette () const
 
virtual bool canDither (DitherType type) const
 
virtual void setDither (DitherType type, const byte *palette)
 
virtual void setCodecAccuracy (CodecAccuracy accuracy)
 

Protected Member Functions

Graphics::PixelFormat getPixelFormat () const override
 
bool setOutputPixelFormat (const Graphics::PixelFormat &format) override
 
virtual int decodePictureHeader ()=0
 
virtual void switchBuffers ()=0
 
virtual bool isNonNullFrame () const =0
 
virtual int decodeBandHeader (IVIBandDesc *band)=0
 
virtual int decodeMbInfo (IVIBandDesc *band, IVITile *tile)=0
 
virtual int decodeTransparency ()
 
int decodeIndeoFrame ()
 
int scaleMV (int mv, int mvScale)
 

Protected Attributes

IVI45DecContext _ctx
 
uint16 _width
 
uint16 _height
 
uint _bitsPerPixel
 
Graphics::PixelFormat _pixelFormat
 
Graphics::Surface_surface
 

Static Protected Attributes

static const uint8 _ffIviVerticalScan8x8 [64]
 
static const uint8 _ffIviHorizontalScan8x8 [64]
 
static const uint8 _ffIviDirectScan4x4 [16]
 

Additional Inherited Members

- Public Types inherited from Image::Codec
enum  DitherType { kDitherTypeUnknown, kDitherTypeVFW, kDitherTypeQT }
 
- Static Public Member Functions inherited from Image::Codec
static byte * createQuickTimeDitherTable (const byte *palette, uint colorCount)
 

Member Function Documentation

◆ getPixelFormat()

Graphics::PixelFormat Image::Indeo::IndeoDecoderBase::getPixelFormat ( ) const
inlineoverrideprotectedvirtual

Returns the pixel format for the decoder's surface

Implements Image::Codec.

◆ setOutputPixelFormat()

bool Image::Indeo::IndeoDecoderBase::setOutputPixelFormat ( const Graphics::PixelFormat format)
inlineoverrideprotectedvirtual

Select the preferred format to use, for codecs where this is faster than converting the image afterwards. Returns true if supported, and false otherwise.

Reimplemented from Image::Codec.

◆ decodePictureHeader()

virtual int Image::Indeo::IndeoDecoderBase::decodePictureHeader ( )
protectedpure virtual

Decode the Indeo picture header.

Returns
0 = Ok, negative number = error

Implemented in Image::Indeo4Decoder, and Image::Indeo5Decoder.

◆ switchBuffers()

virtual void Image::Indeo::IndeoDecoderBase::switchBuffers ( )
protectedpure virtual

Rearrange decoding and reference buffers.

Implemented in Image::Indeo4Decoder, and Image::Indeo5Decoder.

◆ decodeBandHeader()

virtual int Image::Indeo::IndeoDecoderBase::decodeBandHeader ( IVIBandDesc band)
protectedpure virtual

Decode Indeo band header.

Parameters
[in,out]bandPointer to the band descriptor
Returns
Result code: 0 = OK, negative number = error

Implemented in Image::Indeo4Decoder, and Image::Indeo5Decoder.

◆ decodeMbInfo()

virtual int Image::Indeo::IndeoDecoderBase::decodeMbInfo ( IVIBandDesc band,
IVITile tile 
)
protectedpure virtual

Decode information (block type, _cbp, quant delta, motion vector) for all macroblocks in the current tile.

Parameters
[in,out]bandPointer to the band descriptor
[in,out]tilePointer to the tile descriptor
Returns
Result code: 0 = OK, negative number = error

Implemented in Image::Indeo4Decoder, and Image::Indeo5Decoder.

◆ decodeTransparency()

virtual int Image::Indeo::IndeoDecoderBase::decodeTransparency ( )
inlineprotectedvirtual

Decodes optional transparency data within Indeo frames

Reimplemented in Image::Indeo4Decoder.

◆ decodeIndeoFrame()

int Image::Indeo::IndeoDecoderBase::decodeIndeoFrame ( )
protected

Decodes the Indeo frame from the bit reader already loaded into the context

◆ scaleMV()

int Image::Indeo::IndeoDecoderBase::scaleMV ( int  mv,
int  mvScale 
)
protected

scale motion vector

Member Data Documentation

◆ _ffIviVerticalScan8x8

const uint8 Image::Indeo::IndeoDecoderBase::_ffIviVerticalScan8x8[64]
staticprotected

Scan patterns shared between indeo4 and indeo5


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