Decoded 32 bit MP3 packet header with extended information. More...
Public Member Functions | |
uint_t | Decode (const void *pInput) |
Decode the 32 bit packet header. | |
void | Layer2SelectTable (void) |
Set the Layer2 specific values. | |
Public Member Functions inherited from Burger::DecompressMP3::FrameHeader_t | |
uint_t | IsFreeFormat (void) const |
Return TRUE if bit rate is adjustable. | |
void | Invalidate (void) |
Mark the structure as invalid. | |
uint_t | is_valid (void) const |
Return TRUE if the structure is valid. | |
uint_t | Decode (const void *pInput) |
Decode the 32 bit packet header. | |
void | Encode (void *pOutput) const |
Encode the 32 bit MP3 packet header. | |
Public Attributes | |
const Layer2_AllocEntry_t * | m_pAllocEntry |
Layer 2 allocation entry used by decoding. | |
uint_t | m_uChannelCount |
1 mono, 2 stereo | |
uint_t | m_uSampleRateIndex |
0-8, index into the sampling rate table (Ver 1 0-2, Ver 2 3-5, Ver 2.5 6-8) | |
uint_t | m_uFrameSize |
Calculated frame size. | |
uint_t | m_uLayer2SubLimit |
Sub channel bits used by Layer 2. | |
Public Attributes inherited from Burger::DecompressMP3::FrameHeader_t | |
uint_t | m_uBitrateIndex |
4 bit index into the bit rate tables (0 = free format, 1-14 index) | |
uint_t | m_uSamplingRateFrequencyIndex |
0-2, index into the sampling rate table | |
uint_t | m_bPadding |
TRUE if the frame is padded by one extra slot | |
uint_t | m_bPrivateExtension |
TRUE if a private extension is present | |
uint_t | m_bCopyrighted |
TRUE if this file is copyrighted (Copy forbidden) | |
uint_t | m_bOriginalMedia |
TRUE if this is the original file | |
uint_t | m_bCRCPresent |
TRUE if there's a CRC-16 (IBM format) after the header | |
eMPEGAudioVersionID | m_uVersion |
MP3 Version 1, 2 or 2.5. | |
eMPEGLayerDescription | m_uLayerDescription |
MP3 Layer description 1,2 or 3. | |
eMPEGChannelMode | m_uChannelMode |
MP3 Channel mode. | |
eMPEGModeExtension | m_uModeExtension |
MP3 Mode extension. | |
eMPEGEmphasis | m_uEmphasis |
Decompression emphasis (Not really used anymore) | |
Decoded 32 bit MP3 packet header with extended information.
This structure is derived from FrameHeader_t and in addition to setting the base values on decoding, extra data is calculated to ease the decoding of the MP3 data stream.
uint_t BURGER_API Burger::DecompressMP3::FrameHeaderExt_t::Decode | ( | const void * | pInput | ) |
Decode the 32 bit packet header.
Details are found on this web page https://www.mp3-tech.org/programmer/frame_header.html
This function first calls the parent function FrameHeader_t::Decode(const void *) to fill in the base variables and test if the packet is valid. If it was valid the extended values are filled in.
pInput | Pointer to the 32 bit value in big endian (In memory encoding for the file) |
void BURGER_API Burger::DecompressMP3::FrameHeaderExt_t::Layer2SelectTable | ( | void | ) |
Set the Layer2 specific values.
If Layer 2 decoding is needed, this function will set up a table pointer and the sub limit values
const Layer2_AllocEntry_t* Burger::DecompressMP3::FrameHeaderExt_t::m_pAllocEntry |
Layer 2 allocation entry used by decoding.
uint_t Burger::DecompressMP3::FrameHeaderExt_t::m_uChannelCount |
1 mono, 2 stereo
uint_t Burger::DecompressMP3::FrameHeaderExt_t::m_uFrameSize |
Calculated frame size.
uint_t Burger::DecompressMP3::FrameHeaderExt_t::m_uLayer2SubLimit |
Sub channel bits used by Layer 2.
uint_t Burger::DecompressMP3::FrameHeaderExt_t::m_uSampleRateIndex |
0-8, index into the sampling rate table (Ver 1 0-2, Ver 2 3-5, Ver 2.5 6-8)