Loading .gitignore +0 −87 Original line number Diff line number Diff line Loading @@ -76,90 +76,3 @@ Externals/ # coan output files that are created when cleaning out switches coan_out_* /COMPLEXITY /res /tv /wmops /Workspace_msvc/renderer.args.json /Workspace_msvc/encoder.args.json /Workspace_msvc/decoder.args.json /scripts/mem_analysis_enc_VBR_5k9.csv /scripts/mem_analysis_enc_STEREO_sw.png /scripts/mem_analysis_enc_STEREO_sw.csv /scripts/mem_analysis_enc_STEREO_16k4_DTX.csv *.pwv /dcr_ism1 /bwe_clicks_ism1 /BWD_issue /.ipynb_checkpoints /scripts/.ipynb_checkpoints /scripts/wmops_analysis /scripts/wmops_analysis_new /tcx_hq_problem_ism1 /scripts/dly_error_profiles/dly_profile_19_.dat /build.txt /bit.64k /bit.32k /bit /binaural_loudness.ipynb /tmp.txt /syn.wav /syn.ref /syn.64k.0.csv /syn.64k /syn.32k /stvST32c_-stereo_32000_32.bit /split_renderer_config_768_3dof_cldfbpc.txt /split_out_sba_lcld_20ms_out.wav /split_out_sba_lcld_20ms.pkt /split_out_mc_lc3plus_20ms_out.wav /split_out_mc_lc3plus_20ms.pkt /run_ivas_codec.sh /report.html /report-junit.xm /out.wav /ltv48_1ISM.cut14.wav.0.csv /ltv48_1ISM.cut14.pcm /ltv48_1ISM.cut14.dec.pcm.0.csv /ltv48_1ISM.cut14.64k.dec.pcm.0.csv /ltv48_1ISM.cut14.64k.dec.pcm /ltv48_1ISM.cut14.32k.dec.pcm /IvasBuilder.txt /ivas.192 /ism_loudness_stv48_48kHz.md /ism_loudness_stv48_32kHz.md /ism_loudness_sel48_48kHz.md /ism_loudness_old.xlsx /ism_loudness_ltv48_ISM4.md /ism_loudness_ltv48_ISM3.md /ism_loudness_ltv48_ISM2.md /ism_loudness_ltv48_ISM1.md /ism_loudness_ltv48_48kHz.md /ism_loudness.xlsx /ism_loudness.py /HOA2_to_BINAURAL_ROOM_REVERBNone_rend_config_combined_20msNone_0-1000_2-500_1-500.wav /git_blame_string.sh /get_license_table.py /enc_out_mc.pkt /enc_out.pkt /cut_ism.py /scripts/Vlad_mergeNewsletters.py /scripts/Vlad_extract_max_num_ind.py /scripts/tables_obj.txt /scripts/tables_exe.txt /scripts/requirements.txt /scripts/parseNewsletterWmops.py /scripts/output.xlsx /scripts/functions_obj.txt /scripts/functions_exe.txt /scripts/dep_tree.txt /scripts/cmplx_evs_in_ivas.xlsx /scripts/bit /scripts/binaural_loudness.ipynb /scripts/config/Vlad_self_test_ltv.prm /scripts/config/Vlad_self_test.prm /scripts/config/Vlad_ci_linux_ltv.json /scripts/config/Vlad_ci_linux.json /cmake-build /bit.fix /syn apps/decoder.c +0 −213 Original line number Diff line number Diff line Loading @@ -156,7 +156,6 @@ typedef struct } DecArguments; #ifdef FIX_HRTF_LOAD typedef struct { hrtfFileReader *hrtfReader; Loading @@ -176,7 +175,6 @@ typedef struct } IVAS_DEC_HRTF_BINARY_WRAPPER; #endif /*------------------------------------------------------------------------------------------* * Local functions prototypes Loading @@ -184,22 +182,15 @@ typedef struct static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg ); static void usage_dec( void ); #ifdef FIX_HRTF_LOAD static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtf, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtf, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ); static ivas_error IVAS_DEC_LoadHrtfFromFile( IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, IVAS_DEC_HANDLE hIvasDec, const int32_t output_Fs ); #else static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ); #endif #ifdef DEBUGGING static ivas_error printBitstreamInfoVoip( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); static int16_t app_own_random( int16_t *seed ); static IVAS_DEC_FORCED_REND_MODE parseForcedRendModeDec( char *forcedRendModeChar ); #endif #ifdef OBJ_EDITING_EXAMPLE static void do_object_editing( IVAS_EDITABLE_PARAMETERS *editableParameters ); #endif /*------------------------------------------------------------------------------------------* Loading Loading @@ -230,13 +221,7 @@ int main( RenderConfigReader *renderConfigReader = NULL; int16_t *pcmBuf = NULL; IVAS_RENDER_NUM_SUBFR asked_num_subframes; #ifdef FIX_HRTF_LOAD IVAS_DEC_HRTF_BINARY_WRAPPER hHrtfBinary; #else IVAS_DEC_HRTF_HANDLE *hHrtfTD = NULL; IVAS_DEC_HRTF_CREND_HANDLE *hSetOfHRTF = NULL; IVAS_DEC_HRTF_STATISTICS_HANDLE *hHrtfStatistics = NULL; #endif #ifdef DEBUGGING int32_t noClipping; int32_t cnt_frames_limited; Loading @@ -253,11 +238,9 @@ int main( reset_mem( USE_BYTES ); #endif #ifdef FIX_HRTF_LOAD hHrtfBinary.hHrtfTD = NULL; /* just to avoid compilation warning */ hHrtfBinary.hSetOfHRTF = NULL; /* just to avoid compilation warning */ hHrtfBinary.hHrtfStatistics = NULL; /* just to avoid compilation warning */ #endif splitRendBits.bits_buf = splitRendBitsBuf; Loading Loading @@ -700,9 +683,6 @@ int main( fprintf( stderr, "Failed to get acoustic environment with ID: %d\n\n", aeID ); goto cleanup; } #ifndef FIX_587_DEFAULT_REVERB renderConfig.roomAcoustics.override = true; #endif } /* ISAR frame size is set from command line, not renderer config file. Loading Loading @@ -744,111 +724,12 @@ int main( if ( arg.hrtfReaderEnabled ) { #ifdef FIX_HRTF_LOAD hHrtfBinary.hrtfReader = hrtfReader; hHrtfBinary.hrtfFileName = arg.hrtfFileName; hHrtfBinary.binaural_renderer = IVAS_BIN_RENDERER_TYPE_NONE; hHrtfBinary.binaural_renderer_sec = IVAS_BIN_RENDERER_TYPE_NONE; hHrtfBinary.room_reverb_flag = 0; hHrtfBinary.intern_audio_config = IVAS_AUDIO_CONFIG_INVALID; #else if ( ( error = IVAS_DEC_GetHrtfHandle( hIvasDec, &hHrtfTD ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_GetHrtfHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } if ( ( error = load_HRTF_binary( *hHrtfTD, hrtfReader ) ) != IVAS_ERR_OK ) { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } else { destroy_td_hrtf( hHrtfTD ); } } if ( ( error = IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hSetOfHRTF ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_GetHrtfCRendHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } if ( ( error = create_SetOfHRTF_from_binary( *hSetOfHRTF, hrtfReader, arg.output_Fs ) ) != IVAS_ERR_OK ) { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } else { destroy_SetOfHRTF( hSetOfHRTF ); } } IVAS_DEC_HRTF_FASTCONV_HANDLE *hHrtfFastConv = NULL; if ( ( error = IVAS_DEC_GetHrtfFastConvHandle( hIvasDec, &hHrtfFastConv ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_GetHrtfFastConvHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } if ( ( error = load_fastconv_HRTF_from_binary( *hHrtfFastConv, hrtfReader ) ) != IVAS_ERR_OK ) { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } else { destroy_fastconv_hrtf( hHrtfFastConv ); } } IVAS_DEC_HRTF_PARAMBIN_HANDLE *hHrtfParambin = NULL; if ( ( error = IVAS_DEC_GetHrtfParamBinHandle( hIvasDec, &hHrtfParambin ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_GetHrtfParamBinHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } if ( ( error = load_parambin_HRTF_from_binary( *hHrtfParambin, hrtfReader ) ) != IVAS_ERR_OK ) { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } else { destroy_parambin_hrtf( hHrtfParambin ); } } if ( ( error = IVAS_DEC_GetHrtfStatisticsHandle( hIvasDec, &hHrtfStatistics ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_GetHrtfHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } if ( ( error = load_reverb_binary( *hHrtfStatistics, arg.output_Fs, hrtfReader ) ) != IVAS_ERR_OK ) { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } else { destroy_hrtf_statistics( hHrtfStatistics ); } } #endif } /*------------------------------------------------------------------------------------------* Loading @@ -870,19 +751,11 @@ int main( if ( arg.voipMode ) { #ifdef FIX_HRTF_LOAD error = decodeVoIP( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec ); #else error = decodeVoIP( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec ); #endif } else { #ifdef FIX_HRTF_LOAD error = decodeG192( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, &splitRendBits, hIvasDec, pcmBuf ); #else error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, &splitRendBits, hIvasDec, pcmBuf ); #endif } if ( error == IVAS_ERR_OK || error == IVAS_ERR_END_OF_FILE ) Loading @@ -898,11 +771,7 @@ int main( } else { #ifdef FIX_HRTF_LOAD fprintf( stderr, "\nDecoding finished prematurely: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); #else fprintf( stdout, "Decoding finished prematurely\n\n" ); #endif goto cleanup; } Loading Loading @@ -938,20 +807,9 @@ cleanup: #endif if ( arg.hrtfReaderEnabled ) { #ifdef FIX_HRTF_LOAD destroy_td_hrtf( hHrtfBinary.hHrtfTD ); destroy_SetOfHRTF( hHrtfBinary.hSetOfHRTF ); destroy_hrtf_statistics( hHrtfBinary.hHrtfStatistics ); #else IVAS_DEC_GetHrtfHandle( hIvasDec, &hHrtfTD ); destroy_td_hrtf( hHrtfTD ); IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hSetOfHRTF ); destroy_SetOfHRTF( hSetOfHRTF ); IVAS_DEC_GetHrtfStatisticsHandle( hIvasDec, &hHrtfStatistics ); destroy_hrtf_statistics( hHrtfStatistics ); #endif } IVAS_DEC_Close( &hIvasDec ); Loading Loading @@ -2142,9 +2000,7 @@ static ivas_error initOnFirstGoodFrame( static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, #ifdef FIX_HRTF_LOAD IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, #endif RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Loading Loading @@ -2500,25 +2356,13 @@ static ivas_error decodeG192( } } #endif #ifdef FIX_HRTF_LOAD /* Feed into decoder and decode transport channels */ if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, num_bits, bfi ) ) != IVAS_ERR_OK ) #else /* Feed into decoder */ if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, num_bits, bfi #ifdef OBJ_EDITING_API , isSplitRend, splitRendBits #endif ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nError: could not feed frame to decoder: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #ifdef FIX_HRTF_LOAD /* Read main parameters from the bitstream to set-up the decoder */ hHrtfBinary->binaural_renderer_old = hHrtfBinary->binaural_renderer; hHrtfBinary->binaural_renderer_sec_old = hHrtfBinary->binaural_renderer_sec; Loading Loading @@ -2546,8 +2390,6 @@ static ivas_error decodeG192( return error; } #endif #ifdef OBJ_EDITING_API /* Object metadata editing */ if ( arg.objEditEnabled ) { Loading @@ -2561,10 +2403,8 @@ static ivas_error decodeG192( } /* Do object metadata editing here ... */ #ifdef OBJ_EDITING_EXAMPLE do_object_editing( &editableParameters ); #endif /* set new object parameters */ if ( ( error = IVAS_DEC_SetEditableParameters( hIvasDec, editableParameters ) ) != IVAS_ERR_OK ) { Loading @@ -2580,7 +2420,6 @@ static ivas_error decodeG192( goto cleanup; } } #endif /* Render */ if ( isSplitRend ) Loading @@ -2596,19 +2435,11 @@ static ivas_error decodeG192( } else { #ifdef OBJ_EDITING_API if ( ( error = IVAS_DEC_GetSamplesRenderer( hIvasDec, nSamplesToRender, IVAS_DEC_PCM_INT16, (void *) ( pcmBuf + nOutChannels * nSamplesRendered ), &nSamplesRendered_loop, &needNewFrame ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in IVAS_DEC_GetSamplesRenderer(): %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #else if ( ( error = IVAS_DEC_GetSamples( hIvasDec, nSamplesToRender, IVAS_DEC_PCM_INT16, (void *) ( pcmBuf + nOutChannels * nSamplesRendered ), &nSamplesRendered_loop, &needNewFrame ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in IVAS_DEC_GetSamples: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #endif nSamplesRendered += nSamplesRendered_loop; nSamplesToRender -= nSamplesRendered_loop; Loading Loading @@ -3090,9 +2921,7 @@ static ivas_error writeJbmTraceFileFrameWrapper( const void *data, void *writer static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, #ifdef FIX_HRTF_LOAD IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtf, #endif RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Loading Loading @@ -3143,14 +2972,10 @@ static ivas_error decodeVoIP( int16_t vec_pos_update, vec_pos_len; int16_t nOutSamples = 0; #ifdef FIX_HRTF_LOAD bool bitstreamReadDone = false; #endif #ifdef OBJ_EDITING_API bool parameterAvailableForEditing = false; uint16_t nSamplesRendered = 0; #endif vec_pos_update = 0; if ( ( error = IVAS_DEC_GetRenderFramesizeMs( hIvasDec, &systemTimeInc_ms ) ) != IVAS_ERR_OK ) Loading Loading @@ -3268,9 +3093,7 @@ static ivas_error decodeVoIP( while ( 1 ) { #ifdef OBJ_EDITING_API nSamplesRendered = 0; #endif /* reference vector */ if ( arg.enableReferenceVectorTracking && vec_pos_update == 0 ) Loading Loading @@ -3433,44 +3256,17 @@ static ivas_error decodeVoIP( /* decode and get samples */ #ifdef OBJ_EDITING_API while ( nSamplesRendered < nOutSamples ) { #endif #ifdef SUPPORT_JBM_TRACEFILE #ifdef FIX_HRTF_LOAD #ifdef OBJ_EDITING_API if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &bitstreamReadDone, &nSamplesRendered, ¶meterAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &bitstreamReadDone, systemTime_ms ) ) != IVAS_ERR_OK ) #endif #else #ifdef OBJ_EDITING_API if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &nSamplesRendered, ¶meterAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, systemTime_ms ) ) != IVAS_ERR_OK ) #endif #endif #else #ifdef FIX_HRTF_LOAD #ifdef OBJ_EDITING_API if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, &bitstreamReadDone, &nSamplesRendered, ¶meterAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, &bitstreamReadDone, systemTime_ms ) ) != IVAS_ERR_OK ) #endif #else #ifdef OBJ_EDITING_API if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, systemTime_ms, &nSamplesRendered, ¶meterAvailableForEditing ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, systemTime_ms ) ) != IVAS_ERR_OK ) #endif #endif #endif { fprintf( stderr, "\nError in IVAS_DEC_VoIP_GetSamples: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #ifdef FIX_HRTF_LOAD if ( bitstreamReadDone == true ) { Loading @@ -3496,8 +3292,6 @@ static ivas_error decodeVoIP( } } #endif #ifdef OBJ_EDITING_API /* Object metadata editing */ if ( arg.objEditEnabled && parameterAvailableForEditing == true ) { Loading @@ -3511,10 +3305,8 @@ static ivas_error decodeVoIP( } /* Do object metadata editing here ... */ #ifdef OBJ_EDITING_EXAMPLE do_object_editing( &editableParameters ); #endif /* set new object parameters */ if ( ( error = IVAS_DEC_SetEditableParameters( hIvasDec, editableParameters ) ) != IVAS_ERR_OK ) { Loading @@ -3523,7 +3315,6 @@ static ivas_error decodeVoIP( } } } /* while ( nSamplesRendered < nOutSamples ) */ #endif /* write JBM Offset file entry */ if ( jbmOffsetWriter != NULL ) Loading Loading @@ -3806,7 +3597,6 @@ cleanup: return error; } #ifdef OBJ_EDITING_EXAMPLE /*---------------------------------------------------------------------* * do_object_editing() Loading Loading @@ -3859,7 +3649,6 @@ static void do_object_editing( return; } #endif #ifdef DEBUGGING Loading @@ -3885,7 +3674,6 @@ static IVAS_DEC_FORCED_REND_MODE parseForcedRendModeDec( } #endif #ifdef FIX_HRTF_LOAD /*---------------------------------------------------------------------* * IVAS_DEC_LoadHrtfFromFile() Loading Loading @@ -4061,6 +3849,5 @@ static ivas_error IVAS_DEC_LoadHrtfFromFile( return IVAS_ERR_OK; } #endif #undef WMC_TOOL_SKIP apps/renderer.c +0 −11 Original line number Diff line number Diff line Loading @@ -615,11 +615,7 @@ static int16_t get_cldfb_in_flag( int16_t cldfb_in_flag; cldfb_in_flag = 0; #ifdef FIX_HRTF_LOAD if ( renderConfig->split_rend_config.rendererSelection == IVAS_BIN_RENDERER_TYPE_FASTCONV ) #else if ( renderConfig->split_rend_config.rendererSelection == ISAR_SPLIT_REND_RENDERER_SELECTION_FASTCONV ) #endif { #ifdef DEBUGGING cldfb_in_flag = 1; Loading Loading @@ -949,11 +945,7 @@ int main( goto cleanup; } #ifdef FIX_HRTF_LOAD if ( ( error = load_fastconv_HRTF_from_binary( *hHrtfFastConv, 0, IVAS_AUDIO_CONFIG_INVALID, hrtfFileReader ) ) != IVAS_ERR_OK ) #else if ( ( error = load_fastconv_HRTF_from_binary( *hHrtfFastConv, hrtfFileReader ) ) != IVAS_ERR_OK ) #endif { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { Loading Loading @@ -1052,9 +1044,6 @@ int main( fprintf( stderr, "Failed to get acoustic environment with ID: %d\n\n", aeID ); exit( -1 ); } #ifndef FIX_587_DEFAULT_REVERB renderConfig.roomAcoustics.override = 1; #endif } /* ISAR frame size is set from command line, not renderer config file. Loading ci/basop-pages/basop_index.html +7 −0 Original line number Diff line number Diff line Loading @@ -20,4 +20,11 @@ {} <h2>Test Coverage</h2> <ul> <li><a href="coverage_dec_rend/index.html">Coverage report of Decoder and Renderer</a></li> <li><a href="coverage_enc_dec_rend/index.html">Coverage report of Encoder, Decoder and Renderer</a></li> </ul> </body> ci/complexity_measurements/getWmops.sh +34 −25 Original line number Diff line number Diff line Loading @@ -29,11 +29,11 @@ # the United Nations Convention on Contracts on the International Sales of Goods. function usage { echo "Usage: $0 \"ivas-format(s)\" \"output-format(s)\" \"mode{full(default)|mem_only}\"" echo "Usage: $0 \"ivas-format(s)\" \"output-format(s)\" \"mode{full(default)|mem_only}\" \"repo{float(default)|basop}\" " exit 1 } if [ $# -ne 2 ] && [ $# -ne 3 ]; then if [ $# -ne 2 ] && [ $# -ne 3 ] && [ $# -ne 4 ]; then usage fi Loading @@ -41,7 +41,7 @@ ivas_format=$1 output_format="$2" mode_arg_script="" if [ $# -eq 3 ]; then if [ $# -ge 3 ]; then if [ "$3" = "mem_only" ]; then mode_arg_script="--wmc_tool_mem_only" elif [ "$3" != "full" ]; then Loading @@ -49,11 +49,20 @@ if [ $# -eq 3 ]; then fi fi date=`date +%Y%m%d` # used for log-file file ending shortDate=`date "+%b %d" | sed -e "s/\ /_/g"` # stored in the log-file fullDate=`date "+%c" | sed -e "s/\ /_/g"` # stored in the log-file repo_arg_script="" if [ $# -eq 4 ]; then if [ "$4" = "basop" ]; then repo_arg_script="--basop" elif [ "$4" != "float"]; then usage fi fi commit_sha=`git rev-parse --short HEAD` date=$(date +%Y%m%d) # used for log-file file ending shortDate=$(date "+%b %d" | sed -e "s/\ /_/g") # stored in the log-file fullDate=$(date "+%c" | sed -e "s/\ /_/g") # stored in the log-file commit_sha=$(git rev-parse --short HEAD) destDir="." scriptDir="ci/complexity_measurements" Loading @@ -62,7 +71,8 @@ ep="${scriptDir}/ep_10pct_fer.g192" config_file="scripts/config/ci_linux_ltv.json" # get wmops newsletter wmopsFilenameFlcLast=wmops_newsletter_stereo__${commit_sha}_${date} ivas_format_for_filename=${ivas_format// /-} wmopsFilenameFlcLast=wmops_newsletter_${ivas_format_for_filename}_to_${output_format}__${commit_sha}_${date} wmopsFilenameFlc=${destDir}/wmops/logs/${wmopsFilenameFlcLast} ret_val=0 Loading @@ -70,12 +80,12 @@ ret_val=0 mode_arg="" # for OSBA, there are just too many modes... -> only select HOA3 ones if [ "$ivas_format" == "OSBA" ]; then osba_hoa3_modes=$(./scripts/runIvasCodec.py -C OSBA -l | grep "HOA3") osba_hoa3_modes=$(./scripts/runIvasCodec.py -C OSBA -l | grep "HOA3" | grep -v "planar") mode_arg="-m $osba_hoa3_modes" fi # instrument and build ./scripts/IvasBuildAndRunChecks.py $mode_arg_script -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format $mode_arg -f ${ep} --oc $output_format ./scripts/IvasBuildAndRunChecks.py $mode_arg_script $repo_arg_script -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format $mode_arg -f ${ep} --oc $output_format ret_val=$? # get the info on worst-case operating point: WMOPS number, enc-operating mode, dec-operating mode Loading @@ -88,7 +98,6 @@ tcsh ${scriptDir}/genWebpageData_WMOPS.csh ${destDir}/wmops/log_wmops_all.txt ${ # per mode graph tcsh ${scriptDir}/genWebpageData_WmopPerOperatingpoint.csh ${wmopsFilenameFlc}_WMOPS.csv ${destDir}/wmops/graphs_wmops_flc_perOP.js Graphs_WMOPS_perOP # get memory info for webpage ### RAM ${scriptDir}/mergeNewsletterRam.py ${wmopsFilenameFlc}_HEAP.csv ${wmopsFilenameFlc}_STACK.csv >${wmopsFilenameFlc}_RAM.csv Loading Loading
.gitignore +0 −87 Original line number Diff line number Diff line Loading @@ -76,90 +76,3 @@ Externals/ # coan output files that are created when cleaning out switches coan_out_* /COMPLEXITY /res /tv /wmops /Workspace_msvc/renderer.args.json /Workspace_msvc/encoder.args.json /Workspace_msvc/decoder.args.json /scripts/mem_analysis_enc_VBR_5k9.csv /scripts/mem_analysis_enc_STEREO_sw.png /scripts/mem_analysis_enc_STEREO_sw.csv /scripts/mem_analysis_enc_STEREO_16k4_DTX.csv *.pwv /dcr_ism1 /bwe_clicks_ism1 /BWD_issue /.ipynb_checkpoints /scripts/.ipynb_checkpoints /scripts/wmops_analysis /scripts/wmops_analysis_new /tcx_hq_problem_ism1 /scripts/dly_error_profiles/dly_profile_19_.dat /build.txt /bit.64k /bit.32k /bit /binaural_loudness.ipynb /tmp.txt /syn.wav /syn.ref /syn.64k.0.csv /syn.64k /syn.32k /stvST32c_-stereo_32000_32.bit /split_renderer_config_768_3dof_cldfbpc.txt /split_out_sba_lcld_20ms_out.wav /split_out_sba_lcld_20ms.pkt /split_out_mc_lc3plus_20ms_out.wav /split_out_mc_lc3plus_20ms.pkt /run_ivas_codec.sh /report.html /report-junit.xm /out.wav /ltv48_1ISM.cut14.wav.0.csv /ltv48_1ISM.cut14.pcm /ltv48_1ISM.cut14.dec.pcm.0.csv /ltv48_1ISM.cut14.64k.dec.pcm.0.csv /ltv48_1ISM.cut14.64k.dec.pcm /ltv48_1ISM.cut14.32k.dec.pcm /IvasBuilder.txt /ivas.192 /ism_loudness_stv48_48kHz.md /ism_loudness_stv48_32kHz.md /ism_loudness_sel48_48kHz.md /ism_loudness_old.xlsx /ism_loudness_ltv48_ISM4.md /ism_loudness_ltv48_ISM3.md /ism_loudness_ltv48_ISM2.md /ism_loudness_ltv48_ISM1.md /ism_loudness_ltv48_48kHz.md /ism_loudness.xlsx /ism_loudness.py /HOA2_to_BINAURAL_ROOM_REVERBNone_rend_config_combined_20msNone_0-1000_2-500_1-500.wav /git_blame_string.sh /get_license_table.py /enc_out_mc.pkt /enc_out.pkt /cut_ism.py /scripts/Vlad_mergeNewsletters.py /scripts/Vlad_extract_max_num_ind.py /scripts/tables_obj.txt /scripts/tables_exe.txt /scripts/requirements.txt /scripts/parseNewsletterWmops.py /scripts/output.xlsx /scripts/functions_obj.txt /scripts/functions_exe.txt /scripts/dep_tree.txt /scripts/cmplx_evs_in_ivas.xlsx /scripts/bit /scripts/binaural_loudness.ipynb /scripts/config/Vlad_self_test_ltv.prm /scripts/config/Vlad_self_test.prm /scripts/config/Vlad_ci_linux_ltv.json /scripts/config/Vlad_ci_linux.json /cmake-build /bit.fix /syn
apps/decoder.c +0 −213 Original line number Diff line number Diff line Loading @@ -156,7 +156,6 @@ typedef struct } DecArguments; #ifdef FIX_HRTF_LOAD typedef struct { hrtfFileReader *hrtfReader; Loading @@ -176,7 +175,6 @@ typedef struct } IVAS_DEC_HRTF_BINARY_WRAPPER; #endif /*------------------------------------------------------------------------------------------* * Local functions prototypes Loading @@ -184,22 +182,15 @@ typedef struct static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg ); static void usage_dec( void ); #ifdef FIX_HRTF_LOAD static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtf, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtf, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ); static ivas_error IVAS_DEC_LoadHrtfFromFile( IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, IVAS_DEC_HANDLE hIvasDec, const int32_t output_Fs ); #else static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, IVAS_DEC_HANDLE hIvasDec ); #endif #ifdef DEBUGGING static ivas_error printBitstreamInfoVoip( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); static int16_t app_own_random( int16_t *seed ); static IVAS_DEC_FORCED_REND_MODE parseForcedRendModeDec( char *forcedRendModeChar ); #endif #ifdef OBJ_EDITING_EXAMPLE static void do_object_editing( IVAS_EDITABLE_PARAMETERS *editableParameters ); #endif /*------------------------------------------------------------------------------------------* Loading Loading @@ -230,13 +221,7 @@ int main( RenderConfigReader *renderConfigReader = NULL; int16_t *pcmBuf = NULL; IVAS_RENDER_NUM_SUBFR asked_num_subframes; #ifdef FIX_HRTF_LOAD IVAS_DEC_HRTF_BINARY_WRAPPER hHrtfBinary; #else IVAS_DEC_HRTF_HANDLE *hHrtfTD = NULL; IVAS_DEC_HRTF_CREND_HANDLE *hSetOfHRTF = NULL; IVAS_DEC_HRTF_STATISTICS_HANDLE *hHrtfStatistics = NULL; #endif #ifdef DEBUGGING int32_t noClipping; int32_t cnt_frames_limited; Loading @@ -253,11 +238,9 @@ int main( reset_mem( USE_BYTES ); #endif #ifdef FIX_HRTF_LOAD hHrtfBinary.hHrtfTD = NULL; /* just to avoid compilation warning */ hHrtfBinary.hSetOfHRTF = NULL; /* just to avoid compilation warning */ hHrtfBinary.hHrtfStatistics = NULL; /* just to avoid compilation warning */ #endif splitRendBits.bits_buf = splitRendBitsBuf; Loading Loading @@ -700,9 +683,6 @@ int main( fprintf( stderr, "Failed to get acoustic environment with ID: %d\n\n", aeID ); goto cleanup; } #ifndef FIX_587_DEFAULT_REVERB renderConfig.roomAcoustics.override = true; #endif } /* ISAR frame size is set from command line, not renderer config file. Loading Loading @@ -744,111 +724,12 @@ int main( if ( arg.hrtfReaderEnabled ) { #ifdef FIX_HRTF_LOAD hHrtfBinary.hrtfReader = hrtfReader; hHrtfBinary.hrtfFileName = arg.hrtfFileName; hHrtfBinary.binaural_renderer = IVAS_BIN_RENDERER_TYPE_NONE; hHrtfBinary.binaural_renderer_sec = IVAS_BIN_RENDERER_TYPE_NONE; hHrtfBinary.room_reverb_flag = 0; hHrtfBinary.intern_audio_config = IVAS_AUDIO_CONFIG_INVALID; #else if ( ( error = IVAS_DEC_GetHrtfHandle( hIvasDec, &hHrtfTD ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_GetHrtfHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } if ( ( error = load_HRTF_binary( *hHrtfTD, hrtfReader ) ) != IVAS_ERR_OK ) { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } else { destroy_td_hrtf( hHrtfTD ); } } if ( ( error = IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hSetOfHRTF ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_GetHrtfCRendHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } if ( ( error = create_SetOfHRTF_from_binary( *hSetOfHRTF, hrtfReader, arg.output_Fs ) ) != IVAS_ERR_OK ) { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } else { destroy_SetOfHRTF( hSetOfHRTF ); } } IVAS_DEC_HRTF_FASTCONV_HANDLE *hHrtfFastConv = NULL; if ( ( error = IVAS_DEC_GetHrtfFastConvHandle( hIvasDec, &hHrtfFastConv ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_GetHrtfFastConvHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } if ( ( error = load_fastconv_HRTF_from_binary( *hHrtfFastConv, hrtfReader ) ) != IVAS_ERR_OK ) { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } else { destroy_fastconv_hrtf( hHrtfFastConv ); } } IVAS_DEC_HRTF_PARAMBIN_HANDLE *hHrtfParambin = NULL; if ( ( error = IVAS_DEC_GetHrtfParamBinHandle( hIvasDec, &hHrtfParambin ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_GetHrtfParamBinHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } if ( ( error = load_parambin_HRTF_from_binary( *hHrtfParambin, hrtfReader ) ) != IVAS_ERR_OK ) { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } else { destroy_parambin_hrtf( hHrtfParambin ); } } if ( ( error = IVAS_DEC_GetHrtfStatisticsHandle( hIvasDec, &hHrtfStatistics ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_DEC_GetHrtfHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } if ( ( error = load_reverb_binary( *hHrtfStatistics, arg.output_Fs, hrtfReader ) ) != IVAS_ERR_OK ) { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { fprintf( stderr, "\nError in loading HRTF binary file %s \n\n", arg.hrtfFileName ); goto cleanup; } else { destroy_hrtf_statistics( hHrtfStatistics ); } } #endif } /*------------------------------------------------------------------------------------------* Loading @@ -870,19 +751,11 @@ int main( if ( arg.voipMode ) { #ifdef FIX_HRTF_LOAD error = decodeVoIP( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec ); #else error = decodeVoIP( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, hIvasDec ); #endif } else { #ifdef FIX_HRTF_LOAD error = decodeG192( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, &splitRendBits, hIvasDec, pcmBuf ); #else error = decodeG192( arg, hBsReader, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, &splitRendBits, hIvasDec, pcmBuf ); #endif } if ( error == IVAS_ERR_OK || error == IVAS_ERR_END_OF_FILE ) Loading @@ -898,11 +771,7 @@ int main( } else { #ifdef FIX_HRTF_LOAD fprintf( stderr, "\nDecoding finished prematurely: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); #else fprintf( stdout, "Decoding finished prematurely\n\n" ); #endif goto cleanup; } Loading Loading @@ -938,20 +807,9 @@ cleanup: #endif if ( arg.hrtfReaderEnabled ) { #ifdef FIX_HRTF_LOAD destroy_td_hrtf( hHrtfBinary.hHrtfTD ); destroy_SetOfHRTF( hHrtfBinary.hSetOfHRTF ); destroy_hrtf_statistics( hHrtfBinary.hHrtfStatistics ); #else IVAS_DEC_GetHrtfHandle( hIvasDec, &hHrtfTD ); destroy_td_hrtf( hHrtfTD ); IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hSetOfHRTF ); destroy_SetOfHRTF( hSetOfHRTF ); IVAS_DEC_GetHrtfStatisticsHandle( hIvasDec, &hHrtfStatistics ); destroy_hrtf_statistics( hHrtfStatistics ); #endif } IVAS_DEC_Close( &hIvasDec ); Loading Loading @@ -2142,9 +2000,7 @@ static ivas_error initOnFirstGoodFrame( static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, #ifdef FIX_HRTF_LOAD IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, #endif RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Loading Loading @@ -2500,25 +2356,13 @@ static ivas_error decodeG192( } } #endif #ifdef FIX_HRTF_LOAD /* Feed into decoder and decode transport channels */ if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, num_bits, bfi ) ) != IVAS_ERR_OK ) #else /* Feed into decoder */ if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, num_bits, bfi #ifdef OBJ_EDITING_API , isSplitRend, splitRendBits #endif ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nError: could not feed frame to decoder: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #ifdef FIX_HRTF_LOAD /* Read main parameters from the bitstream to set-up the decoder */ hHrtfBinary->binaural_renderer_old = hHrtfBinary->binaural_renderer; hHrtfBinary->binaural_renderer_sec_old = hHrtfBinary->binaural_renderer_sec; Loading Loading @@ -2546,8 +2390,6 @@ static ivas_error decodeG192( return error; } #endif #ifdef OBJ_EDITING_API /* Object metadata editing */ if ( arg.objEditEnabled ) { Loading @@ -2561,10 +2403,8 @@ static ivas_error decodeG192( } /* Do object metadata editing here ... */ #ifdef OBJ_EDITING_EXAMPLE do_object_editing( &editableParameters ); #endif /* set new object parameters */ if ( ( error = IVAS_DEC_SetEditableParameters( hIvasDec, editableParameters ) ) != IVAS_ERR_OK ) { Loading @@ -2580,7 +2420,6 @@ static ivas_error decodeG192( goto cleanup; } } #endif /* Render */ if ( isSplitRend ) Loading @@ -2596,19 +2435,11 @@ static ivas_error decodeG192( } else { #ifdef OBJ_EDITING_API if ( ( error = IVAS_DEC_GetSamplesRenderer( hIvasDec, nSamplesToRender, IVAS_DEC_PCM_INT16, (void *) ( pcmBuf + nOutChannels * nSamplesRendered ), &nSamplesRendered_loop, &needNewFrame ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in IVAS_DEC_GetSamplesRenderer(): %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #else if ( ( error = IVAS_DEC_GetSamples( hIvasDec, nSamplesToRender, IVAS_DEC_PCM_INT16, (void *) ( pcmBuf + nOutChannels * nSamplesRendered ), &nSamplesRendered_loop, &needNewFrame ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in IVAS_DEC_GetSamples: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #endif nSamplesRendered += nSamplesRendered_loop; nSamplesToRender -= nSamplesRendered_loop; Loading Loading @@ -3090,9 +2921,7 @@ static ivas_error writeJbmTraceFileFrameWrapper( const void *data, void *writer static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, #ifdef FIX_HRTF_LOAD IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtf, #endif RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Loading Loading @@ -3143,14 +2972,10 @@ static ivas_error decodeVoIP( int16_t vec_pos_update, vec_pos_len; int16_t nOutSamples = 0; #ifdef FIX_HRTF_LOAD bool bitstreamReadDone = false; #endif #ifdef OBJ_EDITING_API bool parameterAvailableForEditing = false; uint16_t nSamplesRendered = 0; #endif vec_pos_update = 0; if ( ( error = IVAS_DEC_GetRenderFramesizeMs( hIvasDec, &systemTimeInc_ms ) ) != IVAS_ERR_OK ) Loading Loading @@ -3268,9 +3093,7 @@ static ivas_error decodeVoIP( while ( 1 ) { #ifdef OBJ_EDITING_API nSamplesRendered = 0; #endif /* reference vector */ if ( arg.enableReferenceVectorTracking && vec_pos_update == 0 ) Loading Loading @@ -3433,44 +3256,17 @@ static ivas_error decodeVoIP( /* decode and get samples */ #ifdef OBJ_EDITING_API while ( nSamplesRendered < nOutSamples ) { #endif #ifdef SUPPORT_JBM_TRACEFILE #ifdef FIX_HRTF_LOAD #ifdef OBJ_EDITING_API if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &bitstreamReadDone, &nSamplesRendered, ¶meterAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &bitstreamReadDone, systemTime_ms ) ) != IVAS_ERR_OK ) #endif #else #ifdef OBJ_EDITING_API if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &nSamplesRendered, ¶meterAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, systemTime_ms ) ) != IVAS_ERR_OK ) #endif #endif #else #ifdef FIX_HRTF_LOAD #ifdef OBJ_EDITING_API if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, &bitstreamReadDone, &nSamplesRendered, ¶meterAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, &bitstreamReadDone, systemTime_ms ) ) != IVAS_ERR_OK ) #endif #else #ifdef OBJ_EDITING_API if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, systemTime_ms, &nSamplesRendered, ¶meterAvailableForEditing ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, systemTime_ms ) ) != IVAS_ERR_OK ) #endif #endif #endif { fprintf( stderr, "\nError in IVAS_DEC_VoIP_GetSamples: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #ifdef FIX_HRTF_LOAD if ( bitstreamReadDone == true ) { Loading @@ -3496,8 +3292,6 @@ static ivas_error decodeVoIP( } } #endif #ifdef OBJ_EDITING_API /* Object metadata editing */ if ( arg.objEditEnabled && parameterAvailableForEditing == true ) { Loading @@ -3511,10 +3305,8 @@ static ivas_error decodeVoIP( } /* Do object metadata editing here ... */ #ifdef OBJ_EDITING_EXAMPLE do_object_editing( &editableParameters ); #endif /* set new object parameters */ if ( ( error = IVAS_DEC_SetEditableParameters( hIvasDec, editableParameters ) ) != IVAS_ERR_OK ) { Loading @@ -3523,7 +3315,6 @@ static ivas_error decodeVoIP( } } } /* while ( nSamplesRendered < nOutSamples ) */ #endif /* write JBM Offset file entry */ if ( jbmOffsetWriter != NULL ) Loading Loading @@ -3806,7 +3597,6 @@ cleanup: return error; } #ifdef OBJ_EDITING_EXAMPLE /*---------------------------------------------------------------------* * do_object_editing() Loading Loading @@ -3859,7 +3649,6 @@ static void do_object_editing( return; } #endif #ifdef DEBUGGING Loading @@ -3885,7 +3674,6 @@ static IVAS_DEC_FORCED_REND_MODE parseForcedRendModeDec( } #endif #ifdef FIX_HRTF_LOAD /*---------------------------------------------------------------------* * IVAS_DEC_LoadHrtfFromFile() Loading Loading @@ -4061,6 +3849,5 @@ static ivas_error IVAS_DEC_LoadHrtfFromFile( return IVAS_ERR_OK; } #endif #undef WMC_TOOL_SKIP
apps/renderer.c +0 −11 Original line number Diff line number Diff line Loading @@ -615,11 +615,7 @@ static int16_t get_cldfb_in_flag( int16_t cldfb_in_flag; cldfb_in_flag = 0; #ifdef FIX_HRTF_LOAD if ( renderConfig->split_rend_config.rendererSelection == IVAS_BIN_RENDERER_TYPE_FASTCONV ) #else if ( renderConfig->split_rend_config.rendererSelection == ISAR_SPLIT_REND_RENDERER_SELECTION_FASTCONV ) #endif { #ifdef DEBUGGING cldfb_in_flag = 1; Loading Loading @@ -949,11 +945,7 @@ int main( goto cleanup; } #ifdef FIX_HRTF_LOAD if ( ( error = load_fastconv_HRTF_from_binary( *hHrtfFastConv, 0, IVAS_AUDIO_CONFIG_INVALID, hrtfFileReader ) ) != IVAS_ERR_OK ) #else if ( ( error = load_fastconv_HRTF_from_binary( *hHrtfFastConv, hrtfFileReader ) ) != IVAS_ERR_OK ) #endif { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { Loading Loading @@ -1052,9 +1044,6 @@ int main( fprintf( stderr, "Failed to get acoustic environment with ID: %d\n\n", aeID ); exit( -1 ); } #ifndef FIX_587_DEFAULT_REVERB renderConfig.roomAcoustics.override = 1; #endif } /* ISAR frame size is set from command line, not renderer config file. Loading
ci/basop-pages/basop_index.html +7 −0 Original line number Diff line number Diff line Loading @@ -20,4 +20,11 @@ {} <h2>Test Coverage</h2> <ul> <li><a href="coverage_dec_rend/index.html">Coverage report of Decoder and Renderer</a></li> <li><a href="coverage_enc_dec_rend/index.html">Coverage report of Encoder, Decoder and Renderer</a></li> </ul> </body>
ci/complexity_measurements/getWmops.sh +34 −25 Original line number Diff line number Diff line Loading @@ -29,11 +29,11 @@ # the United Nations Convention on Contracts on the International Sales of Goods. function usage { echo "Usage: $0 \"ivas-format(s)\" \"output-format(s)\" \"mode{full(default)|mem_only}\"" echo "Usage: $0 \"ivas-format(s)\" \"output-format(s)\" \"mode{full(default)|mem_only}\" \"repo{float(default)|basop}\" " exit 1 } if [ $# -ne 2 ] && [ $# -ne 3 ]; then if [ $# -ne 2 ] && [ $# -ne 3 ] && [ $# -ne 4 ]; then usage fi Loading @@ -41,7 +41,7 @@ ivas_format=$1 output_format="$2" mode_arg_script="" if [ $# -eq 3 ]; then if [ $# -ge 3 ]; then if [ "$3" = "mem_only" ]; then mode_arg_script="--wmc_tool_mem_only" elif [ "$3" != "full" ]; then Loading @@ -49,11 +49,20 @@ if [ $# -eq 3 ]; then fi fi date=`date +%Y%m%d` # used for log-file file ending shortDate=`date "+%b %d" | sed -e "s/\ /_/g"` # stored in the log-file fullDate=`date "+%c" | sed -e "s/\ /_/g"` # stored in the log-file repo_arg_script="" if [ $# -eq 4 ]; then if [ "$4" = "basop" ]; then repo_arg_script="--basop" elif [ "$4" != "float"]; then usage fi fi commit_sha=`git rev-parse --short HEAD` date=$(date +%Y%m%d) # used for log-file file ending shortDate=$(date "+%b %d" | sed -e "s/\ /_/g") # stored in the log-file fullDate=$(date "+%c" | sed -e "s/\ /_/g") # stored in the log-file commit_sha=$(git rev-parse --short HEAD) destDir="." scriptDir="ci/complexity_measurements" Loading @@ -62,7 +71,8 @@ ep="${scriptDir}/ep_10pct_fer.g192" config_file="scripts/config/ci_linux_ltv.json" # get wmops newsletter wmopsFilenameFlcLast=wmops_newsletter_stereo__${commit_sha}_${date} ivas_format_for_filename=${ivas_format// /-} wmopsFilenameFlcLast=wmops_newsletter_${ivas_format_for_filename}_to_${output_format}__${commit_sha}_${date} wmopsFilenameFlc=${destDir}/wmops/logs/${wmopsFilenameFlcLast} ret_val=0 Loading @@ -70,12 +80,12 @@ ret_val=0 mode_arg="" # for OSBA, there are just too many modes... -> only select HOA3 ones if [ "$ivas_format" == "OSBA" ]; then osba_hoa3_modes=$(./scripts/runIvasCodec.py -C OSBA -l | grep "HOA3") osba_hoa3_modes=$(./scripts/runIvasCodec.py -C OSBA -l | grep "HOA3" | grep -v "planar") mode_arg="-m $osba_hoa3_modes" fi # instrument and build ./scripts/IvasBuildAndRunChecks.py $mode_arg_script -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format $mode_arg -f ${ep} --oc $output_format ./scripts/IvasBuildAndRunChecks.py $mode_arg_script $repo_arg_script -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format $mode_arg -f ${ep} --oc $output_format ret_val=$? # get the info on worst-case operating point: WMOPS number, enc-operating mode, dec-operating mode Loading @@ -88,7 +98,6 @@ tcsh ${scriptDir}/genWebpageData_WMOPS.csh ${destDir}/wmops/log_wmops_all.txt ${ # per mode graph tcsh ${scriptDir}/genWebpageData_WmopPerOperatingpoint.csh ${wmopsFilenameFlc}_WMOPS.csv ${destDir}/wmops/graphs_wmops_flc_perOP.js Graphs_WMOPS_perOP # get memory info for webpage ### RAM ${scriptDir}/mergeNewsletterRam.py ${wmopsFilenameFlc}_HEAP.csv ${wmopsFilenameFlc}_STACK.csv >${wmopsFilenameFlc}_RAM.csv Loading