Loading apps/decoder.c +24 −2 Original line number Diff line number Diff line Loading @@ -168,7 +168,10 @@ typedef struct char *hrtfFileName; IVAS_DEC_HRTF_HANDLE *hHrtfTD; #ifndef FIX_1227_Crend_HRTF_LOADING_OPTIM IVAS_DEC_HRTF_CREND_HANDLE *hSetOfHRTF; #endif IVAS_DEC_HRTF_STATISTICS_HANDLE *hHrtfStatistics; IVAS_BIN_RENDERER_TYPE binaural_renderer; Loading Loading @@ -264,7 +267,9 @@ int main( #endif hHrtfBinary.hHrtfTD = NULL; /* just to avoid compilation warning */ #ifndef FIX_1227_Crend_HRTF_LOADING_OPTIM hHrtfBinary.hSetOfHRTF = NULL; /* just to avoid compilation warning */ #endif hHrtfBinary.hHrtfStatistics = NULL; /* just to avoid compilation warning */ splitRendBits.bits_buf = splitRendBitsBuf; Loading Loading @@ -863,7 +868,9 @@ cleanup: if ( arg.hrtfReaderEnabled ) { destroy_td_hrtf( hHrtfBinary.hHrtfTD ); #ifndef FIX_1227_Crend_HRTF_LOADING_OPTIM destroy_SetOfHRTF( hHrtfBinary.hSetOfHRTF ); #endif destroy_hrtf_statistics( hHrtfBinary.hHrtfStatistics ); } Loading Loading @@ -3988,11 +3995,13 @@ static ivas_error IVAS_DEC_LoadHrtfFromFile( destroy_td_hrtf( hHrtfBinary->hHrtfTD ); } #ifndef FIX_1227_Crend_HRTF_LOADING_OPTIM if ( !( binaural_renderer == IVAS_BIN_RENDERER_TYPE_CREND || binaural_renderer == IVAS_BIN_RENDERER_TYPE_DEFAULT ) && hHrtfBinary->hSetOfHRTF != NULL ) { destroy_SetOfHRTF( hHrtfBinary->hSetOfHRTF ); } #endif if ( ( error = IVAS_DEC_HRTF_binary_close( hIvasDec, hHrtfBinary->binaural_renderer_old ) ) != IVAS_ERR_OK ) { return error; Loading Loading @@ -4036,13 +4045,22 @@ static ivas_error IVAS_DEC_LoadHrtfFromFile( if ( binaural_renderer == IVAS_BIN_RENDERER_TYPE_CREND || binaural_renderer == IVAS_BIN_RENDERER_TYPE_DEFAULT ) { #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM IVAS_DEC_HRTF_CREND_HANDLE *hHrtfCrend = NULL; if ( ( error = IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hHrtfCrend ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hHrtfBinary->hSetOfHRTF ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nIVAS_DEC_GetHrtfCRendHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); return error; } #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM if ( ( error = load_Crend_HRTF_from_binary( *hHrtfCrend, hHrtfBinary->hrtfReader, OutputConfig, hHrtfBinary->hrtf_set_audio_cfg, output_Fs ) ) != IVAS_ERR_OK ) #else if ( ( error = create_SetOfHRTF_from_binary( *hHrtfBinary->hSetOfHRTF, hHrtfBinary->hrtfReader, output_Fs ) ) != IVAS_ERR_OK ) #endif { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { Loading @@ -4051,7 +4069,11 @@ static ivas_error IVAS_DEC_LoadHrtfFromFile( } else { #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM destroy_crend_hrtf( hHrtfCrend ); #else destroy_SetOfHRTF( hHrtfBinary->hSetOfHRTF ); #endif } } } Loading apps/renderer.c +27 −0 Original line number Diff line number Diff line Loading @@ -665,7 +665,11 @@ int main( SplitRendBFIFileReader *splitRendBFIReader = NULL; Vector3PairFileReader *referenceVectorReader = NULL; hrtfFileReader *hrtfFileReader = NULL; #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM IVAS_DEC_HRTF_CREND_HANDLE *hHrtfCrend = NULL; #else IVAS_DEC_HRTF_CREND_HANDLE *hSetOfHRTF = NULL; #endif IVAS_DEC_HRTF_FASTCONV_HANDLE *hHrtfFastConv = NULL; IVAS_DEC_HRTF_PARAMBIN_HANDLE *hHrtfParambin = NULL; IVAS_DEC_HRTF_HANDLE *hHrtfTD = NULL; Loading Loading @@ -920,13 +924,27 @@ int main( } #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM if ( ( error = IVAS_REND_GetHrtfCRendHandle( hIvasRend, &hHrtfCrend ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_REND_GetHrtfCRendHandle( hIvasRend, &hSetOfHRTF ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nIVAS_Rend_GetHrtfCRendHandle failed: %s\n\n", ivas_error_to_string( error ) ); goto cleanup; } #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM IVAS_AUDIO_CONFIG hrtf_set_audio_cfg = IVAS_AUDIO_CONFIG_7_1_4; if ( args.inConfig.ambisonicsBuses->audioConfig != IVAS_AUDIO_CONFIG_INVALID && args.outConfig.audioConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) { hrtf_set_audio_cfg = args.inConfig.ambisonicsBuses->audioConfig; } if ( ( error = load_Crend_HRTF_from_binary( *hHrtfCrend, hrtfFileReader, args.outConfig.audioConfig, hrtf_set_audio_cfg, args.sampleRate ) ) != IVAS_ERR_OK ) #else if ( ( error = create_SetOfHRTF_from_binary( *hSetOfHRTF, hrtfFileReader, args.sampleRate ) ) != IVAS_ERR_OK ) #endif { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { Loading @@ -935,7 +953,11 @@ int main( } else { #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM destroy_crend_hrtf( hHrtfCrend ); #else destroy_SetOfHRTF( hSetOfHRTF ); #endif } } Loading Loading @@ -1956,7 +1978,9 @@ cleanup: Vector3PairFileReader_close( &referenceVectorReader ); destroy_td_hrtf( hHrtfTD ); #ifndef FIX_1227_Crend_HRTF_LOADING_OPTIM destroy_SetOfHRTF( hSetOfHRTF ); #endif destroy_hrtf_statistics( hHrtfStatistics ); IVAS_REND_Close( &hIvasRend ); IsmPositionProvider_close( positionProvider ); Loading Loading @@ -2499,6 +2523,9 @@ static CmdlnArgs defaultArgs( args.outConfig.audioConfig = IVAS_AUDIO_CONFIG_INVALID; args.outConfig.outSetupCustom.num_spk = 0; args.outConfig.outSetupCustom.num_lfe = 0; #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM args.inConfig.ambisonicsBuses->audioConfig = IVAS_AUDIO_CONFIG_INVALID; #endif for ( int32_t i = 0; i < RENDERER_MAX_ISM_INPUTS; ++i ) { Loading ci/complexity_measurements/genWebpageData.py +12 −0 Original line number Diff line number Diff line Loading @@ -425,6 +425,18 @@ def create_display_strings( displays.append(display) if which == "wmops_per_op": # flot.js' "stack: true" depends on the order of data arrays # reorder here instead of reworking above loop displays_encs = displays[0].split(", \n") displays_decs = displays[1].split(", \n") displays = [ displays_encs[0], displays_decs[0], displays_encs[1], displays_decs[1], ] return displays Loading ci/complexity_measurements/index_complexity.html +72 −29 Original line number Diff line number Diff line Loading @@ -648,30 +648,61 @@ function WMOPS_perOP() { previousPoint = item.datapoint; $("#tooltip").remove(); var encData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[0]; var decData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[1]; var encData, decData; var encRefData, decRefData; var text = ""; if (Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays.length == 2) { encData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[0]; decData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[1]; var x = item.datapoint[0]; var y = item.datapoint[1]; var scoreEnc = parseFloat(encData.data[x][1]); var scoreDec = parseFloat(decData.data[x][1]); var scoreEnc = Math.max(parseFloat(encData.data[x][1]), 0); var scoreDec = Math.max(parseFloat(decData.data[x][1]), 0); var scoreCodec = Math.round((scoreEnc + scoreDec) * 100) / 100; var text = ""; text += "<b><u>Mode: " + Graphs_WMOPS_perOP.wmops_worstcase_per_op.runs[x].operatingPoint + "</u></b><br>"; text += 'Score: ' + Math.round(y * 100) / 100; if (graph.direction == -1) text += " WMOPS"; if( item.series.id == "worstCaseEnc" ){ text += " (enc)"; text += "Worst case enc: " + scoreEnc + " WMOPS<br>"; text += "Worst case dec: " + scoreDec + " WMOPS<br>"; text += "Worst case codec: " + scoreCodec + " WMOPS<br><br>"; var nEntriesWmopsGraph = Graphs_WMOPS.wmops_worstcase.runs.length - 1; text += "<a href=\"logs/" + Graphs_WMOPS.wmops_worstcase.runs[nEntriesWmopsGraph].logFile + "\">Logfile</a><br>"; } if( item.series.id == "worstCaseDec" ){ text += " (enc + dec)"; else if (Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays.length == 4) { encData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[0]; decData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[1]; encRefData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[2]; decRefData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[3]; var x = item.datapoint[0]; var y = item.datapoint[1]; var run = Graphs_WMOPS_perOP.wmops_worstcase_per_op.runs[x]; var op = run.operatingPoint; var codec = op.split(" - ")[1]; var scoreEnc, scoreDec; if (codec == "FLT REF") { x = (x - 1) / 2; scoreEnc = Math.max(parseFloat(encRefData.data[x][1]), 0); scoreDec = Math.max(parseFloat(decRefData.data[x][1]), 0); } else if (codec == "BASOP") { x = x / 2; scoreEnc = Math.max(parseFloat(encData.data[x][1]), 0); scoreDec = Math.max(parseFloat(decData.data[x][1]), 0); } text += "<br><br>"; var scoreCodec = Math.round((scoreEnc + scoreDec) * 100) / 100; text += "<b><u>Mode: " + op + "</u></b><br>"; text += "Worst case enc: " + scoreEnc + " WMOPS<br>"; text += "Worst case dec: " + scoreDec + " WMOPS<br>"; Loading @@ -679,7 +710,7 @@ function WMOPS_perOP() { var nEntriesWmopsGraph = Graphs_WMOPS.wmops_worstcase.runs.length - 1; text += "<a href=\"logs/" + Graphs_WMOPS.wmops_worstcase.runs[nEntriesWmopsGraph].logFile + "\">Logfile</a><br>"; } showToolTip(item.pageX, item.pageY, text); }); Loading @@ -689,7 +720,19 @@ function WMOPS_perOP() { $(document).ready(function () { // need to get worst case of enc + dec combined, because values are stacked in the graph var max = get_max_y_val_for_plotting(Graphs_WMOPS.wmops_worstcase.displays, 50); var displays = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays; var encData, decData; if (displays.length == 2) { encData = [displays[0]]; decData = [displays[1]]; } else if (displays.length == 4) { encData = [displays[0], displays[2]]; decData = [displays[1], displays[3]]; } var max_enc = get_max_y_val_for_plotting(encData, 1); var max_dec = get_max_y_val_for_plotting(decData, 1); var max = Math.ceil( (max_enc + max_dec ) / 50) * 50; drawGraph($("#wmops_per_op-graph"), Graphs_WMOPS_perOP.wmops_worstcase_per_op, max); }); Loading lib_com/common_api_types.h +4 −0 Original line number Diff line number Diff line Loading @@ -175,7 +175,11 @@ typedef struct ivas_masa_metadata_frame_struct *IVAS_MASA_METADATA_HANDLE; typedef struct ivas_masa_decoder_ext_out_meta_struct *IVAS_MASA_DECODER_EXT_OUT_META_HANDLE; typedef struct TDREND_HRFILT_FiltSet_struct *IVAS_DEC_HRTF_HANDLE; #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM typedef struct ivas_hrtf_crend_structure *IVAS_DEC_HRTF_CREND_HANDLE; #else typedef struct ivas_hrtfs_crend_structure *IVAS_DEC_HRTF_CREND_HANDLE; #endif typedef struct ivas_hrtfs_fastconv_struct *IVAS_DEC_HRTF_FASTCONV_HANDLE; typedef struct ivas_hrtfs_parambin_struct *IVAS_DEC_HRTF_PARAMBIN_HANDLE; typedef struct ivas_hrtfs_statistics_struct *IVAS_DEC_HRTF_STATISTICS_HANDLE; Loading Loading
apps/decoder.c +24 −2 Original line number Diff line number Diff line Loading @@ -168,7 +168,10 @@ typedef struct char *hrtfFileName; IVAS_DEC_HRTF_HANDLE *hHrtfTD; #ifndef FIX_1227_Crend_HRTF_LOADING_OPTIM IVAS_DEC_HRTF_CREND_HANDLE *hSetOfHRTF; #endif IVAS_DEC_HRTF_STATISTICS_HANDLE *hHrtfStatistics; IVAS_BIN_RENDERER_TYPE binaural_renderer; Loading Loading @@ -264,7 +267,9 @@ int main( #endif hHrtfBinary.hHrtfTD = NULL; /* just to avoid compilation warning */ #ifndef FIX_1227_Crend_HRTF_LOADING_OPTIM hHrtfBinary.hSetOfHRTF = NULL; /* just to avoid compilation warning */ #endif hHrtfBinary.hHrtfStatistics = NULL; /* just to avoid compilation warning */ splitRendBits.bits_buf = splitRendBitsBuf; Loading Loading @@ -863,7 +868,9 @@ cleanup: if ( arg.hrtfReaderEnabled ) { destroy_td_hrtf( hHrtfBinary.hHrtfTD ); #ifndef FIX_1227_Crend_HRTF_LOADING_OPTIM destroy_SetOfHRTF( hHrtfBinary.hSetOfHRTF ); #endif destroy_hrtf_statistics( hHrtfBinary.hHrtfStatistics ); } Loading Loading @@ -3988,11 +3995,13 @@ static ivas_error IVAS_DEC_LoadHrtfFromFile( destroy_td_hrtf( hHrtfBinary->hHrtfTD ); } #ifndef FIX_1227_Crend_HRTF_LOADING_OPTIM if ( !( binaural_renderer == IVAS_BIN_RENDERER_TYPE_CREND || binaural_renderer == IVAS_BIN_RENDERER_TYPE_DEFAULT ) && hHrtfBinary->hSetOfHRTF != NULL ) { destroy_SetOfHRTF( hHrtfBinary->hSetOfHRTF ); } #endif if ( ( error = IVAS_DEC_HRTF_binary_close( hIvasDec, hHrtfBinary->binaural_renderer_old ) ) != IVAS_ERR_OK ) { return error; Loading Loading @@ -4036,13 +4045,22 @@ static ivas_error IVAS_DEC_LoadHrtfFromFile( if ( binaural_renderer == IVAS_BIN_RENDERER_TYPE_CREND || binaural_renderer == IVAS_BIN_RENDERER_TYPE_DEFAULT ) { #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM IVAS_DEC_HRTF_CREND_HANDLE *hHrtfCrend = NULL; if ( ( error = IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hHrtfCrend ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hHrtfBinary->hSetOfHRTF ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nIVAS_DEC_GetHrtfCRendHandle failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); return error; } #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM if ( ( error = load_Crend_HRTF_from_binary( *hHrtfCrend, hHrtfBinary->hrtfReader, OutputConfig, hHrtfBinary->hrtf_set_audio_cfg, output_Fs ) ) != IVAS_ERR_OK ) #else if ( ( error = create_SetOfHRTF_from_binary( *hHrtfBinary->hSetOfHRTF, hHrtfBinary->hrtfReader, output_Fs ) ) != IVAS_ERR_OK ) #endif { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { Loading @@ -4051,7 +4069,11 @@ static ivas_error IVAS_DEC_LoadHrtfFromFile( } else { #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM destroy_crend_hrtf( hHrtfCrend ); #else destroy_SetOfHRTF( hHrtfBinary->hSetOfHRTF ); #endif } } } Loading
apps/renderer.c +27 −0 Original line number Diff line number Diff line Loading @@ -665,7 +665,11 @@ int main( SplitRendBFIFileReader *splitRendBFIReader = NULL; Vector3PairFileReader *referenceVectorReader = NULL; hrtfFileReader *hrtfFileReader = NULL; #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM IVAS_DEC_HRTF_CREND_HANDLE *hHrtfCrend = NULL; #else IVAS_DEC_HRTF_CREND_HANDLE *hSetOfHRTF = NULL; #endif IVAS_DEC_HRTF_FASTCONV_HANDLE *hHrtfFastConv = NULL; IVAS_DEC_HRTF_PARAMBIN_HANDLE *hHrtfParambin = NULL; IVAS_DEC_HRTF_HANDLE *hHrtfTD = NULL; Loading Loading @@ -920,13 +924,27 @@ int main( } #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM if ( ( error = IVAS_REND_GetHrtfCRendHandle( hIvasRend, &hHrtfCrend ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_REND_GetHrtfCRendHandle( hIvasRend, &hSetOfHRTF ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nIVAS_Rend_GetHrtfCRendHandle failed: %s\n\n", ivas_error_to_string( error ) ); goto cleanup; } #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM IVAS_AUDIO_CONFIG hrtf_set_audio_cfg = IVAS_AUDIO_CONFIG_7_1_4; if ( args.inConfig.ambisonicsBuses->audioConfig != IVAS_AUDIO_CONFIG_INVALID && args.outConfig.audioConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) { hrtf_set_audio_cfg = args.inConfig.ambisonicsBuses->audioConfig; } if ( ( error = load_Crend_HRTF_from_binary( *hHrtfCrend, hrtfFileReader, args.outConfig.audioConfig, hrtf_set_audio_cfg, args.sampleRate ) ) != IVAS_ERR_OK ) #else if ( ( error = create_SetOfHRTF_from_binary( *hSetOfHRTF, hrtfFileReader, args.sampleRate ) ) != IVAS_ERR_OK ) #endif { if ( error != IVAS_ERR_BINARY_FILE_WITHOUT_BINAURAL_RENDERER_DATA ) { Loading @@ -935,7 +953,11 @@ int main( } else { #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM destroy_crend_hrtf( hHrtfCrend ); #else destroy_SetOfHRTF( hSetOfHRTF ); #endif } } Loading Loading @@ -1956,7 +1978,9 @@ cleanup: Vector3PairFileReader_close( &referenceVectorReader ); destroy_td_hrtf( hHrtfTD ); #ifndef FIX_1227_Crend_HRTF_LOADING_OPTIM destroy_SetOfHRTF( hSetOfHRTF ); #endif destroy_hrtf_statistics( hHrtfStatistics ); IVAS_REND_Close( &hIvasRend ); IsmPositionProvider_close( positionProvider ); Loading Loading @@ -2499,6 +2523,9 @@ static CmdlnArgs defaultArgs( args.outConfig.audioConfig = IVAS_AUDIO_CONFIG_INVALID; args.outConfig.outSetupCustom.num_spk = 0; args.outConfig.outSetupCustom.num_lfe = 0; #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM args.inConfig.ambisonicsBuses->audioConfig = IVAS_AUDIO_CONFIG_INVALID; #endif for ( int32_t i = 0; i < RENDERER_MAX_ISM_INPUTS; ++i ) { Loading
ci/complexity_measurements/genWebpageData.py +12 −0 Original line number Diff line number Diff line Loading @@ -425,6 +425,18 @@ def create_display_strings( displays.append(display) if which == "wmops_per_op": # flot.js' "stack: true" depends on the order of data arrays # reorder here instead of reworking above loop displays_encs = displays[0].split(", \n") displays_decs = displays[1].split(", \n") displays = [ displays_encs[0], displays_decs[0], displays_encs[1], displays_decs[1], ] return displays Loading
ci/complexity_measurements/index_complexity.html +72 −29 Original line number Diff line number Diff line Loading @@ -648,30 +648,61 @@ function WMOPS_perOP() { previousPoint = item.datapoint; $("#tooltip").remove(); var encData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[0]; var decData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[1]; var encData, decData; var encRefData, decRefData; var text = ""; if (Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays.length == 2) { encData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[0]; decData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[1]; var x = item.datapoint[0]; var y = item.datapoint[1]; var scoreEnc = parseFloat(encData.data[x][1]); var scoreDec = parseFloat(decData.data[x][1]); var scoreEnc = Math.max(parseFloat(encData.data[x][1]), 0); var scoreDec = Math.max(parseFloat(decData.data[x][1]), 0); var scoreCodec = Math.round((scoreEnc + scoreDec) * 100) / 100; var text = ""; text += "<b><u>Mode: " + Graphs_WMOPS_perOP.wmops_worstcase_per_op.runs[x].operatingPoint + "</u></b><br>"; text += 'Score: ' + Math.round(y * 100) / 100; if (graph.direction == -1) text += " WMOPS"; if( item.series.id == "worstCaseEnc" ){ text += " (enc)"; text += "Worst case enc: " + scoreEnc + " WMOPS<br>"; text += "Worst case dec: " + scoreDec + " WMOPS<br>"; text += "Worst case codec: " + scoreCodec + " WMOPS<br><br>"; var nEntriesWmopsGraph = Graphs_WMOPS.wmops_worstcase.runs.length - 1; text += "<a href=\"logs/" + Graphs_WMOPS.wmops_worstcase.runs[nEntriesWmopsGraph].logFile + "\">Logfile</a><br>"; } if( item.series.id == "worstCaseDec" ){ text += " (enc + dec)"; else if (Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays.length == 4) { encData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[0]; decData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[1]; encRefData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[2]; decRefData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[3]; var x = item.datapoint[0]; var y = item.datapoint[1]; var run = Graphs_WMOPS_perOP.wmops_worstcase_per_op.runs[x]; var op = run.operatingPoint; var codec = op.split(" - ")[1]; var scoreEnc, scoreDec; if (codec == "FLT REF") { x = (x - 1) / 2; scoreEnc = Math.max(parseFloat(encRefData.data[x][1]), 0); scoreDec = Math.max(parseFloat(decRefData.data[x][1]), 0); } else if (codec == "BASOP") { x = x / 2; scoreEnc = Math.max(parseFloat(encData.data[x][1]), 0); scoreDec = Math.max(parseFloat(decData.data[x][1]), 0); } text += "<br><br>"; var scoreCodec = Math.round((scoreEnc + scoreDec) * 100) / 100; text += "<b><u>Mode: " + op + "</u></b><br>"; text += "Worst case enc: " + scoreEnc + " WMOPS<br>"; text += "Worst case dec: " + scoreDec + " WMOPS<br>"; Loading @@ -679,7 +710,7 @@ function WMOPS_perOP() { var nEntriesWmopsGraph = Graphs_WMOPS.wmops_worstcase.runs.length - 1; text += "<a href=\"logs/" + Graphs_WMOPS.wmops_worstcase.runs[nEntriesWmopsGraph].logFile + "\">Logfile</a><br>"; } showToolTip(item.pageX, item.pageY, text); }); Loading @@ -689,7 +720,19 @@ function WMOPS_perOP() { $(document).ready(function () { // need to get worst case of enc + dec combined, because values are stacked in the graph var max = get_max_y_val_for_plotting(Graphs_WMOPS.wmops_worstcase.displays, 50); var displays = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays; var encData, decData; if (displays.length == 2) { encData = [displays[0]]; decData = [displays[1]]; } else if (displays.length == 4) { encData = [displays[0], displays[2]]; decData = [displays[1], displays[3]]; } var max_enc = get_max_y_val_for_plotting(encData, 1); var max_dec = get_max_y_val_for_plotting(decData, 1); var max = Math.ceil( (max_enc + max_dec ) / 50) * 50; drawGraph($("#wmops_per_op-graph"), Graphs_WMOPS_perOP.wmops_worstcase_per_op, max); }); Loading
lib_com/common_api_types.h +4 −0 Original line number Diff line number Diff line Loading @@ -175,7 +175,11 @@ typedef struct ivas_masa_metadata_frame_struct *IVAS_MASA_METADATA_HANDLE; typedef struct ivas_masa_decoder_ext_out_meta_struct *IVAS_MASA_DECODER_EXT_OUT_META_HANDLE; typedef struct TDREND_HRFILT_FiltSet_struct *IVAS_DEC_HRTF_HANDLE; #ifdef FIX_1227_Crend_HRTF_LOADING_OPTIM typedef struct ivas_hrtf_crend_structure *IVAS_DEC_HRTF_CREND_HANDLE; #else typedef struct ivas_hrtfs_crend_structure *IVAS_DEC_HRTF_CREND_HANDLE; #endif typedef struct ivas_hrtfs_fastconv_struct *IVAS_DEC_HRTF_FASTCONV_HANDLE; typedef struct ivas_hrtfs_parambin_struct *IVAS_DEC_HRTF_PARAMBIN_HANDLE; typedef struct ivas_hrtfs_statistics_struct *IVAS_DEC_HRTF_STATISTICS_HANDLE; Loading