ГОСТ Р 53556.4—2013
listjndex =
0
;
for (с =
0
; с < пит_соиpled_elements+
1
; с*+) {
if (!ccjargetjs_cpe[cj) {
couple_channel(cc_spectrum.
spectrum_m( cc_target_(ag_soloct[c). cc_domain),
listjndex**-);
}
if (ccjargetjs_cpe[c)) {
ff(!ccj{c] && !cc_rfc]) {
couple_channel(cc_spectrum.
spectrumJ( ccjargetjag_select[c], cc_domain).
listjndex):
couple_channel(cc_spectrum.
spectrum_r( ccjargetjag_select[c). cc_domain).
listjndex*+);
}
if(ccj(c]) {
couple_channel(cc_spectrum,
spectrumJ( ccjargetjag_select[c], cc_domain).
listjndex♦+);
}
if (cc_r{c)) {
couple_channel(cc_spectrum.
spectrum_r( ccjargetjag_select[c], cc_domain).
listjndex++):
}
}
}
}
couple_channel(source_spectrum[). dest_spectrum[]. gain list index)
{
idx = gain_HstJndex;
a =
0
.
cc_scale = cc_scalejaNe[gain_elemont_scale]:
for (g =
0
:g < num_wmdow_groups: g++) {
/* Decode coupling gain elements for this group V
if (common_gain_clementj>rosent[idx]) {
for (sfb =
0
; sfb < max_sfb: sfb + j {
gain_elemont[tdx)[g][sfb] = common_gain_element[idx]:
}
}
else {
for (sfb =
0
; sfb < max_sfb: sfb++) {
if (sfb_cb[g][sfb) != ZERO_HCB)
gain_elementfidx)[g)[sfb) =
a += dpcm_gain_olement[idx][g](sfb]:
}
}
/* Do coupling onto targot channels V
for (b =
0
:b < window_group_length[b): b++) {
for (sfb =
0
. sfb < max_sfb; sfb++) {
if(gain_eiement_sign) {
cc_sign =
1
-
2
*(gain_element[idx][g][sfb] &
0
x
1
J;
gain = gain_element[idxj[g][sfb] » 1;
149