ScummVM API documentation
Image::XanDecoder Class Reference

#include <xan.h>

Inheritance diagram for Image::XanDecoder:
Image::Codec

Public Member Functions

 XanDecoder (int width, int height, int bitsPerPixel)
 
const Graphics::SurfacedecodeFrame (Common::SeekableReadStream &stream) override
 
Graphics::PixelFormat getPixelFormat () const override
 
bool setOutputPixelFormat (const Graphics::PixelFormat &format) override
 
- Public Member Functions inherited from Image::Codec
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)
 

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)
 

Detailed Description

Xan image decoder. (fourcc Xxan)

Used by Crusader: No Regret AVI files

This code was created based on the multimedia wiki: https://wiki.multimedia.cx/index.php/Origin_Xan_Codec and ffmpeg's libavcodec/xxan.c. The ffmpeg code is LGPL2 licensed and Copyright (C) 2011 Konstantin Shishkov based on work by Mike Melanson.

A similar format is used in Wing Commander III (although not in an AVI container) and IV.

Member Function Documentation

◆ decodeFrame()

const Graphics::Surface* Image::XanDecoder::decodeFrame ( Common::SeekableReadStream stream)
overridevirtual

Decode the frame for the given data and return a pointer to a surface containing the decoded frame.

Returns
a pointer to the decoded frame

Implements Image::Codec.

◆ getPixelFormat()

Graphics::PixelFormat Image::XanDecoder::getPixelFormat ( ) const
inlineoverridevirtual

Get the format that the surface returned from decodeImage() will be in.

Implements Image::Codec.

◆ setOutputPixelFormat()

bool Image::XanDecoder::setOutputPixelFormat ( const Graphics::PixelFormat format)
inlineoverridevirtual

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.


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