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
}
}