Loading .gitlab-ci.yml +2 −2 Original line number Diff line number Diff line Loading @@ -1206,7 +1206,7 @@ check-bitexactness-ext-and-transport-format: # check bitexactness to EVS windows binaries be-2-evs-windows: extends: - .rules-main-push - .rules-merge-request tags: - ivas-windows stage: test Loading Loading @@ -2223,7 +2223,7 @@ coverage-test-on-main-scheduled: - .test-job-linux-needs-testv-dir - .rules-main-scheduled tags: - ivas-linux - ivas-linux-fast stage: test rules: # only run in scheduled pipeline that passes this env vars Loading apps/decoder.c +149 −7 Original line number Diff line number Diff line Loading @@ -54,6 +54,11 @@ #include "debug.h" #endif #include "wmc_auto.h" #ifdef OBJ_EDITING_API #ifdef OBJ_EDITING_EXAMPLE #include <math.h> #endif #endif #define WMC_TOOL_SKIP Loading Loading @@ -150,6 +155,9 @@ typedef struct AcousticEnvironmentSequence aeSequence; bool dpidEnabled; uint16_t directivityPatternId[IVAS_MAX_NUM_OBJECTS]; #ifdef OBJ_EDITING_EXAMPLE bool objEditEnabled; #endif } DecArguments; Loading Loading @@ -400,6 +408,7 @@ int main( } } #ifndef FIX_1158_FASTCONV_REVERB_HRTF /*------------------------------------------------------------------------------------------* * Open renderer configuration reader file *------------------------------------------------------------------------------------------*/ Loading @@ -419,6 +428,7 @@ int main( goto cleanup; } } #endif /*------------------------------------------------------------------------------------------* * Configure the decoder Loading Loading @@ -606,6 +616,14 @@ int main( goto cleanup; } #ifdef FIX_1158_FASTCONV_REVERB_HRTF if ( ( error = RenderConfigReader_open( arg.renderConfigFilename, &renderConfigReader ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: Can't open Renderer configuration file %s \n\n", arg.renderConfigFilename ); goto cleanup; } #endif if ( RenderConfigReader_read( renderConfigReader, arg.renderConfigFilename, &renderConfig ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to read renderer configuration from file %s\n\n", arg.renderConfigFilename ); Loading Loading @@ -1091,6 +1109,12 @@ static bool parseCmdlIVAS_dec( arg->directivityPatternId[i] = 65535; } #ifdef OBJ_EDITING_EXAMPLE arg->objEditEnabled = false; #endif # /*-----------------------------------------------------------------* * Initialization *-----------------------------------------------------------------*/ Loading Loading @@ -1544,6 +1568,14 @@ static bool parseCmdlIVAS_dec( i += tmp; } #ifdef OBJ_EDITING_EXAMPLE else if ( strcmp( argv_to_upper, "-OBJ_EDIT" ) == 0 ) { arg->objEditEnabled = true; i++; } #endif /*-----------------------------------------------------------------* * Option not recognized *-----------------------------------------------------------------*/ Loading Loading @@ -1748,6 +1780,9 @@ static void usage_dec( void ) fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" ); fprintf( stdout, "-q : Quiet mode, no frame counter\n" ); fprintf( stdout, " default is deactivated\n" ); #ifdef OMASA_OBJECT_EDITING fprintf( stdout, "-obj_edit : enable object editing\n" ); #endif #ifdef DEBUG_MODE_INFO #ifdef DEBUG_MODE_INFO_TWEAK fprintf( stdout, "-info <folder> : specify subfolder name for debug output\n" ); Loading Loading @@ -2115,6 +2150,10 @@ static ivas_error decodeG192( return error; } #ifdef OBJ_EDITING_API IVAS_EDITABLE_PARAMETERS editableParameters; #endif IVAS_RENDER_CONFIG_DATA renderConfig; RenderConfigReader *renderConfigReader = NULL; Loading Loading @@ -2416,11 +2455,84 @@ static ivas_error decodeG192( } #endif /* Feed into decoder */ if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, num_bits, bfi ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, num_bits, bfi #ifdef OBJ_EDITING_API , isSplitRend, splitRendBits #endif ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: could not feed frame to decoder: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #ifdef OBJ_EDITING_API #ifdef OBJ_EDITING_EXAMPLE if ( arg.objEditEnabled ) { /* Do object info editing here */ /* get object parameters */ if ( ( error = IVAS_DEC_GetEditableParameters( hIvasDec, &editableParameters ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: could not get the editable parameters: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } /* edit object parameters...*/ /* put the objects equally spaced at the horizontal plane */ /* and play a little bit with the gains... */ int16_t obj_idx, non_diegetic_obj_idx; int16_t num_nondiegetic_objects; num_nondiegetic_objects = 0; for ( obj_idx = 0; obj_idx < editableParameters.num_obj; obj_idx++ ) { if ( !editableParameters.ism_metadata[obj_idx].non_diegetic_flag ) { num_nondiegetic_objects++; } } if ( num_nondiegetic_objects ) { float start_angle, angle_inc; angle_inc = 360.0f / (float) num_nondiegetic_objects; start_angle = angle_inc / 2.0f; for ( obj_idx = 0, non_diegetic_obj_idx = 0; obj_idx < editableParameters.num_obj; obj_idx++ ) { if ( !editableParameters.ism_metadata[obj_idx].non_diegetic_flag ) { editableParameters.ism_metadata[obj_idx].elevation = 0.0f; editableParameters.ism_metadata[obj_idx].azimuth = start_angle + (float) non_diegetic_obj_idx * angle_inc; non_diegetic_obj_idx++; } } } /* breakover object gains */ for ( obj_idx = 0; obj_idx < editableParameters.num_obj; obj_idx++ ) { editableParameters.ism_metadata[obj_idx].gain = 0.5f + (float) ( ( frame + obj_idx * 50 ) % 250 ) / 250.0f; } editableParameters.gain_bed = 0.5f; /* set new object parameters*/ if ( ( error = IVAS_DEC_SetEditableParameters( hIvasDec, editableParameters ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: could not set the editable parameters: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } } #endif /* Do the final preparations needed for rendering */ if ( ( error = IVAS_DEC_PrepareRenderer( hIvasDec ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: could not prepare the renderer: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #endif } if ( isSplitRend ) Loading Loading @@ -2970,6 +3082,11 @@ static ivas_error decodeVoIP( int16_t vec_pos_update, vec_pos_len; int16_t nOutSamples = 0; #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 @@ -3086,6 +3203,9 @@ static ivas_error decodeVoIP( while ( 1 ) { #ifdef OBJ_EDITING_API nSamplesRendered = 0; #endif /* reference vector */ if ( arg.enableReferenceVectorTracking && vec_pos_update == 0 ) Loading Loading @@ -3248,15 +3368,37 @@ static ivas_error decodeVoIP( /* decode and get samples */ #ifdef OBJ_EDITING_API while ( nSamplesRendered < nOutSamples ) { #endif #ifdef SUPPORT_JBM_TRACEFILE if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, systemTime_ms, writeJbmTraceFileFrameWrapper, jbmTraceWriter ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, systemTime_ms, writeJbmTraceFileFrameWrapper, jbmTraceWriter #ifdef OBJ_EDITING_API , &nSamplesRendered, ¶meterAvailableForEditing #endif ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, systemTime_ms ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, systemTime_ms, &nSamplesRendered, ¶meterAvailableForEditing #ifdef OBJ_EDITING_API & nSamplesRendered, ¶meterAvailableForEditing #endif ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nError in IVAS_DEC_VoIP_GetSamples: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #ifdef OBJ_EDITING_API if ( parameterAvailableForEditing == true ) { /* do the object editing here */ } } /* while ( nSamplesRendered < nOutSamples ) */ #endif /* write JBM Offset file entry */ if ( jbmOffsetWriter != NULL ) Loading ci/basop-pages/basop_index.html +5 −0 Original line number Diff line number Diff line Loading @@ -15,4 +15,9 @@ <li><a href="ivas-pytest-compare_ref-long-enc-lev+10-index.html">ivas-pytest-compare_ref-long-enc-lev+10</a></li> <li><a href="ivas-pytest-compare_ref-long-enc-lev-10-index.html">ivas-pytest-compare_ref-long-enc-lev-10</a></li> </ul> <h3>Complexity Reports</h3> {} </body> ci/setup_pages.py +20 −18 Original line number Diff line number Diff line Loading @@ -42,14 +42,15 @@ JOBS_FLOAT_REPO = { # "timeless" jobs (not complexity) "coverage-test-on-main-scheduled": "Coverage", } JOBS_BASOP_REPO = [ "ivas-pytest-compare_ref-long-dec", "ivas-pytest-compare_ref-long-dec-lev+10", "ivas-pytest-compare_ref-long-dec-lev-10", "ivas-pytest-compare_ref-long-enc", "ivas-pytest-compare_ref-long-enc-lev+10", "ivas-pytest-compare_ref-long-enc-lev-10", ] JOBS_BASOP_REPO = { "ivas-pytest-compare_ref-long-dec": "Pytest decoder compare to ref LTV", "ivas-pytest-compare_ref-long-dec-lev+10": "Pytest decoder compare to ref LTV +10dB", "ivas-pytest-compare_ref-long-dec-lev-10": "Pytest decoder compare to ref LTV -10dB", "ivas-pytest-compare_ref-long-enc": "Pytest encoder compare to ref LTV", "ivas-pytest-compare_ref-long-enc-lev+10": "Pytest encoder compare to ref LTV +10dB", "ivas-pytest-compare_ref-long-enc-lev-10": "Pytest encoder compare to ref LTV -10dB", "complexity-stereo-in-stereo-out": "Stereo in, Stereo out", } JOBS_FOR_PROJECT_ID = { PROJECT_ID_FLOAT_REPO: JOBS_FLOAT_REPO, Loading @@ -76,16 +77,12 @@ def main(): sys.exit(1) index_html = PUBLIC_FOLDER.joinpath("index.html") if project_id == PROJECT_ID_FLOAT_REPO: create_landing_page_float_repo(jobs, index_html) elif project_id == PROJECT_ID_BASOP_REPO: src = pathlib.Path("ci/basop-pages/basop_index.html").absolute() shutil.move(src, index_html) create_landing_page(jobs, index_html, project_id) sys.exit(0) def create_landing_page_float_repo(jobs, index_html): def create_landing_page(jobs, index_html, project_id): # dynamically create the complexity links on the landing page link_html = list() link_html = ["<ul>"] Loading @@ -97,8 +94,13 @@ def create_landing_page_float_repo(jobs, index_html): link_html.append("</ul>") link_html_text = "\n".join(link_html) if project_id == PROJECT_ID_FLOAT_REPO: index_template = "index-pages.html" elif project_id == PROJECT_ID_BASOP_REPO: index_template = "basop-pages/basop_index.html" index_pages_tmpl_path = ( pathlib.Path(__file__).parent.joinpath("index-pages.html").absolute() pathlib.Path(__file__).parent.joinpath(index_template).absolute() ) with open(index_pages_tmpl_path) as f: Loading Loading @@ -130,7 +132,7 @@ def get_artifacts_for_jobs_and_return_num_failed( print(f"{job_id} - {job}") try: with TemporaryDirectory() as tmp_dir: curl_for_artifacts(job_id, tmp_dir) curl_for_artifacts(job_id, project_id, tmp_dir) tmp_dir = pathlib.Path(tmp_dir) Loading @@ -147,12 +149,12 @@ def get_artifacts_for_jobs_and_return_num_failed( return failed_count def curl_for_artifacts(job_id: int, exdir: str): def curl_for_artifacts(job_id: int, project_id: int, exdir: str): cmd = [ "curl", "--request", "GET", API_URL_BASE.format(os.environ["CI_PROJECT_ID"]) + f"/{job_id}/artifacts", API_URL_BASE.format(project_id) + f"/{job_id}/artifacts", "--output", ARTIFACTS, ] Loading lib_com/common_api_types.h +12 −0 Original line number Diff line number Diff line Loading @@ -128,9 +128,21 @@ typedef struct _IVAS_ISM_METADATA float yaw; float pitch; int16_t non_diegetic_flag; #ifdef OBJ_EDITING_API float gain; #endif } IVAS_ISM_METADATA; #ifdef OBJ_EDITING_API typedef struct _IVAS_EDITABLE_PARAMETERS { int16_t num_obj; IVAS_ISM_METADATA ism_metadata[IVAS_MAX_NUM_OBJECTS]; float gain_bed; } IVAS_EDITABLE_PARAMETERS; #endif typedef struct { float w, x, y, z; Loading Loading
.gitlab-ci.yml +2 −2 Original line number Diff line number Diff line Loading @@ -1206,7 +1206,7 @@ check-bitexactness-ext-and-transport-format: # check bitexactness to EVS windows binaries be-2-evs-windows: extends: - .rules-main-push - .rules-merge-request tags: - ivas-windows stage: test Loading Loading @@ -2223,7 +2223,7 @@ coverage-test-on-main-scheduled: - .test-job-linux-needs-testv-dir - .rules-main-scheduled tags: - ivas-linux - ivas-linux-fast stage: test rules: # only run in scheduled pipeline that passes this env vars Loading
apps/decoder.c +149 −7 Original line number Diff line number Diff line Loading @@ -54,6 +54,11 @@ #include "debug.h" #endif #include "wmc_auto.h" #ifdef OBJ_EDITING_API #ifdef OBJ_EDITING_EXAMPLE #include <math.h> #endif #endif #define WMC_TOOL_SKIP Loading Loading @@ -150,6 +155,9 @@ typedef struct AcousticEnvironmentSequence aeSequence; bool dpidEnabled; uint16_t directivityPatternId[IVAS_MAX_NUM_OBJECTS]; #ifdef OBJ_EDITING_EXAMPLE bool objEditEnabled; #endif } DecArguments; Loading Loading @@ -400,6 +408,7 @@ int main( } } #ifndef FIX_1158_FASTCONV_REVERB_HRTF /*------------------------------------------------------------------------------------------* * Open renderer configuration reader file *------------------------------------------------------------------------------------------*/ Loading @@ -419,6 +428,7 @@ int main( goto cleanup; } } #endif /*------------------------------------------------------------------------------------------* * Configure the decoder Loading Loading @@ -606,6 +616,14 @@ int main( goto cleanup; } #ifdef FIX_1158_FASTCONV_REVERB_HRTF if ( ( error = RenderConfigReader_open( arg.renderConfigFilename, &renderConfigReader ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: Can't open Renderer configuration file %s \n\n", arg.renderConfigFilename ); goto cleanup; } #endif if ( RenderConfigReader_read( renderConfigReader, arg.renderConfigFilename, &renderConfig ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to read renderer configuration from file %s\n\n", arg.renderConfigFilename ); Loading Loading @@ -1091,6 +1109,12 @@ static bool parseCmdlIVAS_dec( arg->directivityPatternId[i] = 65535; } #ifdef OBJ_EDITING_EXAMPLE arg->objEditEnabled = false; #endif # /*-----------------------------------------------------------------* * Initialization *-----------------------------------------------------------------*/ Loading Loading @@ -1544,6 +1568,14 @@ static bool parseCmdlIVAS_dec( i += tmp; } #ifdef OBJ_EDITING_EXAMPLE else if ( strcmp( argv_to_upper, "-OBJ_EDIT" ) == 0 ) { arg->objEditEnabled = true; i++; } #endif /*-----------------------------------------------------------------* * Option not recognized *-----------------------------------------------------------------*/ Loading Loading @@ -1748,6 +1780,9 @@ static void usage_dec( void ) fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" ); fprintf( stdout, "-q : Quiet mode, no frame counter\n" ); fprintf( stdout, " default is deactivated\n" ); #ifdef OMASA_OBJECT_EDITING fprintf( stdout, "-obj_edit : enable object editing\n" ); #endif #ifdef DEBUG_MODE_INFO #ifdef DEBUG_MODE_INFO_TWEAK fprintf( stdout, "-info <folder> : specify subfolder name for debug output\n" ); Loading Loading @@ -2115,6 +2150,10 @@ static ivas_error decodeG192( return error; } #ifdef OBJ_EDITING_API IVAS_EDITABLE_PARAMETERS editableParameters; #endif IVAS_RENDER_CONFIG_DATA renderConfig; RenderConfigReader *renderConfigReader = NULL; Loading Loading @@ -2416,11 +2455,84 @@ static ivas_error decodeG192( } #endif /* Feed into decoder */ if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, num_bits, bfi ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, num_bits, bfi #ifdef OBJ_EDITING_API , isSplitRend, splitRendBits #endif ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: could not feed frame to decoder: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #ifdef OBJ_EDITING_API #ifdef OBJ_EDITING_EXAMPLE if ( arg.objEditEnabled ) { /* Do object info editing here */ /* get object parameters */ if ( ( error = IVAS_DEC_GetEditableParameters( hIvasDec, &editableParameters ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: could not get the editable parameters: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } /* edit object parameters...*/ /* put the objects equally spaced at the horizontal plane */ /* and play a little bit with the gains... */ int16_t obj_idx, non_diegetic_obj_idx; int16_t num_nondiegetic_objects; num_nondiegetic_objects = 0; for ( obj_idx = 0; obj_idx < editableParameters.num_obj; obj_idx++ ) { if ( !editableParameters.ism_metadata[obj_idx].non_diegetic_flag ) { num_nondiegetic_objects++; } } if ( num_nondiegetic_objects ) { float start_angle, angle_inc; angle_inc = 360.0f / (float) num_nondiegetic_objects; start_angle = angle_inc / 2.0f; for ( obj_idx = 0, non_diegetic_obj_idx = 0; obj_idx < editableParameters.num_obj; obj_idx++ ) { if ( !editableParameters.ism_metadata[obj_idx].non_diegetic_flag ) { editableParameters.ism_metadata[obj_idx].elevation = 0.0f; editableParameters.ism_metadata[obj_idx].azimuth = start_angle + (float) non_diegetic_obj_idx * angle_inc; non_diegetic_obj_idx++; } } } /* breakover object gains */ for ( obj_idx = 0; obj_idx < editableParameters.num_obj; obj_idx++ ) { editableParameters.ism_metadata[obj_idx].gain = 0.5f + (float) ( ( frame + obj_idx * 50 ) % 250 ) / 250.0f; } editableParameters.gain_bed = 0.5f; /* set new object parameters*/ if ( ( error = IVAS_DEC_SetEditableParameters( hIvasDec, editableParameters ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: could not set the editable parameters: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } } #endif /* Do the final preparations needed for rendering */ if ( ( error = IVAS_DEC_PrepareRenderer( hIvasDec ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError: could not prepare the renderer: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #endif } if ( isSplitRend ) Loading Loading @@ -2970,6 +3082,11 @@ static ivas_error decodeVoIP( int16_t vec_pos_update, vec_pos_len; int16_t nOutSamples = 0; #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 @@ -3086,6 +3203,9 @@ static ivas_error decodeVoIP( while ( 1 ) { #ifdef OBJ_EDITING_API nSamplesRendered = 0; #endif /* reference vector */ if ( arg.enableReferenceVectorTracking && vec_pos_update == 0 ) Loading Loading @@ -3248,15 +3368,37 @@ static ivas_error decodeVoIP( /* decode and get samples */ #ifdef OBJ_EDITING_API while ( nSamplesRendered < nOutSamples ) { #endif #ifdef SUPPORT_JBM_TRACEFILE if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, systemTime_ms, writeJbmTraceFileFrameWrapper, jbmTraceWriter ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, systemTime_ms, writeJbmTraceFileFrameWrapper, jbmTraceWriter #ifdef OBJ_EDITING_API , &nSamplesRendered, ¶meterAvailableForEditing #endif ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, systemTime_ms ) ) != IVAS_ERR_OK ) if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, IVAS_DEC_PCM_INT16, (void *) pcmBuf, systemTime_ms, &nSamplesRendered, ¶meterAvailableForEditing #ifdef OBJ_EDITING_API & nSamplesRendered, ¶meterAvailableForEditing #endif ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nError in IVAS_DEC_VoIP_GetSamples: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } #ifdef OBJ_EDITING_API if ( parameterAvailableForEditing == true ) { /* do the object editing here */ } } /* while ( nSamplesRendered < nOutSamples ) */ #endif /* write JBM Offset file entry */ if ( jbmOffsetWriter != NULL ) Loading
ci/basop-pages/basop_index.html +5 −0 Original line number Diff line number Diff line Loading @@ -15,4 +15,9 @@ <li><a href="ivas-pytest-compare_ref-long-enc-lev+10-index.html">ivas-pytest-compare_ref-long-enc-lev+10</a></li> <li><a href="ivas-pytest-compare_ref-long-enc-lev-10-index.html">ivas-pytest-compare_ref-long-enc-lev-10</a></li> </ul> <h3>Complexity Reports</h3> {} </body>
ci/setup_pages.py +20 −18 Original line number Diff line number Diff line Loading @@ -42,14 +42,15 @@ JOBS_FLOAT_REPO = { # "timeless" jobs (not complexity) "coverage-test-on-main-scheduled": "Coverage", } JOBS_BASOP_REPO = [ "ivas-pytest-compare_ref-long-dec", "ivas-pytest-compare_ref-long-dec-lev+10", "ivas-pytest-compare_ref-long-dec-lev-10", "ivas-pytest-compare_ref-long-enc", "ivas-pytest-compare_ref-long-enc-lev+10", "ivas-pytest-compare_ref-long-enc-lev-10", ] JOBS_BASOP_REPO = { "ivas-pytest-compare_ref-long-dec": "Pytest decoder compare to ref LTV", "ivas-pytest-compare_ref-long-dec-lev+10": "Pytest decoder compare to ref LTV +10dB", "ivas-pytest-compare_ref-long-dec-lev-10": "Pytest decoder compare to ref LTV -10dB", "ivas-pytest-compare_ref-long-enc": "Pytest encoder compare to ref LTV", "ivas-pytest-compare_ref-long-enc-lev+10": "Pytest encoder compare to ref LTV +10dB", "ivas-pytest-compare_ref-long-enc-lev-10": "Pytest encoder compare to ref LTV -10dB", "complexity-stereo-in-stereo-out": "Stereo in, Stereo out", } JOBS_FOR_PROJECT_ID = { PROJECT_ID_FLOAT_REPO: JOBS_FLOAT_REPO, Loading @@ -76,16 +77,12 @@ def main(): sys.exit(1) index_html = PUBLIC_FOLDER.joinpath("index.html") if project_id == PROJECT_ID_FLOAT_REPO: create_landing_page_float_repo(jobs, index_html) elif project_id == PROJECT_ID_BASOP_REPO: src = pathlib.Path("ci/basop-pages/basop_index.html").absolute() shutil.move(src, index_html) create_landing_page(jobs, index_html, project_id) sys.exit(0) def create_landing_page_float_repo(jobs, index_html): def create_landing_page(jobs, index_html, project_id): # dynamically create the complexity links on the landing page link_html = list() link_html = ["<ul>"] Loading @@ -97,8 +94,13 @@ def create_landing_page_float_repo(jobs, index_html): link_html.append("</ul>") link_html_text = "\n".join(link_html) if project_id == PROJECT_ID_FLOAT_REPO: index_template = "index-pages.html" elif project_id == PROJECT_ID_BASOP_REPO: index_template = "basop-pages/basop_index.html" index_pages_tmpl_path = ( pathlib.Path(__file__).parent.joinpath("index-pages.html").absolute() pathlib.Path(__file__).parent.joinpath(index_template).absolute() ) with open(index_pages_tmpl_path) as f: Loading Loading @@ -130,7 +132,7 @@ def get_artifacts_for_jobs_and_return_num_failed( print(f"{job_id} - {job}") try: with TemporaryDirectory() as tmp_dir: curl_for_artifacts(job_id, tmp_dir) curl_for_artifacts(job_id, project_id, tmp_dir) tmp_dir = pathlib.Path(tmp_dir) Loading @@ -147,12 +149,12 @@ def get_artifacts_for_jobs_and_return_num_failed( return failed_count def curl_for_artifacts(job_id: int, exdir: str): def curl_for_artifacts(job_id: int, project_id: int, exdir: str): cmd = [ "curl", "--request", "GET", API_URL_BASE.format(os.environ["CI_PROJECT_ID"]) + f"/{job_id}/artifacts", API_URL_BASE.format(project_id) + f"/{job_id}/artifacts", "--output", ARTIFACTS, ] Loading
lib_com/common_api_types.h +12 −0 Original line number Diff line number Diff line Loading @@ -128,9 +128,21 @@ typedef struct _IVAS_ISM_METADATA float yaw; float pitch; int16_t non_diegetic_flag; #ifdef OBJ_EDITING_API float gain; #endif } IVAS_ISM_METADATA; #ifdef OBJ_EDITING_API typedef struct _IVAS_EDITABLE_PARAMETERS { int16_t num_obj; IVAS_ISM_METADATA ism_metadata[IVAS_MAX_NUM_OBJECTS]; float gain_bed; } IVAS_EDITABLE_PARAMETERS; #endif typedef struct { float w, x, y, z; Loading