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

MAPCDSF_parseACCDataMemberUsingBitRead() static private method

static private MAPCDSF_parseACCDataMemberUsingBitRead ( uint a0, uint a1, MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info ) : int
a0 uint
a1 uint
mbr0 MaiBitReader
chn_info MaiAT3PlusCoreDecoderChnInfo
return int
        static int MAPCDSF_parseACCDataMemberUsingBitRead(uint a0, uint a1, MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            if (a1 == 0)
            {
                chn_info.acc_data_now.table[a0].data0[0] = mbr0.getWithI32Buffer(5);
            }
            else
            {
                if ( ((uint)chn_info.acc_data_now.table[a0].data0[a1 - 1]) < 0xF)
                {
                    chn_info.acc_data_now.table[a0].data0[a1] = mbr0.getWithI32Buffer(5);
                }
                else if ( ((uint)chn_info.acc_data_now.table[a0].data0[a1 - 1]) < 0x17)
                {
                    chn_info.acc_data_now.table[a0].data0[a1] =
                        (chn_info.acc_data_now.table[a0].data0[a1 - 1])
                        + mbr0.getWithI32Buffer(4)
                        + 1;
                }
                else if ( ((uint)chn_info.acc_data_now.table[a0].data0[a1 - 1]) < 0x1B)
                {
                    chn_info.acc_data_now.table[a0].data0[a1] =
                        (chn_info.acc_data_now.table[a0].data0[a1 - 1])
                        + mbr0.getWithI32Buffer(3)
                        + 1;
                }
                else if ( ((uint)chn_info.acc_data_now.table[a0].data0[a1 - 1]) < 0x1D)
                {
                    chn_info.acc_data_now.table[a0].data0[a1] =
                        (chn_info.acc_data_now.table[a0].data0[a1 - 1])
                        + mbr0.getWithI32Buffer(2)
                        + 1;
                }
                else if ( ((uint)chn_info.acc_data_now.table[a0].data0[a1 - 1]) == 0x1D)
                {
                    chn_info.acc_data_now.table[a0].data0[a1] =
                        (chn_info.acc_data_now.table[a0].data0[a1 - 1])
                        + mbr0.getWithI32Buffer(1)
                        + 1;
                }
                else if ( ((uint)chn_info.acc_data_now.table[a0].data0[a1 - 1]) == 0x1E)
                {
                    chn_info.acc_data_now.table[a0].data0[a1] = 0x1F;
                }

            }

            return rs;
        }
MaiAT3PlusCoreDecoder