Loading lib_com/options.h 100644 → 100755 +1 −0 Original line number Diff line number Diff line Loading @@ -191,6 +191,7 @@ #define FIX_386_CORECODER_RECONFIG_2 /* VA: Issue 386: Resolve remaining ToDo comments in CoreCoder reconfig. */ #define FIX_440_PARAM_ISM_DIR_NOISE /* FhG: Issue 440: Fix directional background noise becoming diffuse in ParamISM */ #define LBR_SBA_DIRAC_FIX /* DLB: Bug fix for DirAC at low bitrates */ #define FIX_445_SNS_BUGFIXES /* FhG: bug fix for spectral tilt in SNS computation + necessary update of codebooks and converison to fixedpoint-compatible tables */ #define FIX_447_PARAMBIN_MASA_REGU_FAC /* Nokia: Issue 447: Fix issue by adjusting regularization factor minimum value. */ Loading lib_enc/ivas_dirac_enc.c +19 −0 Original line number Diff line number Diff line Loading @@ -247,8 +247,21 @@ ivas_error ivas_dirac_enc_reconfigure( /* :TODO: if the number of parameter bands change, do a meaningful mapping of parameter buffers from old to new band setting */ #ifdef LBR_SBA_DIRAC_FIX if ( st_ivas->hQMetaData->useLowerRes ) { hDirAC->block_grouping[0] = 0; hDirAC->block_grouping[1] = MAX_PARAM_SPATIAL_SUBFRAMES; } else { mvs2s( DirAC_block_grouping_5ms_MDFT, hDirAC->block_grouping, MAX_PARAM_SPATIAL_SUBFRAMES + 1 ); } #else mvs2s( DirAC_block_grouping, hDirAC->block_grouping, MAX_PARAM_SPATIAL_SUBFRAMES + 1 ); #endif return error; } Loading Loading @@ -756,14 +769,20 @@ void ivas_dirac_param_est_enc( assert( pp_fr_real ); assert( pp_fr_imag ); #endif #ifdef HODIRAC for ( i = 0; i < nchan_fb_in; i++ ) #else for ( i = 0; i < DIRAC_MAX_ANA_CHANS; i++ ) #endif { #ifdef LBR_SBA_DIRAC_FIX mvr2r( &pp_fr_real[i][ts * l_ts], Cldfb_RealBuffer[i], l_ts ); mvr2r( &pp_fr_imag[i][ts * l_ts], Cldfb_ImagBuffer[i], l_ts ); #else mvr2r( &pp_fr_real[i][block_m_idx * l_ts], Cldfb_RealBuffer[i], l_ts ); mvr2r( &pp_fr_imag[i][block_m_idx * l_ts], Cldfb_ImagBuffer[i], l_ts ); #endif } } #ifndef HODIRAC Loading Loading
lib_com/options.h 100644 → 100755 +1 −0 Original line number Diff line number Diff line Loading @@ -191,6 +191,7 @@ #define FIX_386_CORECODER_RECONFIG_2 /* VA: Issue 386: Resolve remaining ToDo comments in CoreCoder reconfig. */ #define FIX_440_PARAM_ISM_DIR_NOISE /* FhG: Issue 440: Fix directional background noise becoming diffuse in ParamISM */ #define LBR_SBA_DIRAC_FIX /* DLB: Bug fix for DirAC at low bitrates */ #define FIX_445_SNS_BUGFIXES /* FhG: bug fix for spectral tilt in SNS computation + necessary update of codebooks and converison to fixedpoint-compatible tables */ #define FIX_447_PARAMBIN_MASA_REGU_FAC /* Nokia: Issue 447: Fix issue by adjusting regularization factor minimum value. */ Loading
lib_enc/ivas_dirac_enc.c +19 −0 Original line number Diff line number Diff line Loading @@ -247,8 +247,21 @@ ivas_error ivas_dirac_enc_reconfigure( /* :TODO: if the number of parameter bands change, do a meaningful mapping of parameter buffers from old to new band setting */ #ifdef LBR_SBA_DIRAC_FIX if ( st_ivas->hQMetaData->useLowerRes ) { hDirAC->block_grouping[0] = 0; hDirAC->block_grouping[1] = MAX_PARAM_SPATIAL_SUBFRAMES; } else { mvs2s( DirAC_block_grouping_5ms_MDFT, hDirAC->block_grouping, MAX_PARAM_SPATIAL_SUBFRAMES + 1 ); } #else mvs2s( DirAC_block_grouping, hDirAC->block_grouping, MAX_PARAM_SPATIAL_SUBFRAMES + 1 ); #endif return error; } Loading Loading @@ -756,14 +769,20 @@ void ivas_dirac_param_est_enc( assert( pp_fr_real ); assert( pp_fr_imag ); #endif #ifdef HODIRAC for ( i = 0; i < nchan_fb_in; i++ ) #else for ( i = 0; i < DIRAC_MAX_ANA_CHANS; i++ ) #endif { #ifdef LBR_SBA_DIRAC_FIX mvr2r( &pp_fr_real[i][ts * l_ts], Cldfb_RealBuffer[i], l_ts ); mvr2r( &pp_fr_imag[i][ts * l_ts], Cldfb_ImagBuffer[i], l_ts ); #else mvr2r( &pp_fr_real[i][block_m_idx * l_ts], Cldfb_RealBuffer[i], l_ts ); mvr2r( &pp_fr_imag[i][block_m_idx * l_ts], Cldfb_ImagBuffer[i], l_ts ); #endif } } #ifndef HODIRAC Loading