Loading lib_com/cldfb.c +60 −2 Original line number Diff line number Diff line Loading @@ -1422,6 +1422,64 @@ ivas_error openCldfb_ivas( return IVAS_ERR_OK; } #ifdef IVAS_FLOAT_FIXED ivas_error openCldfb_ivas_fx( HANDLE_CLDFB_FILTER_BANK *h_cldfb, /* i/o: filter bank handle */ CLDFB_TYPE type, /* i : analysis or synthesis */ const Word32 sampling_rate, /* i : sampling rate */ CLDFB_PROTOTYPE prototype /* i : CLDFB version (1.25ms/5ms delay) */ ) { HANDLE_CLDFB_FILTER_BANK hs; Word16 buf_len; IF ( ( hs = (HANDLE_CLDFB_FILTER_BANK) malloc( sizeof( CLDFB_FILTER_BANK ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for CLDFB" ); } hs->type = type; move16(); hs->prototype = prototype; move16(); configureCldfb_ivas( hs, sampling_rate ); hs->memory_flt = NULL; hs->memory_length = 0; move16(); IF ( EQ_32( type, CLDFB_ANALYSIS ) ) { buf_len = sub( hs->p_filter_length, hs->no_channels ); } ELSE { buf_len = hs->p_filter_length; move16(); } IF ( ( hs->cldfb_state_fx = (Word16 *) malloc( buf_len * sizeof( Word16 ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for CLDFB" ); } set_s(hs->cldfb_state_fx, 0, buf_len); /* TODO: remove the floating point dependency */ IF ( ( hs->cldfb_state = (float *) malloc( buf_len * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for CLDFB" ); } set_f( hs->cldfb_state, 0.0f, buf_len ); *h_cldfb = hs; move16(); return IVAS_ERR_OK; } #endif /*-------------------------------------------------------------------* * resampleCldfb_ivas() Loading Loading @@ -1570,12 +1628,12 @@ void deleteCldfb_ivas( { HANDLE_CLDFB_FILTER_BANK hs = *h_cldfb; if ( h_cldfb == NULL || *h_cldfb == NULL ) IF ( h_cldfb == NULL || *h_cldfb == NULL ) { return; } if ( hs->cldfb_state ) IF ( hs->cldfb_state ) { free( hs->cldfb_state ); } Loading lib_com/fd_cng_com.c +1 −1 Original line number Diff line number Diff line Loading @@ -155,7 +155,7 @@ void deleteFdCngCom_flt( { HANDLE_FD_CNG_COM hsCom = *hFdCngCom; if ( hsCom != NULL ) IF ( hsCom != NULL ) { free( hsCom ); *hFdCngCom = NULL; Loading lib_com/igf_base.c +341 −0 Original line number Diff line number Diff line Loading @@ -357,6 +357,347 @@ int16_t IGF_MapBitRateToIndex_flt( return bitRateIndex; } #ifdef IVAS_FLOAT_FIXED Word16 IGF_MapBitRateToIndex( const Word32 brate, /* i : bitrate */ const Word16 bwidth, /* i : audio bandwidth */ const Word16 element_mode, /* i : element mode */ const Word16 rf_mode /* i : flag to signal the RF mode */ ) { Word16 bitRateIndex = IGF_BITRATE_UNKNOWN; move16(); /* Stereo/CPE modes */ IF ( GT_16( element_mode, IVAS_SCE ) ) { SWITCH ( bwidth ) { case IGF_MODE_WB: IF ( LE_32( brate, IVAS_13k2 ) && EQ_16( rf_mode, 1 ) ) { bitRateIndex = IGF_BITRATE_RF_WB_13200; move16(); } ELSE IF ( LE_32( brate, ACELP_9k60 ) ) { bitRateIndex = IGF_BITRATE_WB_13200_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_13k2 ) ) { bitRateIndex = IGF_BITRATE_WB_16400_CPE; move16(); } BREAK; case IGF_MODE_SWB: /* DFT and TD Stereo bitrates */ IF ( LE_32( brate, ACELP_9k60 ) ) { bitRateIndex = IGF_BITRATE_SWB_13200_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_13k2 ) ) { IF ( EQ_16( rf_mode, 1 ) ) { bitRateIndex = IGF_BITRATE_RF_SWB_13200; move16(); } ELSE { bitRateIndex = IGF_BITRATE_SWB_16400_CPE; move16(); } } ELSE IF ( LE_32( brate, IVAS_16k4 ) ) { bitRateIndex = IGF_BITRATE_SWB_24400_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_24k4 ) ) { bitRateIndex = IGF_BITRATE_SWB_32000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_32k ) ) { bitRateIndex = IGF_BITRATE_SWB_32000; move16(); } /* MDCT Stereo bitrates */ ELSE IF ( LE_32( brate, IVAS_48k ) ) { bitRateIndex = IGF_BITRATE_SWB_48000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_64k ) ) { bitRateIndex = IGF_BITRATE_SWB_64000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_80k ) ) { bitRateIndex = IGF_BITRATE_SWB_80000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_96k ) ) { bitRateIndex = IGF_BITRATE_SWB_96000_CPE; move16(); } BREAK; case IGF_MODE_FB: /* DFT and TD Stereo bitrates */ IF ( LE_32( brate, IVAS_16k4 ) ) { bitRateIndex = IGF_BITRATE_FB_24400_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_24k4 ) ) { bitRateIndex = IGF_BITRATE_FB_32000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_32k ) ) { bitRateIndex = IGF_BITRATE_FB_32000; move16(); } /* MDCT Stereo bitrates */ ELSE IF ( LE_32( brate, IVAS_48k ) ) { bitRateIndex = IGF_BITRATE_FB_48000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_64k ) ) { bitRateIndex = IGF_BITRATE_FB_64000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_80k ) ) { bitRateIndex = IGF_BITRATE_FB_80000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_96k ) ) { bitRateIndex = IGF_BITRATE_FB_96000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_128k ) ) { bitRateIndex = IGF_BITRATE_FB_128000_CPE; move16(); } BREAK; } } /* SCE modes: use tunings done for DFT stereo bitrates also for according SCE bitrates, otherwise same config as mono modes */ ELSE IF ( EQ_16( element_mode, IVAS_SCE ) ) { SWITCH ( bwidth ) { case IGF_MODE_WB: IF ( LE_32( brate, IVAS_13k2 ) && EQ_16( rf_mode, 1 ) ) { bitRateIndex = IGF_BITRATE_RF_WB_13200; move16(); } ELSE IF ( LE_32( brate, ACELP_9k60 ) ) /* bitrates 8000 and 9600 */ { bitRateIndex = IGF_BITRATE_WB_9600; move16(); } BREAK; case IGF_MODE_SWB: IF ( LE_32( brate, ACELP_9k60 ) ) { bitRateIndex = IGF_BITRATE_SWB_13200_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_13k2 ) ) { IF ( EQ_16( rf_mode, 1 ) ) { bitRateIndex = IGF_BITRATE_RF_SWB_13200; move16(); } ELSE { bitRateIndex = IGF_BITRATE_SWB_16400_CPE; move16(); } } ELSE IF ( LE_32( brate, IVAS_16k4 ) ) { bitRateIndex = IGF_BITRATE_SWB_24400_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_24k4 ) ) { bitRateIndex = IGF_BITRATE_SWB_32000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_32k ) ) { bitRateIndex = IGF_BITRATE_SWB_32000; move16(); } ELSE IF ( LE_32( brate, IVAS_48k ) ) { bitRateIndex = IGF_BITRATE_SWB_48000; move16(); } ELSE IF ( LE_32( brate, IVAS_64k ) ) { bitRateIndex = IGF_BITRATE_SWB_64000; move16(); } BREAK; case IGF_MODE_FB: IF ( LE_32( brate, IVAS_16k4 ) ) { bitRateIndex = IGF_BITRATE_FB_24400_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_24k4 ) ) { bitRateIndex = IGF_BITRATE_FB_32000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_32k ) ) { bitRateIndex = IGF_BITRATE_FB_32000; move16(); } ELSE IF ( LE_32( brate, IVAS_48k ) ) { bitRateIndex = IGF_BITRATE_FB_48000; move16(); } ELSE IF ( LE_32( brate, IVAS_64k ) ) { bitRateIndex = IGF_BITRATE_FB_64000; } ELSE IF ( LE_32( brate, IVAS_96k ) ) { bitRateIndex = IGF_BITRATE_FB_96000; move16(); } ELSE IF ( LE_32( brate, IVAS_128k ) ) { bitRateIndex = IGF_BITRATE_FB_128000; move16(); } BREAK; } } /* EVS mono */ ELSE { SWITCH ( bwidth ) { case IGF_MODE_WB: IF ( LE_32( brate, ACELP_13k20 ) && EQ_16( rf_mode, 1 ) ) { bitRateIndex = IGF_BITRATE_RF_WB_13200; move16(); } ELSE IF ( LE_32( brate, ACELP_9k60 ) ) /* bitrates 8000 and 9600 */ { bitRateIndex = IGF_BITRATE_WB_9600; move16(); } BREAK; case IGF_MODE_SWB: IF ( LE_32( brate, ACELP_9k60 ) ) { bitRateIndex = IGF_BITRATE_SWB_9600; move16(); } ELSE IF ( LE_32( brate, ACELP_13k20 ) ) { IF ( EQ_16( rf_mode, 1 ) ) { bitRateIndex = IGF_BITRATE_RF_SWB_13200; move16(); } ELSE { bitRateIndex = IGF_BITRATE_SWB_13200; move16(); } } ELSE IF ( LE_32( brate, ACELP_16k40 ) ) { bitRateIndex = IGF_BITRATE_SWB_16400; move16(); } ELSE IF ( LE_32( brate, ACELP_24k40 ) ) { bitRateIndex = IGF_BITRATE_SWB_24400; move16(); } ELSE IF ( LE_32( brate, ACELP_32k ) ) { bitRateIndex = IGF_BITRATE_SWB_32000; move16(); } ELSE IF ( LE_32( brate, ACELP_48k ) ) { bitRateIndex = IGF_BITRATE_SWB_48000; move16(); } ELSE IF ( LE_32( brate, ACELP_64k ) ) { bitRateIndex = IGF_BITRATE_SWB_64000; move16(); } BREAK; case IGF_MODE_FB: IF ( LE_32( brate, ACELP_16k40 ) ) { bitRateIndex = IGF_BITRATE_FB_16400; move16(); } ELSE IF ( LE_32( brate, ACELP_24k40 ) ) { bitRateIndex = IGF_BITRATE_FB_24400; move16(); } ELSE IF ( LE_32( brate, ACELP_32k ) ) { bitRateIndex = IGF_BITRATE_FB_32000; move16(); } ELSE IF ( LE_32( brate, ACELP_48k ) ) { bitRateIndex = IGF_BITRATE_FB_48000; move16(); } ELSE IF ( LE_32( brate, ACELP_64k ) ) { bitRateIndex = IGF_BITRATE_FB_64000; move16(); } ELSE IF ( LE_32( brate, HQ_96k ) ) { bitRateIndex = IGF_BITRATE_FB_96000; move16(); } ELSE IF ( LE_32( brate, HQ_128k ) ) { bitRateIndex = IGF_BITRATE_FB_128000; move16(); } BREAK; } } return bitRateIndex; } #endif /*---------------------------------------------------------------------* * IGF_gridSetUp_flt() Loading lib_com/igf_base_fx.c +3 −3 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ static Word16 IGF_MapBitRateToIndex( /* Stereo/CPE modes */ IF(GT_16(element_mode, IVAS_SCE)) { switch (bwidth) SWITCH (bwidth) { case IGF_MODE_WB: IF(LE_32(brate, IVAS_13k2) && EQ_16(rf_mode, 1)) Loading Loading @@ -176,7 +176,7 @@ static Word16 IGF_MapBitRateToIndex( /* SCE modes: use tunings done for DFT stereo bitrates also for according SCE bitrates, otherwise same config as mono modes */ ELSE IF(EQ_16(element_mode, IVAS_SCE)) { switch (bwidth) SWITCH (bwidth) { case IGF_MODE_WB: IF(LE_32(brate, IVAS_13k2) && EQ_16(rf_mode, 1) ) Loading Loading @@ -277,7 +277,7 @@ static Word16 IGF_MapBitRateToIndex( /* EVS mono */ else { switch (bwidth) SWITCH (bwidth) { case IGF_MODE_WB: IF(LE_32(brate, ACELP_13k20) && EQ_16(rf_mode, 1)) Loading lib_com/ivas_ism_com.c +378 −9 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
lib_com/cldfb.c +60 −2 Original line number Diff line number Diff line Loading @@ -1422,6 +1422,64 @@ ivas_error openCldfb_ivas( return IVAS_ERR_OK; } #ifdef IVAS_FLOAT_FIXED ivas_error openCldfb_ivas_fx( HANDLE_CLDFB_FILTER_BANK *h_cldfb, /* i/o: filter bank handle */ CLDFB_TYPE type, /* i : analysis or synthesis */ const Word32 sampling_rate, /* i : sampling rate */ CLDFB_PROTOTYPE prototype /* i : CLDFB version (1.25ms/5ms delay) */ ) { HANDLE_CLDFB_FILTER_BANK hs; Word16 buf_len; IF ( ( hs = (HANDLE_CLDFB_FILTER_BANK) malloc( sizeof( CLDFB_FILTER_BANK ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for CLDFB" ); } hs->type = type; move16(); hs->prototype = prototype; move16(); configureCldfb_ivas( hs, sampling_rate ); hs->memory_flt = NULL; hs->memory_length = 0; move16(); IF ( EQ_32( type, CLDFB_ANALYSIS ) ) { buf_len = sub( hs->p_filter_length, hs->no_channels ); } ELSE { buf_len = hs->p_filter_length; move16(); } IF ( ( hs->cldfb_state_fx = (Word16 *) malloc( buf_len * sizeof( Word16 ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for CLDFB" ); } set_s(hs->cldfb_state_fx, 0, buf_len); /* TODO: remove the floating point dependency */ IF ( ( hs->cldfb_state = (float *) malloc( buf_len * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for CLDFB" ); } set_f( hs->cldfb_state, 0.0f, buf_len ); *h_cldfb = hs; move16(); return IVAS_ERR_OK; } #endif /*-------------------------------------------------------------------* * resampleCldfb_ivas() Loading Loading @@ -1570,12 +1628,12 @@ void deleteCldfb_ivas( { HANDLE_CLDFB_FILTER_BANK hs = *h_cldfb; if ( h_cldfb == NULL || *h_cldfb == NULL ) IF ( h_cldfb == NULL || *h_cldfb == NULL ) { return; } if ( hs->cldfb_state ) IF ( hs->cldfb_state ) { free( hs->cldfb_state ); } Loading
lib_com/fd_cng_com.c +1 −1 Original line number Diff line number Diff line Loading @@ -155,7 +155,7 @@ void deleteFdCngCom_flt( { HANDLE_FD_CNG_COM hsCom = *hFdCngCom; if ( hsCom != NULL ) IF ( hsCom != NULL ) { free( hsCom ); *hFdCngCom = NULL; Loading
lib_com/igf_base.c +341 −0 Original line number Diff line number Diff line Loading @@ -357,6 +357,347 @@ int16_t IGF_MapBitRateToIndex_flt( return bitRateIndex; } #ifdef IVAS_FLOAT_FIXED Word16 IGF_MapBitRateToIndex( const Word32 brate, /* i : bitrate */ const Word16 bwidth, /* i : audio bandwidth */ const Word16 element_mode, /* i : element mode */ const Word16 rf_mode /* i : flag to signal the RF mode */ ) { Word16 bitRateIndex = IGF_BITRATE_UNKNOWN; move16(); /* Stereo/CPE modes */ IF ( GT_16( element_mode, IVAS_SCE ) ) { SWITCH ( bwidth ) { case IGF_MODE_WB: IF ( LE_32( brate, IVAS_13k2 ) && EQ_16( rf_mode, 1 ) ) { bitRateIndex = IGF_BITRATE_RF_WB_13200; move16(); } ELSE IF ( LE_32( brate, ACELP_9k60 ) ) { bitRateIndex = IGF_BITRATE_WB_13200_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_13k2 ) ) { bitRateIndex = IGF_BITRATE_WB_16400_CPE; move16(); } BREAK; case IGF_MODE_SWB: /* DFT and TD Stereo bitrates */ IF ( LE_32( brate, ACELP_9k60 ) ) { bitRateIndex = IGF_BITRATE_SWB_13200_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_13k2 ) ) { IF ( EQ_16( rf_mode, 1 ) ) { bitRateIndex = IGF_BITRATE_RF_SWB_13200; move16(); } ELSE { bitRateIndex = IGF_BITRATE_SWB_16400_CPE; move16(); } } ELSE IF ( LE_32( brate, IVAS_16k4 ) ) { bitRateIndex = IGF_BITRATE_SWB_24400_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_24k4 ) ) { bitRateIndex = IGF_BITRATE_SWB_32000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_32k ) ) { bitRateIndex = IGF_BITRATE_SWB_32000; move16(); } /* MDCT Stereo bitrates */ ELSE IF ( LE_32( brate, IVAS_48k ) ) { bitRateIndex = IGF_BITRATE_SWB_48000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_64k ) ) { bitRateIndex = IGF_BITRATE_SWB_64000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_80k ) ) { bitRateIndex = IGF_BITRATE_SWB_80000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_96k ) ) { bitRateIndex = IGF_BITRATE_SWB_96000_CPE; move16(); } BREAK; case IGF_MODE_FB: /* DFT and TD Stereo bitrates */ IF ( LE_32( brate, IVAS_16k4 ) ) { bitRateIndex = IGF_BITRATE_FB_24400_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_24k4 ) ) { bitRateIndex = IGF_BITRATE_FB_32000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_32k ) ) { bitRateIndex = IGF_BITRATE_FB_32000; move16(); } /* MDCT Stereo bitrates */ ELSE IF ( LE_32( brate, IVAS_48k ) ) { bitRateIndex = IGF_BITRATE_FB_48000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_64k ) ) { bitRateIndex = IGF_BITRATE_FB_64000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_80k ) ) { bitRateIndex = IGF_BITRATE_FB_80000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_96k ) ) { bitRateIndex = IGF_BITRATE_FB_96000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_128k ) ) { bitRateIndex = IGF_BITRATE_FB_128000_CPE; move16(); } BREAK; } } /* SCE modes: use tunings done for DFT stereo bitrates also for according SCE bitrates, otherwise same config as mono modes */ ELSE IF ( EQ_16( element_mode, IVAS_SCE ) ) { SWITCH ( bwidth ) { case IGF_MODE_WB: IF ( LE_32( brate, IVAS_13k2 ) && EQ_16( rf_mode, 1 ) ) { bitRateIndex = IGF_BITRATE_RF_WB_13200; move16(); } ELSE IF ( LE_32( brate, ACELP_9k60 ) ) /* bitrates 8000 and 9600 */ { bitRateIndex = IGF_BITRATE_WB_9600; move16(); } BREAK; case IGF_MODE_SWB: IF ( LE_32( brate, ACELP_9k60 ) ) { bitRateIndex = IGF_BITRATE_SWB_13200_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_13k2 ) ) { IF ( EQ_16( rf_mode, 1 ) ) { bitRateIndex = IGF_BITRATE_RF_SWB_13200; move16(); } ELSE { bitRateIndex = IGF_BITRATE_SWB_16400_CPE; move16(); } } ELSE IF ( LE_32( brate, IVAS_16k4 ) ) { bitRateIndex = IGF_BITRATE_SWB_24400_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_24k4 ) ) { bitRateIndex = IGF_BITRATE_SWB_32000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_32k ) ) { bitRateIndex = IGF_BITRATE_SWB_32000; move16(); } ELSE IF ( LE_32( brate, IVAS_48k ) ) { bitRateIndex = IGF_BITRATE_SWB_48000; move16(); } ELSE IF ( LE_32( brate, IVAS_64k ) ) { bitRateIndex = IGF_BITRATE_SWB_64000; move16(); } BREAK; case IGF_MODE_FB: IF ( LE_32( brate, IVAS_16k4 ) ) { bitRateIndex = IGF_BITRATE_FB_24400_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_24k4 ) ) { bitRateIndex = IGF_BITRATE_FB_32000_CPE; move16(); } ELSE IF ( LE_32( brate, IVAS_32k ) ) { bitRateIndex = IGF_BITRATE_FB_32000; move16(); } ELSE IF ( LE_32( brate, IVAS_48k ) ) { bitRateIndex = IGF_BITRATE_FB_48000; move16(); } ELSE IF ( LE_32( brate, IVAS_64k ) ) { bitRateIndex = IGF_BITRATE_FB_64000; } ELSE IF ( LE_32( brate, IVAS_96k ) ) { bitRateIndex = IGF_BITRATE_FB_96000; move16(); } ELSE IF ( LE_32( brate, IVAS_128k ) ) { bitRateIndex = IGF_BITRATE_FB_128000; move16(); } BREAK; } } /* EVS mono */ ELSE { SWITCH ( bwidth ) { case IGF_MODE_WB: IF ( LE_32( brate, ACELP_13k20 ) && EQ_16( rf_mode, 1 ) ) { bitRateIndex = IGF_BITRATE_RF_WB_13200; move16(); } ELSE IF ( LE_32( brate, ACELP_9k60 ) ) /* bitrates 8000 and 9600 */ { bitRateIndex = IGF_BITRATE_WB_9600; move16(); } BREAK; case IGF_MODE_SWB: IF ( LE_32( brate, ACELP_9k60 ) ) { bitRateIndex = IGF_BITRATE_SWB_9600; move16(); } ELSE IF ( LE_32( brate, ACELP_13k20 ) ) { IF ( EQ_16( rf_mode, 1 ) ) { bitRateIndex = IGF_BITRATE_RF_SWB_13200; move16(); } ELSE { bitRateIndex = IGF_BITRATE_SWB_13200; move16(); } } ELSE IF ( LE_32( brate, ACELP_16k40 ) ) { bitRateIndex = IGF_BITRATE_SWB_16400; move16(); } ELSE IF ( LE_32( brate, ACELP_24k40 ) ) { bitRateIndex = IGF_BITRATE_SWB_24400; move16(); } ELSE IF ( LE_32( brate, ACELP_32k ) ) { bitRateIndex = IGF_BITRATE_SWB_32000; move16(); } ELSE IF ( LE_32( brate, ACELP_48k ) ) { bitRateIndex = IGF_BITRATE_SWB_48000; move16(); } ELSE IF ( LE_32( brate, ACELP_64k ) ) { bitRateIndex = IGF_BITRATE_SWB_64000; move16(); } BREAK; case IGF_MODE_FB: IF ( LE_32( brate, ACELP_16k40 ) ) { bitRateIndex = IGF_BITRATE_FB_16400; move16(); } ELSE IF ( LE_32( brate, ACELP_24k40 ) ) { bitRateIndex = IGF_BITRATE_FB_24400; move16(); } ELSE IF ( LE_32( brate, ACELP_32k ) ) { bitRateIndex = IGF_BITRATE_FB_32000; move16(); } ELSE IF ( LE_32( brate, ACELP_48k ) ) { bitRateIndex = IGF_BITRATE_FB_48000; move16(); } ELSE IF ( LE_32( brate, ACELP_64k ) ) { bitRateIndex = IGF_BITRATE_FB_64000; move16(); } ELSE IF ( LE_32( brate, HQ_96k ) ) { bitRateIndex = IGF_BITRATE_FB_96000; move16(); } ELSE IF ( LE_32( brate, HQ_128k ) ) { bitRateIndex = IGF_BITRATE_FB_128000; move16(); } BREAK; } } return bitRateIndex; } #endif /*---------------------------------------------------------------------* * IGF_gridSetUp_flt() Loading
lib_com/igf_base_fx.c +3 −3 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ static Word16 IGF_MapBitRateToIndex( /* Stereo/CPE modes */ IF(GT_16(element_mode, IVAS_SCE)) { switch (bwidth) SWITCH (bwidth) { case IGF_MODE_WB: IF(LE_32(brate, IVAS_13k2) && EQ_16(rf_mode, 1)) Loading Loading @@ -176,7 +176,7 @@ static Word16 IGF_MapBitRateToIndex( /* SCE modes: use tunings done for DFT stereo bitrates also for according SCE bitrates, otherwise same config as mono modes */ ELSE IF(EQ_16(element_mode, IVAS_SCE)) { switch (bwidth) SWITCH (bwidth) { case IGF_MODE_WB: IF(LE_32(brate, IVAS_13k2) && EQ_16(rf_mode, 1) ) Loading Loading @@ -277,7 +277,7 @@ static Word16 IGF_MapBitRateToIndex( /* EVS mono */ else { switch (bwidth) SWITCH (bwidth) { case IGF_MODE_WB: IF(LE_32(brate, ACELP_13k20) && EQ_16(rf_mode, 1)) Loading
lib_com/ivas_ism_com.c +378 −9 File changed.Preview size limit exceeded, changes collapsed. Show changes