Commit e2fc848f authored by Michael Sturm's avatar Michael Sturm
Browse files

Unifies IGF_gridSetUp function.

parent cdbc825b
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
@@ -381,6 +381,7 @@ Word16 IGF_MapBitRateToIndex(
    return bitRateIndex; /*Q0*/
}

#ifndef FIX_2346_DUPLICATED_IGF_FUNCTIONS
/**********************************************************************/ /*
IGF grid setup
**************************************************************************/
@@ -890,6 +891,12 @@ static void IGF_gridSetUp( H_IGF_GRID hGrid, /**< ou
    }
}
static void IGF_gridSetUp_ivas_fx(
#else
/**********************************************************************/ /*
IGF grid setup
**************************************************************************/
static void IGF_gridSetUp(
#endif
    H_IGF_GRID hGrid,        /* o  : IGF grid handle                                                    */
    Word16 bitRateIndex,     /* i  : IGF bitrate index                                                  */
    const Word32 sampleRate, /* i  : sample rate                                                        */
@@ -991,6 +998,10 @@ static void IGF_gridSetUp_ivas_fx(
    move16();
    hGrid->infoGranuleLen = frameLength; /*Q0*/
    move16();
#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS
    hGrid->infoTransFac = transFac; /*Q14*/
    move16();
#endif
    hGrid->sfbWrap[0] = 0;
    move16();
    hGrid->tile[0] = hGrid->startLine; /*Q0*/
@@ -1368,28 +1379,55 @@ Word16 IGFCommonFuncsIGFConfiguration_ivas_fx(

        /* set up regular IGF grid for TCX 20  (transfac = 1.f) */
        hGrid = &hIGFInfo->grid[IGF_GRID_LB_NORM];
#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS
        IGF_gridSetUp( hGrid,
                       hIGFInfo->bitRateIndex,
                       sampleRate,
                       frameLength,
                       16384 /*1 Q14*/,
                       igfMinFq );
#else
        IGF_gridSetUp_ivas_fx( hGrid,
                               hIGFInfo->bitRateIndex,
                               sampleRate,
                               frameLength,
                               16384 /*1 Q14*/,
                               igfMinFq );
#endif
        /* set up IGF grid for CELP->TCX 20 transitions (transfac = 1.25) */
        hGrid = &hIGFInfo->grid[IGF_GRID_LB_TRAN];
#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS
        IGF_gridSetUp( hGrid,
                       hIGFInfo->bitRateIndex,
                       sampleRate,
                       frameLength,
                       20480 /*1.25 Q14*/,
                       igfMinFq );
#else
        IGF_gridSetUp_ivas_fx( hGrid,
                               hIGFInfo->bitRateIndex,
                               sampleRate,
                               frameLength,
                               20480 /*1.25 Q14*/,
                               igfMinFq );
#endif
        /* set up IGF grid for TCX 10 (transfac = 0.5) */
        hGrid = &hIGFInfo->grid[IGF_GRID_LB_SHORT];
#ifdef FIX_2346_DUPLICATED_IGF_FUNCTIONS
        IGF_gridSetUp( hGrid,
                       hIGFInfo->bitRateIndex,
                       sampleRate,
                       frameLength,
                       8192 /*0.50f Q14*/,
                       igfMinFq );
#else
        IGF_gridSetUp_ivas_fx( hGrid,
                               hIGFInfo->bitRateIndex,
                               sampleRate,
                               frameLength,
                               8192 /*0.50f Q14*/,
                               igfMinFq );
#endif
    }

    return retValue; /*Q0*/