Documentation ¶
Index ¶
Constants ¶
const ( ID_SCE = 0x00 // "Single Channel Element" ID_CPE = 0x01 // "Channel Pair Element" ID_CCE = 0x02 // "Coupling Channel Element" ID_LFE = 0x03 // "LFE Channel Element" ID_DSE = 0x04 // "Data Stream Element" ID_PCE = 0x05 // "Program Config Element" ID_FIL = 0x06 // "Fill Element" ID_END = 0x07 // "End" )
////////////////////////////////////////////////////////////////////////////// ID_SYN_ELE (Syntactic Element) //////////////////////////////////////////////////////////////////////////////
const ( AUDIO_OBJECT_TYPE_NULL uint8 = 0 AUDIO_OBJECT_TYPE_AAC_MAIN = 1 AUDIO_OBJECT_TYPE_AAC_LC = 2 AUDIO_OBJECT_TYPE_SSR = 3 AUDIO_OBJECT_TYPE_LTP = 4 AUDIO_OBJECT_TYPE_SBR = 5 AUDIO_OBJECT_TYPE_AAC_SCALABLE = 6 AUDIO_OBJECT_TYPE_TWINVQ = 7 AUDIO_OBJECT_TYPE_CELP = 8 AUDIO_OBJECT_TYPE_HXVC = 9 AUDIO_OBJECT_TYPE_TTSI = 12 AUDIO_OBJECT_TYPE_MAIN_SYNTHESIS = 13 AUDIO_OBJECT_TYPE_WAVETABLE_SYNTHESIS = 14 AUDIO_OBJECT_TYPE_GENERAL_MIDI = 15 AUDIO_OBJECT_TYPE_ASAE = 16 AUDIO_OBJECT_TYPE_ER = 17 AUDIO_OBJECT_TYPE_ER_AAC_LTP = 19 AUDIO_OBJECT_TYPE_ER_AAC_SCALABLE = 20 AUDIO_OBJECT_TYPE_ER_TWINVQ = 21 AUDIO_OBJECT_TYPE_ER_BSAC = 22 AUDIO_OBJECT_TYPE_ER_AAC_LD = 23 AUDIO_OBJECT_TYPE_ER_CELP = 24 AUDIO_OBJECT_TYPE_ER_HVXC = 25 AUDIO_OBJECT_TYPE_ER_HILN = 26 AUDIO_OBJECT_TYPE_ER_PARAMETRIC = 27 AUDIO_OBJECT_TYPE_SSC = 28 AUDIO_OBJECT_TYPE_PS = 29 AUDIO_OBJECT_TYPE_MPEG_SURROUND = 30 AUDIO_OBJECT_TYPE_LAYER_1 = 32 AUDIO_OBJECT_TYPE_LAYER_2 = 33 AUDIO_OBJECT_TYPE_LAYER_3 = 34 AUDIO_OBJECT_TYPE_DST = 35 AUDIO_OBJECT_TYPE_ALS = 36 AUDIO_OBJECT_TYPE_SLS = 37 AUDIO_OBJECT_TYPE_SLS_NON_CORE = 38 AUDIO_OBJECT_TYPE_ER_AAC_ELD = 39 AUDIO_OBJECT_TYPE_SMR = 40 AUDIO_OBJECT_TYPE_SMR_MAIN = 41 AUDIO_OBJECT_TYPE_USAC_NO_SBR = 42 AUDIO_OBJECT_TYPE_SAOC = 43 AUDIO_OBJECT_TYPE_LD_MPEG_SURROUND = 44 AUDIO_OBJECT_TYPE_USAC = 45 )
////////////////////////////////////////////////////////////////////////////// Table 1.17 – Audio Object Types //////////////////////////////////////////////////////////////////////////////
const ( FIXFIX = 0 FIXVAR = 1 VARFIX = 2 VARVAR = 3 )
////////////////////////////////////////////////////////////////////////////// Table 4.114 – Values of the extension_type field //////////////////////////////////////////////////////////////////////////////
const ( EXT_FILL = 0x00 // ‘0000’ bitstream payload filler EXT_FILL_DATA = 0x01 // ‘0001’ bitstream payload data as filler EXT_DATA_ELEMENT = 0x02 // ’0010‘ data element EXT_DYNAMIC_RANGE = 0x0b // ‘1011’ dynamic range control EXT_SAC_DATA = 0x0c // ‘1100’ MPEG Surround EXT_SBR_DATA = 0x0d // ‘1101’ SBR enhancement EXT_SBR_DATA_CRC = 0x0e // ‘1110’ SBR enhancement with CRC )
////////////////////////////////////////////////////////////////////////////// Table 4.121 – Values of the extension_type field //////////////////////////////////////////////////////////////////////////////
const ( ONLY_LONG_SEQUENCE = 0 LONG_START_SEQUENCE = 1 EIGHT_SHORT_SEQUENCE = 2 LONG_STOP_SEQUENCE = 3 )
////////////////////////////////////////////////////////////////////////////// AAC WINDOW SEQUENCE //////////////////////////////////////////////////////////////////////////////
const ( MPEG_VERSION_4 = 0 MPEG_VERSION_2 = 1 )
////////////////////////////////////////////////////////////////////////////// MPEG VERSION //////////////////////////////////////////////////////////////////////////////
const ( /* The noiseless coding tool requires these constants (see Table 4.56). */ ZERO_HCB = 0 FIRST_PAIR_HCB = 5 ESC_HCB = 11 QUAD_LEN = 4 PAIR_LEN = 2 NOISE_HCB = 13 INTENSITY_HCB2 = 14 INTENSITY_HCB = 15 ESC_FLAG = 16 )
////////////////////////////////////////////////////////////////////////////// AAC WINDOW SEQUENCE //////////////////////////////////////////////////////////////////////////////
const (
ANC_DATA = 0x00 // ‘0000‘ Ancillary data element
)
////////////////////////////////////////////////////////////////////////////// Table 4.122 – Values of the data_element_version //////////////////////////////////////////////////////////////////////////////
const (
EXTENSION_ID_PS = 2
)
////////////////////////////////////////////////////////////////////////////// Table 4.121 – Values of the extension_type field //////////////////////////////////////////////////////////////////////////////
const (
MAX_LTP_LONG_SFB uint8 = 40
)
////////////////////////////////////////////////////////////////////////////// 4.6.7.2 - Long Term Prediction (LTP) definitions //////////////////////////////////////////////////////////////////////////////
const MaxBitsLeft = 131072
Variables ¶
var AACProfileType = [...]string{
"0: Null",
"1: AAC Main",
"2: AAC LC (Low Complexity)",
"3: AAC SSR (Scalable Sample Rate)",
"4: AAC LTP (Long Term Prediction)",
"5: SBR (Spectral Band Replication)",
"6: AAC Scalable",
"7: TwinVQ",
"8: CELP (Code Excited Linear Prediction)",
"9: HXVC (Harmonic Vector eXcitation Coding)",
"10: Reserved",
"11: Reserved",
"12: TTSI (Text-To-Speech Interface)",
"13: Main Synthesis",
"14: Wavetable Synthesis",
"15: General MIDI",
"16: Algorithmic Synthesis and Audio Effects",
"17: ER (Error Resilient) AAC LC",
"18: Reserved",
"19: ER AAC LTP",
"20: ER AAC Scalable",
"21: ER TwinVQ",
"22: ER BSAC (Bit-Sliced Arithmetic Coding)",
"23: ER AAC LD (Low Delay)",
"24: ER CELP",
"25: ER HVXC",
"26: ER HILN (Harmonic and Individual Lines plus Noise)",
"27: ER Parametric",
"28: SSC (SinuSoidal Coding)",
"29: PS (Parametric Stereo)",
"30: MPEG Surround",
"31: (Escape value)",
"32: Layer-1",
"33: Layer-2",
"34: Layer-3",
"35: DST (Direct Stream Transfer)",
"36: ALS (Audio Lossless)",
"37: SLS (Scalable LosslesS)",
"38: SLS non-core",
"39: ER AAC ELD (Enhanced Low Delay)",
"40: SMR (Symbolic Music Representation) Simple",
"41: SMR Main",
"42: USAC (Unified Speech and Audio Coding) (no SBR)",
"43: SAOC (Spatial Audio Object Coding)",
"44: LD MPEG Surround",
"45: USAC",
}
var Aac_PRED_SFB_MAX = [...]uint8{
33, 33, 38, 40, 40, 40, 41, 41, 37, 37, 37, 34, 64, 64, 64, 64,
}
var ChannelConfiguration = [...]string{
" 0: Defined in AOT Specifc Config",
" 1: 1 channel: front-center",
" 2: 2 channels: front-left, front-right",
" 3: 3 channels: front-center, front-left, front-right",
" 4: 4 channels: front-center, front-left, front-right, back-center",
" 5: 5 channels: front-center, front-left, front-right, back-left, back-right",
" 6: 6 channels: front-center, front-left, front-right, back-left, back-right, LFE-channel",
" 7: 8 channels: front-center, front-left, front-right, side-left, side-right, back-left, back-right, LFE-channel",
" 8: Reserved",
" 9: Reserved",
"10: Reserved",
"11: Reserved",
"12: Reserved",
"13: Reserved",
"14: Reserved",
"15: Reserved",
}
////////////////////////////////////////////////////////////////////////////// Table 1.19 – Channel Configuration //////////////////////////////////////////////////////////////////////////////
var SamplingFrequency = [...]uint32{
96000,
88200,
64000,
48000,
44100,
32000,
24000,
22050,
16000,
12000,
11025,
8000,
7350,
0,
0,
0,
}
////////////////////////////////////////////////////////////////////////////// Table 1.18 – Sampling Frequency Index //////////////////////////////////////////////////////////////////////////////
var SyntacticElement = [...]string{
"ID_SCE: Single Channel Element",
"ID_CPE: Channel Pair Element",
"ID_CCE: Coupling Channel Element",
"ID_LFE: LFE Channel Element",
"ID_DSE: Data Stream Element",
"ID_PCE: Program Config Element",
"ID_FIL: Fill Element",
"ID_END: End",
}
Functions ¶
This section is empty.
Types ¶
type ADTS ¶
type ADTS struct { Bitrate uint32 ChannelConfiguration uint8 Layer uint8 MpegVersion uint8 Profile uint8 SamplingFrequency uint32 VbrMode bool Frame_length uint16 Single_channel_elements []*single_channel_element Channel_pair_elements []*channel_pair_element Coupling_channel_elements []*coupling_channel_element Lfe_channel_elements []*lfe_channel_element Data_stream_elements []*data_stream_element Program_config_elements []*program_config_element Fill_elements []*fill_element // contains filtered or unexported fields }