[Mp4-tech] [Audio] CCE buffers

Alex Converse alexc improvsys.com
Mon Apr 7 17:35:47 EDT 2008


Dear Experts:
I'm having trouble understanding part of the AAC CCE procedures. From 14496-3 section 4.6.8.3.3: 
""
spectrum_l(idx, domain)    Pointer to the spectral data associated with the left channel of the
                           channel_pair_element() with index idx. Depending on the value of 
                           "domain", the spectral coefficients before (0) or after (1) TNS decoding are
                           pointed to.
""
""
decode_coupling_channel()
{
   - decode spectral coefficients of embedded single_channel_element
     into buffer "cc_spectrum[]".
...
	couple_channel( cc_spectrum, 
		spectrum_l( cc_target_tag_select[c], cc_domain ), 
		list_index++ ) );
...
}
couple_channel( source_spectrum[], dest_spectrum[], gain_list_index ) 
{
...
	dest_spectrum[g][b][sfb][i] += 
		cc_gain[idx][g][sfb] * source_spectrum[g][b][sfb][i];
...
}
""
Now besides obvious the extraneous parenthesis on couple_channel(), the 
procedure seems to reading the output buffer, modifying it and witting 
over the input buffer!!! Am I missing something here or did the buffers 
get swapped in error in the spec?
Thanks,
Alex Converse


More information about the Mp4-tech mailing list