javazoom.jl.decoder.LayerIIIDecoder.get_LSF_scale_factors C# (CSharp) Method

get_LSF_scale_factors() private method

*
private get_LSF_scale_factors ( int ch, int gr ) : void
ch int
gr int
return void
        private void get_LSF_scale_factors(int ch, int gr)
        {
            int m = 0;
            int sfb, window;
            gr_info_s gr_info = (si.ch[ch].gr[gr]);

            get_LSF_scale_data(ch, gr);

            if ((gr_info.window_switching_flag != 0) && (gr_info.block_type == 2))
            {
                if (gr_info.mixed_block_flag != 0)
                {
                    // MIXED
                    for (sfb = 0; sfb < 8; sfb++)
                    {
                        scalefac[ch].l[sfb] = scalefac_buffer[m];
                        m++;
                    }
                    for (sfb = 3; sfb < 12; sfb++)
                    {
                        for (window = 0; window < 3; window++)
                        {
                            scalefac[ch].s[window][sfb] = scalefac_buffer[m];
                            m++;
                        }
                    }
                    for (window = 0; window < 3; window++)
                        scalefac[ch].s[window][12] = 0;
                }
                else
                {
                    // SHORT

                    for (sfb = 0; sfb < 12; sfb++)
                    {
                        for (window = 0; window < 3; window++)
                        {
                            scalefac[ch].s[window][sfb] = scalefac_buffer[m];
                            m++;
                        }
                    }

                    for (window = 0; window < 3; window++)
                        scalefac[ch].s[window][12] = 0;
                }
            }
            else
            {
                // LONG types 0,1,3

                for (sfb = 0; sfb < 21; sfb++)
                {
                    scalefac[ch].l[sfb] = scalefac_buffer[m];
                    m++;
                }
                scalefac[ch].l[21] = 0; // Jeff
                scalefac[ch].l[22] = 0;
            }
        }