Loading apps/decoder.c +34 −7 Original line number Diff line number Diff line Loading @@ -202,7 +202,11 @@ static int16_t app_own_random( int16_t *seed ); static IVAS_DEC_FORCED_REND_MODE parseForcedRendModeDec( char *forcedRendModeChar ); #endif #ifdef FIX_1217_OBJECT_EDIT_FILE_INTERFACE #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM static void do_object_editing( IVAS_EDITABLE_PARAMETERS *editableParameters, const int16_t num_subframes, ObjectEditFileReader *objectEditFileReader ); #else static void do_object_editing( IVAS_EDITABLE_PARAMETERS *editableParameters, ObjectEditFileReader *objectEditFileReader ); #endif #else static void do_object_editing( IVAS_EDITABLE_PARAMETERS *editableParameters ); #endif Loading Loading @@ -2471,7 +2475,11 @@ static ivas_error decodeG192( /* Do object metadata editing here ... */ #ifdef FIX_1217_OBJECT_EDIT_FILE_INTERFACE #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM do_object_editing( &editableParameters, num_subframes, objectEditFileReader ); #else do_object_editing( &editableParameters, objectEditFileReader ); #endif #else do_object_editing( &editableParameters ); #endif Loading Loading @@ -3048,7 +3056,7 @@ static ivas_error decodeVoIP( bool bitstreamReadDone = false; bool parameterAvailableForEditing = false; bool parametersAvailableForEditing = false; uint16_t nSamplesRendered = 0; vec_pos_update = 0; Loading Loading @@ -3282,11 +3290,18 @@ static ivas_error decodeVoIP( #ifdef FIX_1217_OBJECT_EDIT_FILE_INTERFACE if ( arg.objEditEnabled && ( arg.objEditFileName != NULL ) ) { #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM if ( frame * num_subframes % IVAS_MAX_PARAM_SPATIAL_SUBFRAMES == 0 ) { #endif if ( ( error = ObjectEditFileReader_readNextFrame( objectEditFileReader ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: could not read object editing instructions from file: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); return error; } #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM } #endif } #endif Loading Loading @@ -3344,7 +3359,7 @@ static ivas_error decodeVoIP( while ( nSamplesRendered < nOutSamples ) { #ifdef SUPPORT_JBM_TRACEFILE if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &bitstreamReadDone, &nSamplesRendered, ¶meterAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &bitstreamReadDone, &nSamplesRendered, ¶metersAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, &bitstreamReadDone, &nSamplesRendered, ¶meterAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #endif Loading Loading @@ -3378,7 +3393,7 @@ static ivas_error decodeVoIP( } /* Object metadata editing */ if ( arg.objEditEnabled && parameterAvailableForEditing == true ) if ( arg.objEditEnabled && parametersAvailableForEditing == true ) { IVAS_EDITABLE_PARAMETERS editableParameters; Loading @@ -3391,7 +3406,11 @@ static ivas_error decodeVoIP( /* Do object metadata editing here ... */ #ifdef FIX_1217_OBJECT_EDIT_FILE_INTERFACE #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM do_object_editing( &editableParameters, num_subframes, objectEditFileReader ); #else do_object_editing( &editableParameters, objectEditFileReader ); #endif #else do_object_editing( &editableParameters ); #endif Loading Loading @@ -3696,6 +3715,9 @@ cleanup: static void do_object_editing( #ifdef FIX_1217_OBJECT_EDIT_FILE_INTERFACE IVAS_EDITABLE_PARAMETERS *editableParameters, #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM const int16_t num_subframes, #endif ObjectEditFileReader *objectEditFileReader ) #else IVAS_EDITABLE_PARAMETERS *editableParameters ) Loading Loading @@ -3794,7 +3816,12 @@ static void do_object_editing( /* breakover object gains */ for ( obj_idx = 0; obj_idx < editableParameters->num_obj; obj_idx++ ) { #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM editableParameters->ism_metadata[obj_idx].gain = 0.5f + (float) ( ( ( frame * num_subframes / IVAS_MAX_PARAM_SPATIAL_SUBFRAMES ) + obj_idx * 50 ) % 250 ) / 250.0f; #else editableParameters->ism_metadata[obj_idx].gain = 0.5f + (float) ( ( frame + obj_idx * 50 ) % 250 ) / 250.0f; #endif } editableParameters->gain_bed = 0.5f; Loading apps/renderer.c +0 −4 Original line number Diff line number Diff line Loading @@ -737,10 +737,8 @@ int main( lfeRoutingConfigs[i] = NULL; } #ifdef FIX_1225_DISCLAIMER IVAS_REND_PrintDisclaimer(); #endif CmdlnArgs args = parseCmdlnArgs( argc, argv ); if ( args.nonDiegeticPan && !( ( args.inConfig.numAudioObjects == 0 && args.inConfig.multiChannelBuses[0].audioConfig == IVAS_AUDIO_CONFIG_MONO ) || Loading Loading @@ -898,7 +896,6 @@ int main( exit( -1 ); } #ifdef FIX_1225_DISCLAIMER fprintf( stdout, "Input audio file: %s\n", args.inputFilePath ); fprintf( stdout, "Output audio file: %s\n\n", args.outputFilePath ); Loading Loading @@ -940,7 +937,6 @@ int main( goto cleanup; } #endif if ( !isEmptyString( args.customHrtfFilePath ) ) { if ( hrtfFileReader_open( args.customHrtfFilePath, &hrtfFileReader ) != IVAS_ERR_OK ) Loading ci/complexity_measurements/index_complexity.html +73 −99 Original line number Diff line number Diff line Loading @@ -127,15 +127,22 @@ <hr /> <h1 id="sec:graph-wmops_per_op">IVAS FORMAT - Worst Case WMOPS Performance per Operating Point</h1> <h1 id="sec:graph-wmops_per_op">IVAS FORMAT - Worst Case WMOPS Performance per Operating Point</h1> <h2 id="sec:graphs_wmops_per_op_encoder">Encoder</h2> <div class="graph-container"> <div id="wmops_per_op-graph-enc"></div> </div> <h2 id="sec:graphs_wmops_per_op_decoder">Decoder</h2> <div class="graph-container"> <div id="wmops_per_op-graph"></div> <div id="wmops_per_op-graph-dec"></div> </div> <div class="graph-container" style="clear: both; padding-top: 1em"> <div id="wmops_per_op-legend"></div> <div id="wmops_per_op-legend-enc"></div> </div> <hr /> Loading Loading @@ -652,65 +659,29 @@ function WMOPS_perOP() { 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 = 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; text += "<b><u>Mode: " + Graphs_WMOPS_perOP.wmops_worstcase_per_op.runs[x].operatingPoint + "</u></b><br>"; 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>"; text += "<b><u>Mode: " + graph.runs[x].operatingPoint + "</u></b><br>"; if (graph.displays.length == 1) { var score = Math.max(parseFloat(graph.displays[0].data[x][1]), 0); text += "Worst case: " + score + " WMOPS<br>"; } 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 (graph.displays.length == 2) { if ( x % 2 != 0 ) { // these indices are for the flt ref bars // we need to subtract 1 to get the correct id x = x - 1; } 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); x = Math.floor(x / 2); var score_basop = Math.max(parseFloat(graph.displays[0].data[x][1]), 0); var score_flt_ref = Math.max(parseFloat(graph.displays[1].data[x][1]), 0); text += "Worst case BASOP: " + score_basop + " WMOPS<br>"; text += "Worst case FLT REF: " + score_flt_ref + " WMOPS<br>"; } var nEntriesWmopsGraph = graph.runs.length - 1; text += "<a href=\"logs/" + graph.runs[nEntriesWmopsGraph].logFile + "\">Logfile</a><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>"; 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>"; } showToolTip(item.pageX, item.pageY, text); }); Loading @@ -719,21 +690,24 @@ function WMOPS_perOP() { $(document).ready(function () { // need to get worst case of enc + dec combined, because values are stacked in the graph 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); var displays_enc = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays.filter(function(elem) { return elem["label"].includes("Encoder"); }); var displays_dec = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays.filter(function(elem) { return elem["label"].includes("Decoder"); }); var max_enc = Math.ceil(get_max_y_val_for_plotting(displays_enc, 50)); var max_dec = Math.ceil(get_max_y_val_for_plotting(displays_dec, 50)); // need to clone object and replace the displays var graph_enc = JSON.parse(JSON.stringify(Graphs_WMOPS_perOP.wmops_worstcase_per_op)); graph_enc.displays = displays_enc; var graph_dec = JSON.parse(JSON.stringify(Graphs_WMOPS_perOP.wmops_worstcase_per_op)); graph_dec.displays = displays_dec; drawGraph($("#wmops_per_op-graph-enc"), graph_enc, max_enc); drawGraph($("#wmops_per_op-graph-dec"), graph_dec, max_dec); }); var nEntriesWmopsGraph = Graphs_WMOPS.wmops_worstcase.runs.length - 1; Loading @@ -743,7 +717,7 @@ function WMOPS_perOP() { Graphs_WMOPS.wmops_worstcase.runs[nEntriesWmopsGraph].fullDate + "</p>"; document.getElementById("wmops_per_op-legend").innerHTML = legend; document.getElementById("wmops_per_op-legend-enc").innerHTML = legend; } Loading ci/complexity_measurements/style.css +9 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,9 @@ h1 { font-weight:700; text-align: center; } h2 { text-align: center; } em { font-style: normal; font-weight: bold; Loading Loading @@ -51,7 +54,12 @@ hr { width:1600px; float:left; } #wmops_per_op-graph { #wmops_per_op-graph-enc { height:500px; width:2400px; float:left; } #wmops_per_op-graph-dec { height:500px; width:2400px; float:left; Loading lib_com/disclaimer.c +0 −4 Original line number Diff line number Diff line Loading @@ -47,11 +47,7 @@ int16_t print_disclaimer( FILE *fPtr ) { fprintf( fPtr, "\n==================================================================================================\n" ); #ifdef FIX_1225_DISCLAIMER fprintf( fPtr, " \n IVAS Codec Version IVAS-FL-2.0\n" ); #else fprintf( fPtr, " IVAS Codec Baseline\n" ); #endif fprintf( fPtr, " \n" ); fprintf( fPtr, " Based on EVS Codec (Floating Point) 3GPP TS26.443 Nov 04, 2021,\n" ); fprintf( fPtr, " Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0\n" ); Loading Loading
apps/decoder.c +34 −7 Original line number Diff line number Diff line Loading @@ -202,7 +202,11 @@ static int16_t app_own_random( int16_t *seed ); static IVAS_DEC_FORCED_REND_MODE parseForcedRendModeDec( char *forcedRendModeChar ); #endif #ifdef FIX_1217_OBJECT_EDIT_FILE_INTERFACE #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM static void do_object_editing( IVAS_EDITABLE_PARAMETERS *editableParameters, const int16_t num_subframes, ObjectEditFileReader *objectEditFileReader ); #else static void do_object_editing( IVAS_EDITABLE_PARAMETERS *editableParameters, ObjectEditFileReader *objectEditFileReader ); #endif #else static void do_object_editing( IVAS_EDITABLE_PARAMETERS *editableParameters ); #endif Loading Loading @@ -2471,7 +2475,11 @@ static ivas_error decodeG192( /* Do object metadata editing here ... */ #ifdef FIX_1217_OBJECT_EDIT_FILE_INTERFACE #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM do_object_editing( &editableParameters, num_subframes, objectEditFileReader ); #else do_object_editing( &editableParameters, objectEditFileReader ); #endif #else do_object_editing( &editableParameters ); #endif Loading Loading @@ -3048,7 +3056,7 @@ static ivas_error decodeVoIP( bool bitstreamReadDone = false; bool parameterAvailableForEditing = false; bool parametersAvailableForEditing = false; uint16_t nSamplesRendered = 0; vec_pos_update = 0; Loading Loading @@ -3282,11 +3290,18 @@ static ivas_error decodeVoIP( #ifdef FIX_1217_OBJECT_EDIT_FILE_INTERFACE if ( arg.objEditEnabled && ( arg.objEditFileName != NULL ) ) { #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM if ( frame * num_subframes % IVAS_MAX_PARAM_SPATIAL_SUBFRAMES == 0 ) { #endif if ( ( error = ObjectEditFileReader_readNextFrame( objectEditFileReader ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: could not read object editing instructions from file: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); return error; } #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM } #endif } #endif Loading Loading @@ -3344,7 +3359,7 @@ static ivas_error decodeVoIP( while ( nSamplesRendered < nOutSamples ) { #ifdef SUPPORT_JBM_TRACEFILE if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &bitstreamReadDone, &nSamplesRendered, ¶meterAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &bitstreamReadDone, &nSamplesRendered, ¶metersAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, &bitstreamReadDone, &nSamplesRendered, ¶meterAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #endif Loading Loading @@ -3378,7 +3393,7 @@ static ivas_error decodeVoIP( } /* Object metadata editing */ if ( arg.objEditEnabled && parameterAvailableForEditing == true ) if ( arg.objEditEnabled && parametersAvailableForEditing == true ) { IVAS_EDITABLE_PARAMETERS editableParameters; Loading @@ -3391,7 +3406,11 @@ static ivas_error decodeVoIP( /* Do object metadata editing here ... */ #ifdef FIX_1217_OBJECT_EDIT_FILE_INTERFACE #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM do_object_editing( &editableParameters, num_subframes, objectEditFileReader ); #else do_object_editing( &editableParameters, objectEditFileReader ); #endif #else do_object_editing( &editableParameters ); #endif Loading Loading @@ -3696,6 +3715,9 @@ cleanup: static void do_object_editing( #ifdef FIX_1217_OBJECT_EDIT_FILE_INTERFACE IVAS_EDITABLE_PARAMETERS *editableParameters, #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM const int16_t num_subframes, #endif ObjectEditFileReader *objectEditFileReader ) #else IVAS_EDITABLE_PARAMETERS *editableParameters ) Loading Loading @@ -3794,7 +3816,12 @@ static void do_object_editing( /* breakover object gains */ for ( obj_idx = 0; obj_idx < editableParameters->num_obj; obj_idx++ ) { #ifdef NONBE_FIX_1255_OBJ_EDIT_JBM editableParameters->ism_metadata[obj_idx].gain = 0.5f + (float) ( ( ( frame * num_subframes / IVAS_MAX_PARAM_SPATIAL_SUBFRAMES ) + obj_idx * 50 ) % 250 ) / 250.0f; #else editableParameters->ism_metadata[obj_idx].gain = 0.5f + (float) ( ( frame + obj_idx * 50 ) % 250 ) / 250.0f; #endif } editableParameters->gain_bed = 0.5f; Loading
apps/renderer.c +0 −4 Original line number Diff line number Diff line Loading @@ -737,10 +737,8 @@ int main( lfeRoutingConfigs[i] = NULL; } #ifdef FIX_1225_DISCLAIMER IVAS_REND_PrintDisclaimer(); #endif CmdlnArgs args = parseCmdlnArgs( argc, argv ); if ( args.nonDiegeticPan && !( ( args.inConfig.numAudioObjects == 0 && args.inConfig.multiChannelBuses[0].audioConfig == IVAS_AUDIO_CONFIG_MONO ) || Loading Loading @@ -898,7 +896,6 @@ int main( exit( -1 ); } #ifdef FIX_1225_DISCLAIMER fprintf( stdout, "Input audio file: %s\n", args.inputFilePath ); fprintf( stdout, "Output audio file: %s\n\n", args.outputFilePath ); Loading Loading @@ -940,7 +937,6 @@ int main( goto cleanup; } #endif if ( !isEmptyString( args.customHrtfFilePath ) ) { if ( hrtfFileReader_open( args.customHrtfFilePath, &hrtfFileReader ) != IVAS_ERR_OK ) Loading
ci/complexity_measurements/index_complexity.html +73 −99 Original line number Diff line number Diff line Loading @@ -127,15 +127,22 @@ <hr /> <h1 id="sec:graph-wmops_per_op">IVAS FORMAT - Worst Case WMOPS Performance per Operating Point</h1> <h1 id="sec:graph-wmops_per_op">IVAS FORMAT - Worst Case WMOPS Performance per Operating Point</h1> <h2 id="sec:graphs_wmops_per_op_encoder">Encoder</h2> <div class="graph-container"> <div id="wmops_per_op-graph-enc"></div> </div> <h2 id="sec:graphs_wmops_per_op_decoder">Decoder</h2> <div class="graph-container"> <div id="wmops_per_op-graph"></div> <div id="wmops_per_op-graph-dec"></div> </div> <div class="graph-container" style="clear: both; padding-top: 1em"> <div id="wmops_per_op-legend"></div> <div id="wmops_per_op-legend-enc"></div> </div> <hr /> Loading Loading @@ -652,65 +659,29 @@ function WMOPS_perOP() { 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 = 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; text += "<b><u>Mode: " + Graphs_WMOPS_perOP.wmops_worstcase_per_op.runs[x].operatingPoint + "</u></b><br>"; 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>"; text += "<b><u>Mode: " + graph.runs[x].operatingPoint + "</u></b><br>"; if (graph.displays.length == 1) { var score = Math.max(parseFloat(graph.displays[0].data[x][1]), 0); text += "Worst case: " + score + " WMOPS<br>"; } 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 (graph.displays.length == 2) { if ( x % 2 != 0 ) { // these indices are for the flt ref bars // we need to subtract 1 to get the correct id x = x - 1; } 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); x = Math.floor(x / 2); var score_basop = Math.max(parseFloat(graph.displays[0].data[x][1]), 0); var score_flt_ref = Math.max(parseFloat(graph.displays[1].data[x][1]), 0); text += "Worst case BASOP: " + score_basop + " WMOPS<br>"; text += "Worst case FLT REF: " + score_flt_ref + " WMOPS<br>"; } var nEntriesWmopsGraph = graph.runs.length - 1; text += "<a href=\"logs/" + graph.runs[nEntriesWmopsGraph].logFile + "\">Logfile</a><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>"; 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>"; } showToolTip(item.pageX, item.pageY, text); }); Loading @@ -719,21 +690,24 @@ function WMOPS_perOP() { $(document).ready(function () { // need to get worst case of enc + dec combined, because values are stacked in the graph 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); var displays_enc = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays.filter(function(elem) { return elem["label"].includes("Encoder"); }); var displays_dec = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays.filter(function(elem) { return elem["label"].includes("Decoder"); }); var max_enc = Math.ceil(get_max_y_val_for_plotting(displays_enc, 50)); var max_dec = Math.ceil(get_max_y_val_for_plotting(displays_dec, 50)); // need to clone object and replace the displays var graph_enc = JSON.parse(JSON.stringify(Graphs_WMOPS_perOP.wmops_worstcase_per_op)); graph_enc.displays = displays_enc; var graph_dec = JSON.parse(JSON.stringify(Graphs_WMOPS_perOP.wmops_worstcase_per_op)); graph_dec.displays = displays_dec; drawGraph($("#wmops_per_op-graph-enc"), graph_enc, max_enc); drawGraph($("#wmops_per_op-graph-dec"), graph_dec, max_dec); }); var nEntriesWmopsGraph = Graphs_WMOPS.wmops_worstcase.runs.length - 1; Loading @@ -743,7 +717,7 @@ function WMOPS_perOP() { Graphs_WMOPS.wmops_worstcase.runs[nEntriesWmopsGraph].fullDate + "</p>"; document.getElementById("wmops_per_op-legend").innerHTML = legend; document.getElementById("wmops_per_op-legend-enc").innerHTML = legend; } Loading
ci/complexity_measurements/style.css +9 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,9 @@ h1 { font-weight:700; text-align: center; } h2 { text-align: center; } em { font-style: normal; font-weight: bold; Loading Loading @@ -51,7 +54,12 @@ hr { width:1600px; float:left; } #wmops_per_op-graph { #wmops_per_op-graph-enc { height:500px; width:2400px; float:left; } #wmops_per_op-graph-dec { height:500px; width:2400px; float:left; Loading
lib_com/disclaimer.c +0 −4 Original line number Diff line number Diff line Loading @@ -47,11 +47,7 @@ int16_t print_disclaimer( FILE *fPtr ) { fprintf( fPtr, "\n==================================================================================================\n" ); #ifdef FIX_1225_DISCLAIMER fprintf( fPtr, " \n IVAS Codec Version IVAS-FL-2.0\n" ); #else fprintf( fPtr, " IVAS Codec Baseline\n" ); #endif fprintf( fPtr, " \n" ); fprintf( fPtr, " Based on EVS Codec (Floating Point) 3GPP TS26.443 Nov 04, 2021,\n" ); fprintf( fPtr, " Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0\n" ); Loading