/*
 * Copyright @ 2015 Atlassian Pty Ltd
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.jitsi.impl.neomedia.codec.audio.silk;

/**
 * This file has been automatically generated
 * ROM usage:  0.19 + 1.61 kB.
 *
 * @author Jing Dai
 * @author Dingxin Xu
 */
public class TablesNLSFCB110
{
    static final int NLSF_MSVQ_CB1_10_STAGES =      6;
    static final int NLSF_MSVQ_CB1_10_VECTORS =     72;

    static final int[] SKP_Silk_NLSF_MSVQ_CB1_10_CDF =
    {
                0,
            17096,
            24130,
            28997,
            33179,
            36696,
            40213,
            42493,
            44252,
            45973,
            47551,
            49095,
            50542,
            51898,
            53196,
            54495,
            55685,
            56851,
            57749,
            58628,
            59435,
            60207,
            60741,
            61220,
            61700,
            62179,
            62659,
            63138,
            63617,
            64097,
            64576,
            65056,
            65535,
                0,
            20378,
            33032,
            40395,
            46721,
            51707,
            56585,
            61157,
            65535,
                0,
            15055,
            25472,
            35447,
            42501,
            48969,
            54773,
            60212,
            65535,
                0,
            12069,
            22440,
            32812,
            40145,
            46870,
            53595,
            59630,
            65535,
                0,
            10839,
            19954,
            27957,
            35961,
            43965,
            51465,
            58805,
            65535,
                0,
             8933,
            17674,
            26415,
            34785,
            42977,
            50820,
            58496,
            65535
    };

    static private int [] SKP_Silk_NLSF_MSVQ_CB1_10_CDF_0
        = Tables.copyOfRange(SKP_Silk_NLSF_MSVQ_CB1_10_CDF, 0, SKP_Silk_NLSF_MSVQ_CB1_10_CDF.length);
    static private int [] SKP_Silk_NLSF_MSVQ_CB1_10_CDF_33
        = Tables.copyOfRange(SKP_Silk_NLSF_MSVQ_CB1_10_CDF, 33, SKP_Silk_NLSF_MSVQ_CB1_10_CDF.length);
    static private int [] SKP_Silk_NLSF_MSVQ_CB1_10_CDF_42
        = Tables.copyOfRange(SKP_Silk_NLSF_MSVQ_CB1_10_CDF, 42, SKP_Silk_NLSF_MSVQ_CB1_10_CDF.length);
    static private int [] SKP_Silk_NLSF_MSVQ_CB1_10_CDF_51
        = Tables.copyOfRange(SKP_Silk_NLSF_MSVQ_CB1_10_CDF, 51, SKP_Silk_NLSF_MSVQ_CB1_10_CDF.length);
    static private int [] SKP_Silk_NLSF_MSVQ_CB1_10_CDF_60
        = Tables.copyOfRange(SKP_Silk_NLSF_MSVQ_CB1_10_CDF, 60, SKP_Silk_NLSF_MSVQ_CB1_10_CDF.length);
    static private int [] SKP_Silk_NLSF_MSVQ_CB1_10_CDF_69
        = Tables.copyOfRange(SKP_Silk_NLSF_MSVQ_CB1_10_CDF, 69, SKP_Silk_NLSF_MSVQ_CB1_10_CDF.length);

    static final int[][] SKP_Silk_NLSF_MSVQ_CB1_10_CDF_start_ptr =
    {
        SKP_Silk_NLSF_MSVQ_CB1_10_CDF_0,
        SKP_Silk_NLSF_MSVQ_CB1_10_CDF_33,
        SKP_Silk_NLSF_MSVQ_CB1_10_CDF_42,
        SKP_Silk_NLSF_MSVQ_CB1_10_CDF_51,
        SKP_Silk_NLSF_MSVQ_CB1_10_CDF_60,
        SKP_Silk_NLSF_MSVQ_CB1_10_CDF_69

    };

    static final int[] SKP_Silk_NLSF_MSVQ_CB1_10_CDF_middle_idx =
    {
           5,
           3,
           4,
           4,
           5,
           5
    };

    static final short[] SKP_Silk_NLSF_MSVQ_CB1_10_rates_Q5 =
    {
                   62,              103,
                  120,              127,
                  135,              135,
                  155,              167,
                  168,              172,
                  173,              176,
                  179,              181,
                  181,              185,
                  186,              198,
                  199,              203,
                  205,              222,
                  227,              227,
                  227,              227,
                  227,              227,
                  227,              227,
                  227,              227,
                   54,               76,
                  101,              108,
                  119,              120,
                  123,              125,
                   68,               85,
                   87,              103,
                  107,              112,
                  115,              116,
                   78,               85,
                   85,              101,
                  105,              105,
                  110,              111,
                   83,               91,
                   97,               97,
                   97,              100,
                  101,              105,
                   92,               93,
                   93,               95,
                   96,               98,
                   99,              103
    };

    static final int[] SKP_Silk_NLSF_MSVQ_CB1_10_ndelta_min_Q15 =
    {
                  462,
                    3,
                   64,
                   74,
                   98,
                   50,
                   97,
                   68,
                  120,
                   53,
                  639
    };

    static final short[ ] SKP_Silk_NLSF_MSVQ_CB1_10_Q15 =
    {
                 1877,             4646,
                 7712,            10745,
                13964,            17028,
                20239,            23182,
                26471,            29287,
                 1612,             3278,
                 7086,             9975,
                13228,            16264,
                19596,            22690,
                26037,            28965,
                 2169,             3830,
                 6460,             8958,
                11960,            14750,
                18408,            21659,
                25018,            28043,
                 3680,             6024,
                 8986,            12256,
                15201,            18188,
                21741,            24460,
                27484,            30059,
                 2584,             5187,
                 7799,            10902,
                13179,            15765,
                19017,            22431,
                25891,            28698,
                 3731,             5751,
                 8650,            11742,
                15090,            17407,
                20391,            23421,
                26228,            29247,
                 2107,             6323,
                 8915,            12226,
                14775,            17791,
                20664,            23679,
                26829,            29353,
                 1677,             2870,
                 5386,             8077,
                11817,            15176,
                18657,            22006,
                25513,            28689,
                 2111,             3625,
                 7027,            10588,
                14059,            17193,
                21137,            24260,
                27577,            30036,
                 2428,             4010,
                 5765,             9376,
                13805,            15821,
                19444,            22389,
                25295,            29310,
                 2256,             4628,
                 8377,            12441,
                15283,            19462,
                22257,            25551,
                28432,            30304,
                 2352,             3675,
                 6129,            11868,
                14551,            16655,
                19624,            21883,
                26526,            28849,
                 5243,             7248,
                10558,            13269,
                15651,            17919,
                21141,            23827,
                27102,            29519,
                 4422,             6725,
                10449,            13273,
                16124,            19921,
                22826,            26061,
                28763,            30583,
                 4508,             6291,
                 9504,            11809,
                13827,            15950,
                19077,            22084,
                25740,            28658,
                 2540,             4297,
                 8579,            13578,
                16634,            19101,
                21547,            23887,
                26777,            29146,
                 3377,             6358,
                10224,            14518,
                17905,            21056,
                23637,            25784,
                28161,            30109,
                 4177,             5942,
                 8159,            10108,
                12130,            15470,
                20191,            23326,
                26782,            29359,
                 2492,             3801,
                 6144,             9825,
                16000,            18671,
                20893,            23663,
                25899,            28974,
                 3011,             4727,
                 6834,            10505,
                12465,            14496,
                17065,            20052,
                25265,            28057,
                 4149,             7197,
                12338,            15076,
                18002,            20190,
                22187,            24723,
                27083,            29125,
                 2975,             4578,
                 6448,             8378,
                 9671,            13225,
                19502,            22277,
                26058,            28850,
                 4102,             5760,
                 7744,             9484,
                10744,            12308,
                14677,            19607,
                24841,            28381,
                 4931,             9287,
                12477,            13395,
                13712,            14351,
                16048,            19867,
                24188,            28994,
                 4141,             7867,
                13140,            17720,
                20064,            21108,
                21692,            22722,
                23736,            27449,
                 4011,             8720,
                13234,            16206,
                17601,            18289,
                18524,            19689,
                23234,            27882,
                 3420,             5995,
                11230,            15117,
                15907,            16783,
                17762,            23347,
                26898,            29946,
                 3080,             6786,
                10465,            13676,
                18059,            23615,
                27058,            29082,
                29563,            29905,
                 3038,             5620,
                 9266,            12870,
                18803,            19610,
                20010,            20802,
                23882,            29306,
                 3314,             6420,
                 9046,            13262,
                15869,            23117,
                23667,            24215,
                24487,            25915,
                 3469,             6963,
                10103,            15282,
                20531,            23240,
                25024,            26021,
                26736,            27255,
                 3041,             6459,
                 9777,            12896,
                16315,            19410,
                24070,            29353,
                31795,            32075,
                 -200,             -134,
                 -113,             -204,
                 -347,             -440,
                 -352,             -211,
                 -418,             -172,
                 -313,               59,
                  495,              772,
                  721,              614,
                  334,              444,
                  225,              242,
                  161,               16,
                  274,              564,
                  -73,             -188,
                 -395,             -171,
                  777,              508,
                 1340,             1145,
                  699,              196,
                  223,              173,
                   90,               25,
                  -26,               18,
                  133,             -105,
                 -360,             -277,
                  859,              634,
                   41,             -557,
                 -768,             -926,
                 -601,            -1021,
                -1189,             -365,
                  225,              107,
                  374,              -50,
                  433,              417,
                  156,               39,
                 -597,            -1397,
                -1594,             -592,
                 -485,             -292,
                  253,               87,
                   -0,               -6,
                  -25,             -345,
                 -240,              120,
                 1261,              946,
                  166,             -277,
                  241,              167,
                  170,              429,
                  518,              714,
                  602,              254,
                  134,               92,
                 -152,             -324,
                 -394,               49,
                 -151,             -304,
                 -724,             -657,
                 -162,             -369,
                  -35,                3,
                   -2,             -312,
                 -200,              -92,
                 -227,              242,
                  628,              565,
                 -124,             1056,
                  770,              101,
                  -84,              -33,
                    4,             -192,
                 -272,                5,
                 -627,             -977,
                  419,              472,
                   53,             -103,
                  145,              322,
                  -95,              -31,
                 -100,             -303,
                 -560,            -1067,
                 -413,              714,
                  283,                2,
                 -223,             -367,
                  523,              360,
                  -38,             -115,
                  378,             -591,
                 -718,              448,
                 -481,             -274,
                  180,              -88,
                 -581,             -157,
                 -696,            -1265,
                  394,             -479,
                  -23,              124,
                  -43,               19,
                 -113,             -236,
                 -412,             -659,
                 -200,                2,
                  -69,             -342,
                  199,               55,
                   58,              -36,
                  -51,              -62,
                  507,              507,
                  427,              442,
                   36,              601,
                 -141,               68,
                  274,              274,
                   68,              -12,
                   -4,               71,
                 -193,             -464,
                 -425,             -383,
                  408,              203,
                 -337,              236,
                  410,              -59,
                  -25,             -341,
                 -449,               28,
                   -9,               90,
                  332,              -14,
                 -905,               96,
                 -540,             -242,
                  679,              -59,
                  192,              -24,
                   60,             -217,
                    5,              -37,
                  179,              -20,
                  311,              519,
                  274,               72,
                 -326,            -1030,
                 -262,              213,
                  380,               82,
                  328,              411,
                 -540,              574,
                 -283,              151,
                  181,             -402,
                 -278,             -240,
                 -110,             -227,
                 -264,              -89,
                 -250,             -259,
                  -27,              106,
                 -239,              -98,
                 -390,              118,
                   61,              104,
                  294,              532,
                   92,              -13,
                   60,             -233,
                  335,              541,
                  307,              -26,
                 -110,              -91,
                 -231,             -460,
                  170,              201,
                   96,             -372,
                  132,              435,
                 -302,              216,
                 -279,              -41,
                   74,              190,
                  368,              273,
                 -186,             -608,
                 -157,              159,
                   12,              278,
                  245,              307,
                   25,             -187,
                  -16,               55,
                   30,             -163,
                  548,             -307,
                  106,               -5,
                   27,              330,
                 -416,              475,
                  438,             -235,
                  104,              137,
                   21,               -5,
                 -300,             -468,
                  521,             -347,
                  170,             -200,
                 -219,              308,
                 -122,             -133,
                  219,              -16,
                  359,              412,
                  -89,             -111,
                   48,              322,
                  142,              177,
                 -286,             -127,
                  -39,              -63,
                  -42,             -451,
                  160,              308,
                  -57,              193,
                  -48,               74,
                 -346,               59,
                  -27,               27,
                 -469,             -277,
                 -344,              282,
                  262,              122,
                  171,             -249,
                   27,              258,
                  188,               -3,
                   67,             -206,
                 -284,              291,
                 -117,              -88,
                 -477,              375,
                   50,              106,
                   99,             -182,
                  438,             -376,
                 -401,              -49,
                  119,              -23,
                  -10,              -48,
                 -116,             -200,
                 -310,              121,
                   73,                7,
                  237,             -226,
                  139,             -456,
                  397,               35,
                    3,             -108,
                  323,              -75,
                  332,              198,
                  -99,              -21
    };

    static final  SKP_Silk_NLSF_CBS[] SKP_Silk_NLSF_CB1_10_Stage_info =
    {
        new SKP_Silk_NLSF_CBS(32,SKP_Silk_NLSF_MSVQ_CB1_10_Q15, 0,        SKP_Silk_NLSF_MSVQ_CB1_10_rates_Q5, 0 ),
        new SKP_Silk_NLSF_CBS(8, SKP_Silk_NLSF_MSVQ_CB1_10_Q15, 10 *  32, SKP_Silk_NLSF_MSVQ_CB1_10_rates_Q5, 32 ),
        new SKP_Silk_NLSF_CBS(8, SKP_Silk_NLSF_MSVQ_CB1_10_Q15, 10 *  40, SKP_Silk_NLSF_MSVQ_CB1_10_rates_Q5, 40 ),
        new SKP_Silk_NLSF_CBS(8, SKP_Silk_NLSF_MSVQ_CB1_10_Q15, 10 *  48, SKP_Silk_NLSF_MSVQ_CB1_10_rates_Q5, 48 ),
        new SKP_Silk_NLSF_CBS(8, SKP_Silk_NLSF_MSVQ_CB1_10_Q15, 10 *  56, SKP_Silk_NLSF_MSVQ_CB1_10_rates_Q5, 56 ),
        new SKP_Silk_NLSF_CBS(8, SKP_Silk_NLSF_MSVQ_CB1_10_Q15, 10 *  64, SKP_Silk_NLSF_MSVQ_CB1_10_rates_Q5, 64 ),
    };

    static final  SKP_Silk_NLSF_CB_struct SKP_Silk_NLSF_CB1_10 =
        new SKP_Silk_NLSF_CB_struct
    (
            NLSF_MSVQ_CB1_10_STAGES,
            SKP_Silk_NLSF_CB1_10_Stage_info,
            SKP_Silk_NLSF_MSVQ_CB1_10_ndelta_min_Q15,
            SKP_Silk_NLSF_MSVQ_CB1_10_CDF,
            SKP_Silk_NLSF_MSVQ_CB1_10_CDF_start_ptr,
            SKP_Silk_NLSF_MSVQ_CB1_10_CDF_middle_idx
    );
}
