Decoded 32 bit MP3 packet header. More...
Public Member Functions | |
uint_t | IsFreeFormat (void) const |
Return TRUE if bit rate is adjustable. | |
void | Invalidate (void) |
Mark the structure as invalid. | |
uint_t | IsValid (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 | |
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.
The beginning of an MP3 data packet is a big endian 32 bit value broken down to certain bit fields that are described by these web pages https://www.mp3-tech.org/programmer/frame_header.html and http://www.datavoyage.com/mpgscript/mpeghdr.htm
This structure and functions will parse, validate and read or write this data from or into an MP3 data stream.
uint_t BURGER_API Burger::DecompressMP3::FrameHeader_t::Decode | ( | const void * | pInput | ) |
Decode the 32 bit packet header.
Details are found on these web pages https://www.mp3-tech.org/programmer/frame_header.html http://www.datavoyage.com/mpgscript/mpeghdr.htm
pInput | Pointer to the 32 bit value in big endian (In memory encoding for the file) |
void BURGER_API Burger::DecompressMP3::FrameHeader_t::Encode | ( | void * | pOutput | ) | const |
Encode the 32 bit MP3 packet header.
Details are found on these web pages https://www.mp3-tech.org/programmer/frame_header.html http://www.datavoyage.com/mpgscript/mpeghdr.htm
pOutput | Pointer to a 4 byte buffer to store the encoded data |
Return TRUE if bit rate is adjustable.
If this packet has a bit rate index of zero, return TRUE since this denotes a free format bit rate is used.
uint_t Burger::DecompressMP3::FrameHeader_t::m_bCopyrighted |
TRUE if this file is copyrighted (Copy forbidden)
uint_t Burger::DecompressMP3::FrameHeader_t::m_bCRCPresent |
TRUE if there's a CRC-16 (IBM format) after the header
uint_t Burger::DecompressMP3::FrameHeader_t::m_bPadding |
TRUE if the frame is padded by one extra slot
uint_t Burger::DecompressMP3::FrameHeader_t::m_bPrivateExtension |
TRUE if a private extension is present
uint_t Burger::DecompressMP3::FrameHeader_t::m_uBitrateIndex |
4 bit index into the bit rate tables (0 = free format, 1-14 index)
eMPEGChannelMode Burger::DecompressMP3::FrameHeader_t::m_uChannelMode |
MP3 Channel mode.
eMPEGEmphasis Burger::DecompressMP3::FrameHeader_t::m_uEmphasis |
Decompression emphasis (Not really used anymore)
eMPEGLayerDescription Burger::DecompressMP3::FrameHeader_t::m_uLayerDescription |
MP3 Layer description 1,2 or 3.
eMPEGModeExtension Burger::DecompressMP3::FrameHeader_t::m_uModeExtension |
MP3 Mode extension.
uint_t Burger::DecompressMP3::FrameHeader_t::m_uSamplingRateFrequencyIndex |
0-2, index into the sampling rate table
eMPEGAudioVersionID Burger::DecompressMP3::FrameHeader_t::m_uVersion |
MP3 Version 1, 2 or 2.5.