Kicking it Olde Sküül! Burgerlib on Github Follow Olde Sküül on Twitter Burgerbecky on LinkedIn Burgerbecky on LinkedIn
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
Burger::DecompressMP3::GranuleInfo_t Struct Reference

Public Member Functions

void MakeAntiAliasTable (float *pOutput) const
 Generate anti alias table.
 
void Layer3JointIStereo (float *pOutput, const uint_t *pScaleFactorIndexes, uint_t uSampleRateIndex, uint_t bStereo, eMPEGAudioVersionID uVersion) const
 Create the stereo channels for Joint I Stereo mode.
 

Public Attributes

const floatm_pGainPow2
 Active gain pow() table.
 
const floatm_pGains [3]
 Gain tables for each channel.
 
uint_t m_uScaleFactorSelectorInfo
 ScaleFactor Selection Information (4 bits)
 
uint_t m_uPart2_3_Length
 Number of bits allocated for Scale Factors.
 
uint_t m_uBigValues
 Number of big value regions 0-288.
 
uint_t m_uScaleFactorCompress
 Number of bits used for the transmission of scale factors.
 
uint_t m_uMixedBlockFlag
 Enable mixed blocks.
 
uint_t m_uTableSelect [3]
 Huffman table selections.
 
uint_t m_uMaxBands [3]
 Max bands.
 
uint_t m_uMaxBandLast
 Last max band.
 
uint_t m_uMaxSubBand
 Maximum sub band.
 
uint_t m_uRegion1Start
 Start value for region 1.
 
uint_t m_uRegion2Start
 Start value for region 2.
 
uint_t m_uPreFlag
 If set,the values of a defined table are added to the scale factors.
 
uint_t m_uScaleFactorScale
 The scale factors are logarithmically quantized with a step size of 2.
 
uint_t m_uCount1TableSelect
 Two possible Huffman code tables are available for the count1 region. This field specifies which table to apply.
 
eGranuleBlockType m_uBlockType
 Window block type.
 

Member Function Documentation

◆ Layer3JointIStereo()

void BURGER_API Burger::DecompressMP3::GranuleInfo_t::Layer3JointIStereo ( float * pOutput,
const uint_t * pScaleFactorIndexes,
uint_t uSampleRateIndex,
uint_t bStereo,
eMPEGAudioVersionID uVersion ) const

Create the stereo channels for Joint I Stereo mode.


In Layer3 there is an encoding mode called Joint I Stereo, this function applies to the hybrid buffer the volumes calculated from a mono channel and duplicated to the other channel.

Parameters
pOutputPointer to hybrid buffer (Left and right channels)
pScaleFactorIndexesPointer to the up to 39 entry scale factor indexes
uSampleRateIndexSample rate index value
bStereoTRUE if using stereo power tables, FALSE to use the mono tables
uVersionMpeg version being processed

◆ MakeAntiAliasTable()

void BURGER_API Burger::DecompressMP3::GranuleInfo_t::MakeAntiAliasTable ( float * pOutput) const

Generate anti alias table.


Parameters
pOutputPointer to a buffer cSubBandLimit*cSideSampleLimit entries in size

Member Data Documentation

◆ m_pGainPow2

const float* Burger::DecompressMP3::GranuleInfo_t::m_pGainPow2

Active gain pow() table.

◆ m_pGains

const float* Burger::DecompressMP3::GranuleInfo_t::m_pGains[3]

Gain tables for each channel.

◆ m_uBigValues

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uBigValues

Number of big value regions 0-288.

◆ m_uBlockType

eGranuleBlockType Burger::DecompressMP3::GranuleInfo_t::m_uBlockType

Window block type.

◆ m_uCount1TableSelect

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uCount1TableSelect

Two possible Huffman code tables are available for the count1 region. This field specifies which table to apply.

◆ m_uMaxBandLast

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uMaxBandLast

Last max band.

◆ m_uMaxBands

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uMaxBands[3]

Max bands.

◆ m_uMaxSubBand

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uMaxSubBand

Maximum sub band.

◆ m_uMixedBlockFlag

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uMixedBlockFlag

Enable mixed blocks.

◆ m_uPart2_3_Length

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uPart2_3_Length

Number of bits allocated for Scale Factors.

◆ m_uPreFlag

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uPreFlag

If set,the values of a defined table are added to the scale factors.

◆ m_uRegion1Start

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uRegion1Start

Start value for region 1.

◆ m_uRegion2Start

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uRegion2Start

Start value for region 2.

◆ m_uScaleFactorCompress

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uScaleFactorCompress

Number of bits used for the transmission of scale factors.

◆ m_uScaleFactorScale

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uScaleFactorScale

The scale factors are logarithmically quantized with a step size of 2.

◆ m_uScaleFactorSelectorInfo

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uScaleFactorSelectorInfo

ScaleFactor Selection Information (4 bits)

◆ m_uTableSelect

uint_t Burger::DecompressMP3::GranuleInfo_t::m_uTableSelect[3]

Huffman table selections.