Commit 6a9d7a55 authored by gaoyuy's avatar gaoyuy
Browse files

Fixed some errors

parent 06de14fa
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1193,6 +1193,7 @@ typedef enum
#define MP_DIFF_HUFFMAN_MODE                    0
#define MP_FLC_MODE                             1
#define MP_MIN_Q_GAIN                           -75.f
#define MP_MAX_Q_GAIN                           15.f
#define MP_DELTA_Q_GAIN                         0.1f
#define MP_MAX_HUFFMAN_BITS                     20
#define MP_Q_GAIN_TABLE_SIZE                    ( ( 15 + 1 ) * 2)
+4 −7
Original line number Diff line number Diff line
@@ -79,8 +79,7 @@ void debug_ivas_mp_write_pcm(
MP_TCS_DMX_CONFIG ivas_mp_get_transport_group_config(
    const int16_t sba_order,
    const int32_t total_bitrate,
    const int16_t nchannels
)
    const int16_t nchannels )
{
    int16_t i, idx;

@@ -210,8 +209,7 @@ void ivas_mp_config_open(
    const int16_t nchan_input,
    const int32_t total_bitrate,
    const int16_t sba_order_input,
    const int32_t sr 
)
    const int32_t sr )
{
    int16_t i;

@@ -324,8 +322,7 @@ int16_t ivas_mp_metadata_open(
}

void ivas_mp_metadata_close(
    MP_META_DATA_HANDLE hQMetadata
)
    MP_META_DATA_HANDLE hQMetadata )
{
    int16_t i, ch;
    int16_t nchan_reference_gain;
+64 −62
Original line number Diff line number Diff line
@@ -97,71 +97,73 @@ const MP_TCS_DMX_CONFIG ivas_mp_TCs_dmx_cfg_table[MP_MAX_GROUP_TRANSPORT_CFG] =
};

const int16_t ivas_mp_q_gain_table[MP_Q_GAIN_TABLE_SIZE] = {
    ( (int16_t) ( MP_MIN_Q_GAIN ) ), -65, -55, -50, -45, -40, -35, -30, -28, -26, -24, -22, -20, -18, -16, -14, -12, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10, 12, 14, 17, 20 // 2.383918403484545
    ( (int16_t) ( MP_MIN_Q_GAIN ) ), -55, -50, -45, -40, -38, -36, -34, -32, -30, -28, -26, -24, -22, -20, -18, -16, -14, -12, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10, 12, ( (int16_t) ( MP_MAX_Q_GAIN ) )
};

const Huffman_codebook ivas_diff_huffman_codebook_table[MP_Q_GAIN_TABLE_SIZE * 2 - 1] = {
    { 0, 1, 1 },          /* 0 -> 1 */
    { -1, 1, 2 },         /* 10 -> 01 */
    { 3, 13, 5 },        /* 10010 -> 01101 */
    { 1, 0, 3 },         /* 111 -> 000 */
    { -2, 4, 5 },         /* 11011 -> 00100 */
    { 2, 5, 5 },          /* 11010 -> 00101 */
    { -3, 12, 6 },        /* 110011 -> 001100 */
    { 3, 13, 6 },         /* 110010 -> 001101 */
    { -4, 15, 6 },        /* 110000 -> 001111 */
    { 4, 28, 7 },         /* 1100011 -> 0011100 */
    { -5, 117, 9 },       /* 110001010 -> 001110101 */
    { 5, 116, 9 },        /* 110001011 -> 001110100 */
    { -6, 237, 10 },      /* 1100010010 -> 0011101101 */
    { -8, 1906, 13 },     /* 1100010001101 -> 0011101110010 */
    { 6, 236, 10 },       /* 1100010011 -> 0011101100 */
    { 8, 1904, 13 },      /* 1100010001111 -> 0011101110000 */
    { 7, 477, 11 },       /* 11000100010 -> 00111011101 */
    { -7, 479, 11 },      /* 11000100000 -> 00111011111 */
    { 9, 1915, 13 },      /* 1100010000100 -> 0011101111011 */
    { -9, 3824, 14 },     /* 11000100001111 -> 00111011110000 */
    { 22, 3811, 14 },     /* 11000100011100 -> 00111011100011 */
    { 10, 3825, 14 },     /* 11000100001110 -> 00111011110001 */
    { 14, 15256, 16 },    /* 1100010001100111 -> 0011101110011000 */
    { 21, 30632, 17 },    /* 11000100001010111 -> 00111011110101000 */
    { -22, 3827, 14 },    /* 11000100001100 -> 00111011110011 */
    { -11, 7656, 15 },    /* 110001000010111 -> 001110111101000 */
    { -10, 7629, 15 },    /* 110001000110010 -> 001110111001101 */
    { -21, 61231, 18 },   /* 110001000011010000 -> 001110111100101111 */
    { 11, 7621, 15 },     /* 110001000111010 -> 001110111000101 */
    { 12, 7652, 15 },     /* 110001000011011 -> 001110111100100 */
    { 13, 7659, 15 },     /* 110001000010100 -> 001110111101011 */
    { 16, 15314, 16 },    /* 1100010000101101 -> 0011101111010010 */
    { 19, 15261, 16 },    /* 1100010001100010 -> 0011101110011101 */
    { 18, 15257, 16 },    /* 1100010001100110 -> 0011101110011001 */
    { -12, 15240, 16 },   /* 1100010001110111 -> 0011101110001000 */
    { -15, 30483, 17 },   /* 11000100011101100 -> 00111011100010011 */
    { -14, 15317, 16 },   /* 1100010000101010 -> 0011101111010101 */
    { -13, 15263, 16 },   /* 1100010001100000 -> 0011101110011111 */
    { 17, 15306, 16 },    /* 1100010000110101 -> 0011101111001010 */
    { 15, 15262, 16 },    /* 1100010001100001 -> 0011101110011110 */
    { 20, 15315, 16 },    /* 1100010000101100 -> 0011101111010011 */
    { -16, 30520, 17 },   /* 11000100011000111 -> 00111011100111000 */
    { -17, 60964, 18 },   /* 110001000111011011 -> 001110111000100100 */
    { -19, 30633, 17 },   /* 11000100001010110 -> 00111011110101001 */
    { -20, 30614, 17 },   /* 11000100001101001 -> 00111011110010110 */
    { -18, 60965, 18 },   /* 110001000111011010 -> 001110111000100101 */
    { -29, 244172, 20 },  /* 11000100011000110011 -> 00111011100111001100 */
    { -31, 61230, 18 },   /* 110001000011010001 -> 001110111100101110 */
    { 31, 61042, 18 },    /* 110001000110001101 -> 001110111001110010 */
    { 30, 976700, 22 },   /* 1100010001100011000011 -> 0011101110011100111100 */
    { 28, 976701, 22 },   /* 1100010001100011000010 -> 0011101110011100111101 */
    { -25, 488349, 21 },  /* 110001000110001100010 -> 001110111001110011101 */
    { -26, 3906770, 24 }, /* 110001000110001100101101 -> 001110111001110011010010 */
    { -30, 976702, 22 },  /* 1100010001100011000001 -> 0011101110011100111110 */
    { -27, 976703, 22 },  /* 1100010001100011000000 -> 0011101110011100111111 */
    { 23, 488348, 21 },   /* 110001000110001100011 -> 001110111001110011100 */
    { 25, 1953384, 23 },  /* 11000100011000110010111 -> 00111011100111001101000 */
    { 26, 1953390, 23 },  /* 11000100011000110010001 -> 00111011100111001101110 */
    { -28, 976693, 22 },  /* 1100010001100011001010 -> 0011101110011100110101 */
    { 24, 3906771, 24 },  /* 110001000110001100101100 -> 001110111001110011010011 */
    { -23, 976694, 22 },  /* 1100010001100011001001 -> 0011101110011100110110 */
    { -24, 1953391, 23 }, /* 11000100011000110010000 -> 00111011100111001101111 */
    { 0, 1, 1 },         /* 0 -> 1 */
    { 4, 29, 6 },        /* 100010 -> 011101 */
    { 2, 5, 4 },         /* 1010 -> 0101 */
    { -1, 1, 3 },        /* 110 -> 001 */
    { -3, 12, 5 },       /* 10011 -> 01100 */
    { 7, 252, 9 },       /* 100000011 -> 011111100 */
    { -4, 28, 6 },       /* 100011 -> 011100 */
    { -2, 4, 4 },        /* 1011 -> 0100 */
    { -6, 125, 8 },      /* 10000010 -> 01111101 */
    { -5, 60, 7 },       /* 1000011 -> 0111100 */
    { 5, 61, 7 },        /* 1000010 -> 0111101 */
    { -7, 253, 9 },      /* 100000010 -> 011111101 */
    { 6, 124, 8 },       /* 10000011 -> 01111100 */
    { 9, 1023, 11 },     /* 10000000000 -> 01111111111 */
    { -8, 510, 10 },     /* 1000000001 -> 0111111110 */
    { 8, 509, 10 },      /* 1000000010 -> 0111111101 */
    { -9, 2033, 12 },    /* 100000001110 -> 011111110001 */
    { 11, 8128, 14 },    /* 10000000111111 -> 01111111000000 */
    { 10, 4065, 13 },    /* 1000000011110 -> 0111111100001 */
    { -10, 4071, 13 },   /* 1000000011000 -> 0111111100111 */
    { -11, 8176, 14 },   /* 10000000001111 -> 01111111110000 */
    { 24, 4069, 13 },    /* 1000000011010 -> 0111111100101 */
    { 12, 8177, 14 },    /* 10000000001110 -> 01111111110001 */
    { 15, 16360, 15 },   /* 100000000010111 -> 011111111101000 */
    { 14, 16280, 15 },   /* 100000001100111 -> 011111110011000 */
    { -12, 16274, 15 },  /* 100000001101101 -> 011111110010010 */
    { 21, 32547, 16 },   /* 1000000011011100 -> 0111111100100011 */
    { 31, 32518, 16 },   /* 1000000011111001 -> 0111111100000110 */
    { -24, 4089, 13 },   /* 1000000000110 -> 0111111111001 */
    { 16, 16365, 15 },   /* 100000000010010 -> 011111111101101 */
    { 19, 32545, 16 },   /* 1000000011011110 -> 0111111100100001 */
    { 25, 32565, 16 },   /* 1000000011001010 -> 0111111100110101 */
    { 26, 65125, 17 },   /* 10000000110011010 -> 01111111001100101 */
    { 22, 16367, 15 },   /* 100000000010000 -> 011111111101111 */
    { 20, 16364, 15 },   /* 100000000010011 -> 011111111101100 */
    { 18, 32519, 16 },   /* 1000000011111000 -> 0111111100000111 */
    { -20, 65092, 17 },  /* 10000000110111011 -> 01111111001000100 */
    { -18, 32724, 16 },  /* 1000000000101011 -> 0111111111010100 */
    { -17, 32567, 16 },  /* 1000000011001000 -> 0111111100110111 */
    { -16, 32564, 16 },  /* 1000000011001011 -> 0111111100110100 */
    { -19, 32732, 16 },  /* 1000000000100011 -> 0111111111011100 */
    { -14, 32544, 16 },  /* 1000000011011111 -> 0111111100100000 */
    { 13, 16258, 15 },   /* 100000001111101 -> 011111110000010 */
    { 23, 16275, 15 },   /* 100000001101100 -> 011111110010011 */
    { -15, 32563, 16 },  /* 1000000011001100 -> 0111111100110011 */
    { -22, 65450, 17 },  /* 10000000001010101 -> 01111111110101010 */
    { -21, 65124, 17 },  /* 10000000110011011 -> 01111111001100100 */
    { -23, 130187, 18 }, /* 100000001101110100 -> 011111110010001011 */
    { 17, 16363, 15 },   /* 100000000010100 -> 011111111101011 */
    { -31, 65132, 17 },  /* 10000000110010011 -> 01111111001101100 */
    { 30, 260373, 19 },  /* 1000000011011101010 -> 0111111100100010101 */
    { 28, 65467, 17 },   /* 10000000001000100 -> 01111111110111011 */
    { -30, 261866, 19 }, /* 1000000000100010101 -> 0111111111011101010 */
    { -29, 261865, 19 }, /* 1000000000100010110 -> 0111111111011101001 */
    { -27, 523734, 20 }, /* 10000000001000101001 -> 01111111110111010110 */
    { -13, 16361, 15 },  /* 100000000010110 -> 011111111101001 */
    { 27, 65133, 17 },   /* 10000000110010010 -> 01111111001101101 */
    { 29, 261864, 19 },  /* 1000000000100010111 -> 0111111111011101000 */
    { -26, 260372, 19 }, /* 1000000011011101011 -> 0111111100100010100 */
    { -25, 65451, 17 },  /* 10000000001010100 -> 01111111110101011 */
    { -28, 523735, 20 }  /* 10000000001000101000 -> 01111111110111010111 */
};

const float ivas_mp_basis_matrix_R1[MP_MAX_NB_COEFFS][MP_COLS_R1] = {
+5 −0
Original line number Diff line number Diff line
@@ -196,6 +196,11 @@ extern const int16_t ivas_pca_offset_index2[2692];
extern const int16_t ivas_pca_offset_n2[IVAS_PCA_N1];

#ifdef IVAS_SBA_MP_768KBPS

/*----------------------------------------------------------------------*
 * MP ROM tables
 *-----------------------------------------------------------------------*/

extern const int16_t ivas_mp_dirac_band_group_16kHz[MP_MAX_NBANDS + 1];
extern const int16_t ivas_mp_dirac_band_group_32kHz[MP_MAX_NBANDS + 1];
extern const int16_t ivas_mp_dirac_band_group_48kHz[MP_MAX_NBANDS + 1];
+4 −3
Original line number Diff line number Diff line
@@ -559,7 +559,7 @@ static void ivas_mp_parameters_dec(
            for ( b = 0; b < hConfig->nb_subbands; b++ )
            {
                int16_t q_idx = hQMetadata->q_reference_gain[ch][subframe_idx][b];
                assert( ( q_idx >= 0 ) && ( q_idx <= MP_Q_GAIN_TABLE_SIZE - 1 ) );
                //assert( ( q_idx >= 0 ) && ( q_idx <= MP_Q_GAIN_TABLE_SIZE - 1 ) );

                hMp->synth_reference_gain[ch][subframe_idx + nb_subframe_delay][b] = (float) hConfig->q_gain_table[q_idx];
            }
@@ -1093,7 +1093,7 @@ static void ivas_mp_freq_components_recovery(
        {
            for ( b = 0; b < hMp->hDecorr->decorr_start_band; b++ )
            {
                for ( i = hConfig->band_grouping[b]; i < hConfig->band_grouping[b]; i++ )
                for ( i = hConfig->band_grouping[b]; i < hConfig->band_grouping[b + 1]; i++ )
                {
                    cldfb_real_buffer[ch][ts][i] = cldfb_real_buffer[hMp->hDecorr->decorr_table[0]][ts][i];
                    cldfb_imag_buffer[ch][ts][i] = cldfb_imag_buffer[hMp->hDecorr->decorr_table[0]][ts][i];
@@ -1105,6 +1105,7 @@ static void ivas_mp_freq_components_recovery(
    if ( is_transient )
    {
        /* recovery transient part later! */
        assert( is_transient == 0 || is_transient == 1 );
    }

    return;
@@ -1147,7 +1148,7 @@ static void ivas_mp_synthesis_high_order_ambisonics_components_dec_ts(
    }

    ivas_mp_freq_components_recovery( hMp, cldfb_real_buffer, cldfb_imag_buffer, tmp_cldfb_real_buffer, tmp_cldfb_imag_buffer,
                                         mat_ambi_coefs, 0 /* consider recovery transient part later! */ );
                                      mat_ambi_coefs, 0 );
      
    
    pop_wmops();
Loading