Syntax of the Enhanced AC-3 descriptor
The syntax of the E-AC-3
descriptor is listed in the table.
Syntax | Word size in bits | Identifier | Value |
---|---|---|---|
E-AC-3_audio_descriptor()
|
|
|
|
{
|
|
|
|
descriptor_tag......................
|
8
|
uimsbf
|
0xCC
|
descriptor_length...................
|
8
|
uimsbf
|
|
reserved............................
|
1
|
bslbf
|
1
|
bsid_flag...........................
|
1
|
bslbf
|
|
mainid_flag.........................
|
1
|
bslbf
|
|
asvc_flag...........................
|
1
|
bslbf
|
|
mixinfoexists_flag..................
|
1
|
bslbf
|
|
substream1_flag.....................
|
1
|
bslbf
|
|
substream2_flag.....................
|
1
|
bslbf
|
|
substream3_flag.....................
|
1
|
bslbf
|
|
reserved............................
|
1
|
bslbf
|
1
|
full_service_flag...................
|
1
|
bslbf
|
|
service_type........................
|
3
|
uimsbf
|
|
number_of_channels..................
|
3
|
uimsbf
|
|
language_flag.......................
|
1
|
bslbf
|
|
language_flag_2.....................
|
1
|
bslbf
|
|
reserved............................
|
1
|
uimsbf
|
0
|
if(bsid_flag==1){
|
|
|
|
bsid............................
|
5
|
uimsbf
|
|
else{
|
|
|
|
zero_bits.......................
|
5
|
uimsbf
|
00000
|
}
|
|
|
|
if(mainid_flag==1){
|
|
|
|
reserved........................
|
3
|
bslbf
|
111
|
priority........................
|
2
|
uimsbf
|
|
mainid..........................
|
3
|
uimsbf
|
|
}
|
|
|
|
if(asvc_flag==1){
|
|
|
|
asvc............................
|
8
|
bslbf
|
|
}
|
|
|
|
if(substream1_flag==1){
|
|
|
|
substream1......................
|
8
|
uimsbf
|
|
}
|
|
|
|
if(substream2_flag==1){
|
|
|
|
substream2......................
|
8
|
uimsbf
|
|
}
|
|
|
|
if(substream3_flag==1){
|
|
|
|
substream3......................
|
8
|
uimsbf
|
|
}
|
|
|
|
if(language_flag==1){
|
|
|
|
language.......................
|
3 X 8
|
uimsbf
|
|
}
|
|
|
|
if(language_flag_2==1){
|
|
|
|
language_2.....................
|
3 X 8
|
uimsbf
|
|
}
|
|
|
|
if(substream1_flag==1){
|
|
|
|
substream1_lang.................
|
3 X 8
|
uimsbf
|
|
}
|
|
|
|
if(substream2_flag==1){
|
|
|
|
substream2_lang.................
|
3 X 8
|
uimsbf
|
|
}
|
|
|
|
if(substream3_flag==1){
|
|
|
|
substream3_lang.................
|
3 X 8
|
uimsbf
|
|
}
|
|
|
|
}
|
|
|
|