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

MAPCDSF_parseACCDataMemberUsingHuffTable1() static private method

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

            if (chn_info.acc_data_now.table[a0].num_acc != 0)
            {
                if (chn_info.acc_data_now.table[a0 - 1].num_acc != 0)
                {
                    chn_info.acc_data_now.table[a0].data0[0] = (int)(
                        chn_info.acc_data_now.table[a0 - 1].data0[0]
                        + MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_8[0], mbr0)
                    );

                    chn_info.acc_data_now.table[a0].data0[0] &= 0x1F;
                }
                else
                {
                    chn_info.acc_data_now.table[a0].data0[0] =
                        (int)MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_8[0], mbr0);
                }

                for (uint a1 = 1; a1 < (uint)chn_info.acc_data_now.table[a0].num_acc; a1++)
                {
                    MaiAT3PlusCoreDecoderSearchTableDes huff_table_now = null;

                    uint check_value0 = 0;
                    if (a1 >= ((uint)chn_info.acc_data_now.table[a0 - 1].num_acc))
                        check_value0 = 1;

                    if ( ((int)chn_info.acc_data_now.table[a0].data1[a1])
                        - ((int)chn_info.acc_data_now.table[a0].data1[a1 - 1])
                        <= 0)
                    {
                        if (check_value0 != 0)
                        {
                            huff_table_now = MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_6[0];
                        }
                        else
                        {
                            huff_table_now = MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_8[0];
                        }
                    }
                    else
                    {
                        if (check_value0 != 0)
                        {
                            huff_table_now = MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_7[0];
                        }
                        else
                        {
                            huff_table_now = MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_9[0];
                        }
                    }

                    if (check_value0 != 0)
                    {
                        chn_info.acc_data_now.table[a0].data0[a1] =
                            chn_info.acc_data_now.table[a0].data0[a1 - 1]
                            + (int)MAPCDSF_getHuffValue(huff_table_now, mbr0);
                    }
                    else
                    {
                        chn_info.acc_data_now.table[a0].data0[a1] =
                            chn_info.acc_data_now.table[a0 - 1].data0[a1]
                            + (int)MAPCDSF_getHuffValue(huff_table_now, mbr0);

                        chn_info.acc_data_now.table[a0].data0[a1] &= 0x1F;
                    }
                }
            }

            return rs;
        }
MaiAT3PlusCoreDecoder