raw_data_block() --> fill_element() --> extension_payload() --> sbr_extension_data()==> streamSBR -->sbr_header , sbr_data
--> sbr_single_channel_element
raw_data_block에서 ID_FIL에 의해 fill_element()로 가고 비트카운트 한 다음에 extension_payload()로 넘어갑니다. 여기서는 EXT_SBR_DATA 스위치문으로 sbr_extension_data()로 가지요. 이곳에 도착한 데이터가 streamSBR이 되겠습니다. 여기서 우선 해더가 있는지 없는지를 체크(1bit)한 후에 해더(header)가 있을 경우 sbr_header()에서 설정된 해더 정보를 읽습니다. 한가지 설정으로 돌릴 경우 삭제가 가능한 부분이네요.
그 후 sbr_data()로 넘어갑니다. 이후로는 코드가 조금 복잡해집니다.
grid, noise, envelope, 등의 정보로 나뉘게 되고 결국 제일 많은 bit을
소비하는 것은 역시 huff입니다. 그래도 매우 효율을 높인 것이기 하지만 huff는
항상 제일 많은 부분을 차지하곤 하지요..ㅎㅎ
이상 aacPlus에서 SBR 따라가기였습니다.



의견을 달아 주세요
많이 보던 소스네요 ....
어느학교 대학원에 다니시나요 ? 궁금하네요 ...
전 43 입니다 ...