Loading lib_rend/ivas_crend.c +145 −42 Original line number Diff line number Diff line Loading @@ -114,7 +114,7 @@ static ivas_error ivas_hrtf_open( { if ( ( hHrtf = (HRTFS_HANDLE) malloc( sizeof( HRTFS_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR decoder\n" ); return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( error = ivas_hrtf_init( hHrtf ) ) != IVAS_ERR_OK ) Loading Loading @@ -287,8 +287,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz_fx ) / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_diffuse_im[j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_diffuse_im[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -345,8 +351,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz_fx ) / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_diffuse_im[j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_diffuse_im[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -404,8 +416,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz_fx ) / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_diffuse_im[j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_diffuse_im[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -474,8 +492,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_re_48kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading @@ -494,8 +518,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_HRIR_coeff_re_48kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_HRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading @@ -520,8 +550,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_re_32kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading @@ -540,8 +576,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_HRIR_coeff_re_32kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_HRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading @@ -566,8 +608,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_re_16kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading @@ -586,8 +634,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_HRIR_coeff_re_16kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_HRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -626,8 +680,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA3_HRIR_coeff_re_48kHz_fx ) / HOA3_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_HOA3_HRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -663,8 +723,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA3_HRIR_coeff_re_32kHz_fx ) / HOA3_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_HOA3_HRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -701,8 +767,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA3_HRIR_coeff_re_16kHz_fx ) / HOA3_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_HOA3_HRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -746,8 +818,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA2_HRIR_coeff_re_48kHz_fx ) / HOA2_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_HOA2_HRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -783,8 +861,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA2_HRIR_coeff_re_32kHz_fx ) / HOA2_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_HOA2_HRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -821,8 +905,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA2_HRIR_coeff_re_16kHz_fx ) / HOA2_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_HOA2_HRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -866,8 +956,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_FOA_HRIR_coeff_re_48kHz_fx ) / FOA_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_FOA_HRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -903,8 +999,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_FOA_HRIR_coeff_re_32kHz_fx ) / FOA_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_FOA_HRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -941,8 +1043,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_FOA_HRIR_coeff_re_16kHz_fx ) / FOA_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_FOA_HRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -1859,13 +1967,8 @@ static ivas_error ivas_rend_crendConvolver( const float *pIn; #ifdef FIX_CREND_SIMPLIFY_CODE float *pFreq_filt_re, *pFreq_filt_im; #ifdef _WIN32 float *pFreq_buf_re = NULL, *pFreq_buf_im = NULL; float *pFreq_buf2_re = NULL, *pFreq_buf2_im = NULL; #else float *pFreq_buf_re, *pFreq_buf_im; float *pFreq_buf2_re, *pFreq_buf2_im; #endif #else float *pFreq_buf_re, *pFreq_buf_im; float *pFreq_buf2_re, *pFreq_buf2_im; Loading lib_rend/ivas_objectRenderer_mix.c +50 −12 File changed.Preview size limit exceeded, changes collapsed. Show changes tests/hrtf_binary_loading/test_renderer_ROM_vs_file.py +0 −5 Original line number Diff line number Diff line Loading @@ -178,8 +178,6 @@ def test_ism_binaural_headrotation_with_binary_hrir( def test_masa_binaural_static_with_binary_hrir( test_info, in_fmt, out_fmt, frame_size, hrtf_tag ): if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]: pytest.skip("Skipping binaural room outputs for MASA as unimplemented.") compare_renderer_vs_renderer_with_binary_hrir( test_info, Loading @@ -198,9 +196,6 @@ def test_masa_binaural_static_with_binary_hrir( def test_masa_binaural_headrotation_with_binary_hrir( test_info, in_fmt, out_fmt, trj_file, frame_size, hrtf_tag ): if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]: pytest.skip("Skipping binaural room outputs for MASA as unimplemented.") compare_renderer_vs_renderer_with_binary_hrir( test_info, in_fmt, Loading Loading
lib_rend/ivas_crend.c +145 −42 Original line number Diff line number Diff line Loading @@ -114,7 +114,7 @@ static ivas_error ivas_hrtf_open( { if ( ( hHrtf = (HRTFS_HANDLE) malloc( sizeof( HRTFS_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR decoder\n" ); return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( error = ivas_hrtf_init( hHrtf ) ) != IVAS_ERR_OK ) Loading Loading @@ -287,8 +287,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz_fx ) / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_diffuse_im[j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_diffuse_im[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -345,8 +351,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz_fx ) / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_diffuse_im[j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_diffuse_im[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -404,8 +416,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max_diffuse[j] = CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz_fx ) / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_diffuse_im[j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_diffuse_re[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_diffuse_im[j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -474,8 +492,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_re_48kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading @@ -494,8 +518,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_HRIR_coeff_re_48kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_HRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading @@ -520,8 +550,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_re_32kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading @@ -540,8 +576,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_HRIR_coeff_re_32kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_HRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading @@ -566,8 +608,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_BRIR_coeff_re_16kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_BRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading @@ -586,8 +634,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[tmp][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_Combined_HRIR_coeff_re_16kHz_fx ) / HRTF_LS_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_Combined_HRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -626,8 +680,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA3_HRIR_coeff_re_48kHz_fx ) / HOA3_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_HOA3_HRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -663,8 +723,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA3_HRIR_coeff_re_32kHz_fx ) / HOA3_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_HOA3_HRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -701,8 +767,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA3_HRIR_coeff_re_16kHz_fx ) / HOA3_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_HOA3_HRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -746,8 +818,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA2_HRIR_coeff_re_48kHz_fx ) / HOA2_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_HOA2_HRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -783,8 +861,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA2_HRIR_coeff_re_32kHz_fx ) / HOA2_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_HOA2_HRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -821,8 +905,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_HOA2_HRIR_coeff_re_16kHz_fx ) / HOA2_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_HOA2_HRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -866,8 +956,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_FOA_HRIR_coeff_re_48kHz_fx ) / FOA_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_FOA_HRIR_coeff_Q_48kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -903,8 +999,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_FOA_HRIR_coeff_re_32kHz_fx ) / FOA_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_FOA_HRIR_coeff_Q_32kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -941,8 +1043,14 @@ static ivas_error ivas_rend_initCrend( hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[i][j]; #ifdef FIX_1123_CREND_16BIT_ROM sizeRom = sizeof( CRendBin_FOA_HRIR_coeff_re_16kHz_fx ) / FOA_CHANNELS / sizeof( int16_t ) / 2; hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ); if ( ( hHrtf->pOut_to_bin_re[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend HRTFS Handle\n" ); } if ( ( hHrtf->pOut_to_bin_im[i][j] = (float *) malloc( sizeof( float ) * sizeRom ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend filters taps\n" ); } factorQ = powf( 2.f, -1.f * CRendBin_FOA_HRIR_coeff_Q_16kHz_fx ); for ( k = 0; k < sizeRom; k++ ) { Loading Loading @@ -1859,13 +1967,8 @@ static ivas_error ivas_rend_crendConvolver( const float *pIn; #ifdef FIX_CREND_SIMPLIFY_CODE float *pFreq_filt_re, *pFreq_filt_im; #ifdef _WIN32 float *pFreq_buf_re = NULL, *pFreq_buf_im = NULL; float *pFreq_buf2_re = NULL, *pFreq_buf2_im = NULL; #else float *pFreq_buf_re, *pFreq_buf_im; float *pFreq_buf2_re, *pFreq_buf2_im; #endif #else float *pFreq_buf_re, *pFreq_buf_im; float *pFreq_buf2_re, *pFreq_buf2_im; Loading
lib_rend/ivas_objectRenderer_mix.c +50 −12 File changed.Preview size limit exceeded, changes collapsed. Show changes
tests/hrtf_binary_loading/test_renderer_ROM_vs_file.py +0 −5 Original line number Diff line number Diff line Loading @@ -178,8 +178,6 @@ def test_ism_binaural_headrotation_with_binary_hrir( def test_masa_binaural_static_with_binary_hrir( test_info, in_fmt, out_fmt, frame_size, hrtf_tag ): if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]: pytest.skip("Skipping binaural room outputs for MASA as unimplemented.") compare_renderer_vs_renderer_with_binary_hrir( test_info, Loading @@ -198,9 +196,6 @@ def test_masa_binaural_static_with_binary_hrir( def test_masa_binaural_headrotation_with_binary_hrir( test_info, in_fmt, out_fmt, trj_file, frame_size, hrtf_tag ): if out_fmt in ["BINAURAL_ROOM_IR", "BINAURAL_ROOM_REVERB"]: pytest.skip("Skipping binaural room outputs for MASA as unimplemented.") compare_renderer_vs_renderer_with_binary_hrir( test_info, in_fmt, Loading