aac

发布时间:2010-02-21 18:25:50

adts_sequnce()

{

while(nextbits==syncword)

{

adts_frame()

}

} //一般的syncword总是存在,则激活adts_frame()

adts_frame()

{

adts_fixed_header();

adts_variable_header();

adts_error_check();

for(i=0;i

{

raw_data_block()

}

}

adts_fixed_header()

{

Syncword; 12 bslbf

ID; 1 bslbf

Layer; 2 uimsbf

protection_absent; 1 bslbf

Profile_ObjectType; 2 uimsbf

sampling_frequency_index; 4 uimsbf

private_bit; 1 bslbf

channel_configuration; 3 uimsbf

original/copy; 1 bslbf

home; 1 bslbf

}

adts_variable_header()

{

copyright_identification_bit; 1 bslbf

copyright_identification_start; 1 bslbf

aac_frame_length; 13 bslbf

adts_buffer_fullness; 11 bslbf

number_of_raw_data_blocks_in_frame; 2 uimsfb

}

FF F1 4C 80 2B 80 24

0x(FF F1 4C 80)16=( 1111 1111 1111 0001 0100 1100 1000 0000)2

1. Syncword= (1111 1111 1111)2 12bit,被指定为121,标示同步标识

2. ID= (0)2 1bit,MPEG标示符,设置为1表示在ADTS中的流为MPEG-2 AAC

设置为0表示为MPEG-4

3. Layer=(00) 2 2 bit,表明所使用的layer

4. protection_absent=(1) 1 bit,标示error_check()是否存在

5. Profile_ObjectType=(01) 2 bit,依据ID值所之时的bitstream element

6. sampling_frequency_index=(0011) 4 bit,采样率的索引值

7. private_bit=(0) 1 bit,

8. channel_configuration=(010); 3 bit,声道数目

9. original/copy=(0) 1 bit,

10. home=(0) 1 bit

0x(2B 80 24)=( 0010 1011 1000 0000 0010 0100) 上面剩余4bit,即

(0000 0010 1011 1000 0000 0010 0100)

1. copyright_identification_bit=(0) 1 bit

2. copyright_identification_start=(0) 1 bit

3. aac_frame_length=(00 0010 1011 100) 13 bit,对应10进值,其为348

4. adts_buffer_fullness=(0 0000 0010 01) 11 bit,对应10进值,其为9

5. number_of_raw_data_blocks_in_frame=(00) 2 bit.

aac

相关推荐