ГОСТ Р 53556.12-2014
for (win =0;win<window_group_len[g];win++){
for (bin=0:bin<width.bin++){
if(UsJleJcsjeof())(
if(interx’allgj(winffsfb){bin} >
amplgJlwinJlsfbl[bin}
+
(\«cur_bplgUsfb})
{
freq
=
determine_frequency():
sym
=
decode(freq);
amplgUwinJfsfljJfbin
/ +=
sym «cur_hp(gjfsfb];
/*
decode bit-plane cur_bp*/
if((■’is_sig[g]lwin][sfb][bin]) && (sym )) (
/•
decode sign bit of res ifnecessary */
sign(g]{winHsfbJlbinJ = (decode(freqjtign))? -1:1:
is_siglgjfwinJlsfbjlbin]
= 1;
/
i
)
else l
smart_decoding_cbacJbpgc():
i
/
}
cur_bp[g](sfb)—;/* progress to next bit-plane */
)
}
/
/
После этого
ВРСС/СВАС
вводит режим декодирования
lazy
после пропуска 2 битов, за
вершающих строку, где символы разрядной матрицы непосредственно читаются из входного
потока битов:
Л
ВРСС/СВАС lazy decoding */
1
1
read_bits( ):read_bits( ); /* skip the 2 AC termination string before lazy coding
while (curjyplgjlsflyJ
>= 0
){
for (g=0;g<num_window_groups;g++){
for (sfh = 0;sfh<num_sfb+num_osf_sfb:sf1>++)(
if((cur_bp[glfsfbj>-0) <&&(lazy_bp[gj[sfhj >0))(
17