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::DecompressMP3::FrameHeaderExt_t Struct Reference

Decoded 32 bit MP3 packet header with extended information. More...

Inheritance diagram for Burger::DecompressMP3::FrameHeaderExt_t:
Collaboration diagram for Burger::DecompressMP3::FrameHeaderExt_t:

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_tm_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)
 

Detailed Description

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.

See also
FrameHeader_t or DecompressMP3

Member Function Documentation

◆ Decode()

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.

Parameters
pInputPointer to the 32 bit value in big endian (In memory encoding for the file)
Returns
Zero if no error, error code if there was a parsing issue.
See also
FrameHeader_t::Decode(const void *)

◆ Layer2SelectTable()

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

Member Data Documentation

◆ m_pAllocEntry

const Layer2_AllocEntry_t* Burger::DecompressMP3::FrameHeaderExt_t::m_pAllocEntry

Layer 2 allocation entry used by decoding.

◆ m_uChannelCount

uint_t Burger::DecompressMP3::FrameHeaderExt_t::m_uChannelCount

1 mono, 2 stereo

◆ m_uFrameSize

uint_t Burger::DecompressMP3::FrameHeaderExt_t::m_uFrameSize

Calculated frame size.

◆ m_uLayer2SubLimit

uint_t Burger::DecompressMP3::FrameHeaderExt_t::m_uLayer2SubLimit

Sub channel bits used by Layer 2.

◆ m_uSampleRateIndex

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)