Kicking it Olde Sküül! Burgerlib on Github Follow Olde Sküül on Twitter Burgerbecky on LinkedIn Burgerbecky on LinkedIn
Loading...
Searching...
No Matches
Burger::DecompressMace3 Class Reference

Decompress MACE 3 format. More...

Inheritance diagram for Burger::DecompressMace3:
Collaboration diagram for Burger::DecompressMace3:

Public Member Functions

const Burger::StaticRTTIget_StaticRTTI (void) const noexcept override
 Get the description to the class.
 
 DecompressMace3 ()
 Default constructor.
 
eError Reset (void) override
 Resets the MAC3 decompresser to defaults.
 
eError Process (void *pOutput, uintptr_t uOutputChunkSize, const void *pInput, uintptr_t uInputChunkLength) override
 Decompress audio data using MAC3 compression.
 
- Public Member Functions inherited from Burger::DecompressAudio
SoundManager::eDataType GetDataType (void) const
 Returns the uncompressed data type this codec will output.
 
void SetMono (void)
 Alert the decompression codec to create a single audio channel.
 
void SetStereo (void)
 Alert the decompression codec to create stereo channels.
 
uint_t IsStereo (void) const
 Obtain the stereo/mono state of the decompresser.
 
- Public Member Functions inherited from Burger::Decompress
 Decompress (void)
 Default constructor.
 
uintptr_t GetTotalInputSize (void) const noexcept
 Get the total processed input data in bytes.
 
uintptr_t GetTotalOutputSize (void) const noexcept
 Get the total processed output data in bytes.
 
uintptr_t GetProcessedInputSize (void) const noexcept
 Get the total processed output data in bytes from the last process pass.
 
uintptr_t GetProcessedOutputSize (void) const noexcept
 Get the total processed output data in bytes from the last process pass.
 
uint32_t GetSignature (void) const noexcept
 Return the signature for this decompressor.
 
- Public Member Functions inherited from Burger::Base
const char * get_class_name (void) const noexcept
 Get the name of the class.
 
virtual ~Base () noexcept=default
 Destructor.
 

Static Public Member Functions

static DecompressMace3New (void)
 Allocate and initialize a DecompressMace3.
 

Static Public Attributes

static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 
static const uint32_t Signature = 0x4D414333
 'MAC3'
 
- Static Public Attributes inherited from Burger::DecompressAudio
static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 
- Static Public Attributes inherited from Burger::Decompress
static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 
- Static Public Attributes inherited from Burger::Base
static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 

Protected Types

enum  eState { STATE_INIT , STATE_FILLINGCACHE , STATE_PROCESSCACHE , STATE_CACHEFULL }
 

Protected Attributes

MACEState_t MaceStateLeft
 Decompression states for left/right channels.
 
MACEState_t MaceStateRight
 Decompression states for left/right channels.
 
uint_t m_uCacheSize
 Number of valid bytes in m_Cache.
 
eState m_eState
 State of the decompression.
 
uint8_t m_Cache [6 *2]
 Temp compressed data buffer.
 
- Protected Attributes inherited from Burger::DecompressAudio
SoundManager::eDataType m_eDataType
 Data type the decompresser will create.
 
uint_t m_bStereo
 TRUE if data is stereo
 
- Protected Attributes inherited from Burger::Decompress
uintptr_t m_uTotalInput
 Total number of bytes processed for input.
 
uintptr_t m_uTotalOutput
 Total number of bytes processed for output.
 
uintptr_t m_uInputLength
 Number of input bytes processed from the last call to Process()
 
uintptr_t m_uOutputLength
 Number of output bytes processed from the last call to Process()
 
uint32_t m_uSignature
 4 character code to identify this decompresser
 

Additional Inherited Members

- Protected Member Functions inherited from Burger::DecompressAudio
 DecompressAudio (SoundManager::eDataType uDataType)
 Constructor.
 

Detailed Description

Decompress MACE 3 format.


Decompress audio data in MACE 3 format

See also
Decompress and DecompressMace6

Member Enumeration Documentation

◆ eState

Enumerator
STATE_INIT 

Basic state.

STATE_FILLINGCACHE 

Waiting for input data.

STATE_PROCESSCACHE 

Decompress cache data.

STATE_CACHEFULL 

Cache is full, need to output before more input.

Constructor & Destructor Documentation

◆ DecompressMace3()

Burger::DecompressMace3::DecompressMace3 ( )

Default constructor.


Initializes the defaults

Member Function Documentation

◆ get_StaticRTTI()

const Burger::StaticRTTI * Burger::DecompressMace3::get_StaticRTTI ( void ) const
overridevirtualnoexcept

Get the description to the class.


This virtual function will pull the pointer to the StaticRTTI instance that has the name of the class. Due to it being virtual, it will be the name of the most derived class.

Returns
Pointer to a global, read only instance of StaticRTTI for the true class

Reimplemented from Burger::DecompressAudio.

◆ New()

Burger::DecompressMace3 *BURGER_API Burger::DecompressMace3::New ( void )
static

Allocate and initialize a DecompressMace3.


Returns
A pointer to a default DecompressMace3 class or NULL if out of memory
See also
Delete(const T *)

◆ Process()

Burger::eError Burger::DecompressMace3::Process ( void * pOutput,
uintptr_t uOutputChunkLength,
const void * pInput,
uintptr_t uInputChunkLength )
overridevirtual

Decompress audio data using MAC3 compression.


Using the MAC3 compression algorithm, decompress the audio data data

Parameters
pOutputPointer to the buffer to accept the decompressed data
uOutputChunkLengthNumber of bytes in the output buffer
pInputPointer to data to compress
uInputChunkLengthNumber of bytes in the data to decompress
Returns
Decompress::eError code with zero if no failure, non-zero is an error code
See also
DecompressMace6

Implements Burger::Decompress.

◆ Reset()

Burger::eError Burger::DecompressMace3::Reset ( void )
overridevirtual

Resets the MAC3 decompresser to defaults.


Returns
kErrorNone if successful

Implements Burger::Decompress.

Member Data Documentation

◆ g_StaticRTTI

const Burger::StaticRTTI Burger::DecompressMace3::g_StaticRTTI
static

The global description of the class.


This record contains the name of this class and a reference to the parent

◆ m_Cache

uint8_t Burger::DecompressMace3::m_Cache[6 *2]
protected

Temp compressed data buffer.

◆ m_eState

eState Burger::DecompressMace3::m_eState
protected

State of the decompression.

◆ m_uCacheSize

uint_t Burger::DecompressMace3::m_uCacheSize
protected

Number of valid bytes in m_Cache.

◆ MaceStateLeft

MACEState_t Burger::DecompressMace3::MaceStateLeft
protected

Decompression states for left/right channels.

◆ MaceStateRight

MACEState_t Burger::DecompressMace3::MaceStateRight
protected

Decompression states for left/right channels.

◆ Signature

const uint32_t Burger::DecompressMace3::Signature = 0x4D414333
static

'MAC3'