Loading apps/decoder.c +73 −68 Original line number Diff line number Diff line Loading @@ -263,7 +263,8 @@ int main( if ( arg.enableHeadRotation ) { /* sanity check */ if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { fprintf( stderr, "\nError: Head-rotation file file cannot be used in this output configuration.\n\n" ); goto cleanup; Loading Loading @@ -363,7 +364,8 @@ int main( if ( arg.renderConfigEnabled ) { /* sanity check */ if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { fprintf( stderr, "\nError: Renderer configuration file cannot be used in this output configuration.\n\n" ); goto cleanup; Loading Loading @@ -1408,6 +1410,7 @@ static void usage_dec( void ) } /*---------------------------------------------------------------------* * initOnFirstGoodFrame() * Loading Loading @@ -2358,7 +2361,8 @@ static ivas_error decodeVoIP( for ( i = 0; i < num_subframes; i++ ) { if ( ( error = IVAS_DEC_FeedHeadTrackData( hIvasDec, Quaternions[i], Pos[i], i ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_FeedHeadTrackData( hIvasDec, Quaternions[i], Pos[i], i ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_FeedHeadTrackData failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; Loading Loading @@ -2655,4 +2659,5 @@ cleanup: } #undef WMC_TOOL_SKIP apps/renderer.c +16 −15 Original line number Diff line number Diff line Loading @@ -1444,6 +1444,7 @@ int main( fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); exit( -1 ); } } for ( i = 0; i < args.inConfig.numAudioObjects; ++i ) Loading lib_com/bits_alloc_fx.c +2 −0 Original line number Diff line number Diff line Loading @@ -609,6 +609,8 @@ ivas_error config_acelp1( const Word16 GSC_IVAS_mode /* i : GSC IVAS mode */ ) { UNUSED_PARAM(active_cnt); Word16 i, bits, nb_subfr; Word16 flag_hardcoded, coder_type_sw, fix_first; Word32 core_brate; Loading lib_com/cldfb.c +5 −0 Original line number Diff line number Diff line Loading @@ -1659,6 +1659,7 @@ ivas_error openCldfb_ivas( hs->cldfb_state_length = buf_len;//Temporarily added to store the length of buffer hs->cldfb_size = buf_len; /*for having original size at intermediatery conversion, will be removed on removing conversion*/ set32_fx(hs->cldfb_state_fx, 0, buf_len); hs->Q_cldfb_state = Q31; #endif // IVAS_FLOAT_FIXED Loading Loading @@ -2468,6 +2469,10 @@ void cldfb_restore_memory_ivas_fx( } hs->cldfb_state_length = size; hs->memory_length = 0; #if 1 //Remove later free(hs->memory_flt); hs->memory_flt = NULL; #endif free( hs->memory32 ); hs->memory32 = NULL; Loading lib_com/cnst.h +7 −2 Original line number Diff line number Diff line Loading @@ -224,6 +224,9 @@ enum{ #define MIN_LOG_VAL_60dB -60.0f #define INV_LOG_2 1.442695040888963f /* 1/log(2) */ #ifdef IVAS_FLOAT_FIXED #define INV_LOG_2_FX 23637 /*Q14*//* 1/log(2) */ #endif // IVAS_FLOAT_FIXED #define INV_SQRT_2 0.70710676908493f /* 1/sqrt(2) */ #define INV_SQRT_2_Q15 23170 /* 1/sqrt(2) in Q15 */ #define INV_SQRT_2_Q31 (Word32)1.51850022e+09 /* 1/sqrt(2) in Q31 */ Loading Loading @@ -1355,6 +1358,7 @@ enum #define PLC_MIN_CNG_LEV_FLT 0.01f /* minimum background level */ #define PLC_MIN_CNG_LEV 328/*0.01f Q15*/ #define PLC_MIN_CNG_LEV_Q21 20992/*0.01f Q21*/ #define PLC_MIN_STAT_BUFF_SIZE 50 /* buffer size for minimum statistics */ #define G_LPC_RECOVERY_BITS 1 Loading Loading @@ -2713,8 +2717,7 @@ enum #define LG10 24660 /* 10*log10(2) in Q13 */ #define LG10_s3_0 16440 /* 10*log10(2)/1.55 = 1.00343331 in Q14 */ #define LOG2_10 27213 /* log base 2 of 10 in Q12 */ #define LOG10_2 646456993 /* log base 10 of 2 in Q31 */ #define INV_LOG10_2_Q31 646456993 /* inverse log base 10 of 2 in Q31 */ #define MU_MA_FX 10923 /* original prediction factor for the AMR WB tables (Q15) */ #define E_MIN_FXQ15 115 /* Q15*/ Loading Loading @@ -3021,6 +3024,8 @@ extern const Word16 Idx2Freq_Tbl[]; #define FS_16K_IN_NS_Q31 34360 #define ONE_BY_THREE_Q15 10923 /* 1/3.f in Q15 */ #define THREE_Q21 6291456 #define SIX_Q21 12582912 typedef enum { Loading Loading
apps/decoder.c +73 −68 Original line number Diff line number Diff line Loading @@ -263,7 +263,8 @@ int main( if ( arg.enableHeadRotation ) { /* sanity check */ if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { fprintf( stderr, "\nError: Head-rotation file file cannot be used in this output configuration.\n\n" ); goto cleanup; Loading Loading @@ -363,7 +364,8 @@ int main( if ( arg.renderConfigEnabled ) { /* sanity check */ if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { fprintf( stderr, "\nError: Renderer configuration file cannot be used in this output configuration.\n\n" ); goto cleanup; Loading Loading @@ -1408,6 +1410,7 @@ static void usage_dec( void ) } /*---------------------------------------------------------------------* * initOnFirstGoodFrame() * Loading Loading @@ -2358,7 +2361,8 @@ static ivas_error decodeVoIP( for ( i = 0; i < num_subframes; i++ ) { if ( ( error = IVAS_DEC_FeedHeadTrackData( hIvasDec, Quaternions[i], Pos[i], i ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_FeedHeadTrackData( hIvasDec, Quaternions[i], Pos[i], i ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_FeedHeadTrackData failed: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; Loading Loading @@ -2655,4 +2659,5 @@ cleanup: } #undef WMC_TOOL_SKIP
apps/renderer.c +16 −15 Original line number Diff line number Diff line Loading @@ -1444,6 +1444,7 @@ int main( fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); exit( -1 ); } } for ( i = 0; i < args.inConfig.numAudioObjects; ++i ) Loading
lib_com/bits_alloc_fx.c +2 −0 Original line number Diff line number Diff line Loading @@ -609,6 +609,8 @@ ivas_error config_acelp1( const Word16 GSC_IVAS_mode /* i : GSC IVAS mode */ ) { UNUSED_PARAM(active_cnt); Word16 i, bits, nb_subfr; Word16 flag_hardcoded, coder_type_sw, fix_first; Word32 core_brate; Loading
lib_com/cldfb.c +5 −0 Original line number Diff line number Diff line Loading @@ -1659,6 +1659,7 @@ ivas_error openCldfb_ivas( hs->cldfb_state_length = buf_len;//Temporarily added to store the length of buffer hs->cldfb_size = buf_len; /*for having original size at intermediatery conversion, will be removed on removing conversion*/ set32_fx(hs->cldfb_state_fx, 0, buf_len); hs->Q_cldfb_state = Q31; #endif // IVAS_FLOAT_FIXED Loading Loading @@ -2468,6 +2469,10 @@ void cldfb_restore_memory_ivas_fx( } hs->cldfb_state_length = size; hs->memory_length = 0; #if 1 //Remove later free(hs->memory_flt); hs->memory_flt = NULL; #endif free( hs->memory32 ); hs->memory32 = NULL; Loading
lib_com/cnst.h +7 −2 Original line number Diff line number Diff line Loading @@ -224,6 +224,9 @@ enum{ #define MIN_LOG_VAL_60dB -60.0f #define INV_LOG_2 1.442695040888963f /* 1/log(2) */ #ifdef IVAS_FLOAT_FIXED #define INV_LOG_2_FX 23637 /*Q14*//* 1/log(2) */ #endif // IVAS_FLOAT_FIXED #define INV_SQRT_2 0.70710676908493f /* 1/sqrt(2) */ #define INV_SQRT_2_Q15 23170 /* 1/sqrt(2) in Q15 */ #define INV_SQRT_2_Q31 (Word32)1.51850022e+09 /* 1/sqrt(2) in Q31 */ Loading Loading @@ -1355,6 +1358,7 @@ enum #define PLC_MIN_CNG_LEV_FLT 0.01f /* minimum background level */ #define PLC_MIN_CNG_LEV 328/*0.01f Q15*/ #define PLC_MIN_CNG_LEV_Q21 20992/*0.01f Q21*/ #define PLC_MIN_STAT_BUFF_SIZE 50 /* buffer size for minimum statistics */ #define G_LPC_RECOVERY_BITS 1 Loading Loading @@ -2713,8 +2717,7 @@ enum #define LG10 24660 /* 10*log10(2) in Q13 */ #define LG10_s3_0 16440 /* 10*log10(2)/1.55 = 1.00343331 in Q14 */ #define LOG2_10 27213 /* log base 2 of 10 in Q12 */ #define LOG10_2 646456993 /* log base 10 of 2 in Q31 */ #define INV_LOG10_2_Q31 646456993 /* inverse log base 10 of 2 in Q31 */ #define MU_MA_FX 10923 /* original prediction factor for the AMR WB tables (Q15) */ #define E_MIN_FXQ15 115 /* Q15*/ Loading Loading @@ -3021,6 +3024,8 @@ extern const Word16 Idx2Freq_Tbl[]; #define FS_16K_IN_NS_Q31 34360 #define ONE_BY_THREE_Q15 10923 /* 1/3.f in Q15 */ #define THREE_Q21 6291456 #define SIX_Q21 12582912 typedef enum { Loading