CSPspEmu.Hle.Formats.audio.At3.MaiAT3PlusCoreDecoder.MAPCDSF_decodeTable0_Route1 C# (CSharp) Method

MAPCDSF_decodeTable0_Route1() static private method

static private MAPCDSF_decodeTable0_Route1 ( MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info ) : int
mbr0 CSPspEmu.Hle.Formats.audio.At3.SUB.MaiBitReader
chn_info MaiAT3PlusCoreDecoderChnInfo
return int
        static int MAPCDSF_decodeTable0_Route1(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            chn_info.table0_flag_ex = mbr0.getWithI32Buffer(2);
            chn_info.table0_flag_data_num = mbr0.getWithI32Buffer(2);

            if (0 != (rs = MAPCDSF_decodeTable0DataNum(mbr0, chn_info))) return rs;

            if (chn_info.table0_data_num0 != 0)
            {
                var uk1c6d0 = (uint)mbr0.getWithI32Buffer(5);
                var uk1c6d4 = (uint)mbr0.getWithI32Buffer(2);
                var uk1c6d8 = (uint)mbr0.getWithI32Buffer(3);

                for (uint a0 = 0; a0 < uk1c6d0; a0++)
                {
                    chn_info.table0[a0] = (uint)mbr0.getWithI32Buffer(3);
                }

                if (0 == uk1c6d4)
                {
                    for (uint a0 = uk1c6d0; a0 < chn_info.table0_data_num0; a0++)
                    {
                        chn_info.table0[a0] = uk1c6d8;
                    }
                }
                else
                {
                    for (uint a0 = uk1c6d0; a0 < chn_info.table0_data_num0; a0++)
                    {
                        chn_info.table0[a0] = (uint)mbr0.getWithI32Buffer((int)uk1c6d4) + uk1c6d8;
                    }
                }
            }

            if ((rs = MAPCDSF_padTable0(mbr0, chn_info)) != 0) return rs;

            if (chn_info.table0_flag_ex != 0)
            {
                MAPCDSF_exTable0Value(chn_info);
            }

            return rs;
        }
MaiAT3PlusCoreDecoder