Loading apps/decoder.c +5 −2 Original line number Diff line number Diff line Loading @@ -1381,7 +1381,7 @@ static bool parseCmdlIVAS_dec( arg->acousticEnvironmentId = (int16_t) atoi( argv[i++] ); } #ifdef CONTROL_METADATA_DIRECTIVITY else if ( strcmp( argv_to_upper, "-ISMDIRECTIVITY" ) == 0 ) else if ( strcmp( argv_to_upper, "-DPID" ) == 0 ) { ++i; int16_t tmp; Loading Loading @@ -1579,7 +1579,10 @@ static void usage_dec( void ) fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" ); #endif fprintf( stdout, "-exof File : External orientation file for external orientation trajectory\n" ); fprintf( stdout, "-aeid ID : Acoustic environment ID (number >= 0) for BINAURAL_ROOM_REVERB output configuration\n" ); #ifdef CONTROL_METADATA_DIRECTIVITY #endif fprintf( stdout, "-dpid ID : Directivity pattern ID(s) (space-separated list of up to 4 numbers can be specified) for binaural output configuration\n" ); #ifdef DEBUG_MODE_INFO #ifdef DEBUG_MODE_INFO_TWEAK fprintf( stdout, "-info <folder> : specify subfolder name for debug output\n" ); Loading apps/renderer.c +30 −0 Original line number Diff line number Diff line Loading @@ -175,6 +175,9 @@ typedef struct float lfeConfigElevation; bool lfeCustomRoutingEnabled; char inLfePanningMatrixFile[RENDERER_MAX_CLI_ARG_LENGTH]; #ifdef CONTROL_METADATA_DIRECTIVITY uint16_t directivityPatternId[RENDERER_MAX_ISM_INPUTS]; #endif #ifdef CONTROL_METADATA_REVERB uint16_t acousticEnvironmentId; #endif Loading Loading @@ -206,6 +209,9 @@ typedef enum #endif CmdLnOptionId_referenceVectorFile, CmdLnOptionId_exteriorOrientationFile, #ifdef CONTROL_METADATA_DIRECTIVITY CmdLnOptionId_directivityPatternId, #endif #ifdef CONTROL_METADATA_REVERB CmdLnOptionId_acousticEnvironmentId #endif Loading Loading @@ -348,6 +354,14 @@ static const CmdLnParser_Option cliOptions[] = { .matchShort = "exof", .description = "External orientation trajectory file for simulation of external orientations", }, #ifdef CONTROL_METADATA_DIRECTIVITY { .id = CmdLnOptionId_directivityPatternId, .match = "ism_directivity_pattern_id", .matchShort = "dpid", .description = "Directivity pattern ID(s) (space-separated list of up to 4 numbers can be specified) for binaural output configuration", }, #endif #ifdef CONTROL_METADATA_REVERB { .id = CmdLnOptionId_acousticEnvironmentId, Loading Loading @@ -2521,6 +2535,13 @@ static CmdlnArgs defaultArgs( args.lfeCustomRoutingEnabled = false; clearString( args.inLfePanningMatrixFile ); #ifdef CONTROL_METADATA_DIRECTIVITY for ( int32_t i = 0; i < RENDERER_MAX_ISM_INPUTS; ++i ) { args.directivityPatternId[i] = 0; } #endif #ifdef CONTROL_METADATA_REVERB args.acousticEnvironmentId = 0; #endif Loading Loading @@ -2664,6 +2685,15 @@ static void parseOption( exit( -1 ); } break; #ifdef CONTROL_METADATA_DIRECTIVITY case CmdLnOptionId_directivityPatternId: assert( numOptionValues <= RENDERER_MAX_ISM_INPUTS ); for ( int16_t i = 0; i < numOptionValues; ++i ) { args->directivityPatternId[i] = (int16_t) strtol( optionValues[i], NULL, 10 ); } break; #endif #ifdef CONTROL_METADATA_REVERB case CmdLnOptionId_acousticEnvironmentId: assert( numOptionValues == 1 ); Loading lib_util/render_config_reader.c +7 −2 Original line number Diff line number Diff line Loading @@ -1841,11 +1841,12 @@ static ivas_error RenderConfigReader_readBinary( free( pRenderConfigReader->pDP ); } pRenderConfigReader->nDP = nDP; if ( ( pRenderConfigReader->pDP = (DirectrivityPat *) malloc( pRenderConfigReader->nDP * sizeof( DirectrivityPat ) ) ) == NULL ) { return IVAS_ERR_FAILED_ALLOC; } pRenderConfigReader->nDP = nDP; for ( n = 0; n < nDP; n++ ) { Loading Loading @@ -2817,7 +2818,11 @@ ivas_error RenderConfigReader_read( fprintf( stderr, " PARAM: %s -> %s\n", item, pValue ); #endif #ifdef CONTROL_METADATA_REVERB #ifdef CONTROL_METADATA_DIRECTIVITY if ( strcmp( item, "REVERBFILE" ) == 0 ) #else if ( strcmp( item, "BINARYCONFIG" ) == 0 ) #endif { /* get correct case reverb configuration file path */ sscanf( pTemp + params_idx, "%*[^=] = %[^;];", pValue ); Loading Loading @@ -2960,7 +2965,7 @@ ivas_error RenderConfigReader_getAcousticEnvironment( ivas_error RenderConfigReader_getDirectivity( RenderConfigReader *pRenderConfigReader, /* i : RenderConfigReader handle */ uint16_t *id, /* i : directivity pattern ID */ uint16_t *id, /* i : Directivity pattern ID */ float *directivity /* o : Target directivity */ ) { Loading scripts/reverb/text_to_binary_payload.py +1 −1 Original line number Diff line number Diff line Loading @@ -159,8 +159,8 @@ def parse_reverb_text_configuration_and_generate_binary_payload(file): # parse directivity hasDirectivity = len(sections['directivitySetting']) > 0 data += get_bool_code(hasDirectivity) data += bitarray(get_id_code(len(sections['directivityPattern']))) if hasDirectivity: data += bitarray(get_id_code(len(sections['directivityPattern']))) for index, dir_pattern in sections['directivityPattern'].items(): data += bitarray(get_id_code(eval_option(index))) dir_values = eval_option(dir_pattern['directivity']) Loading Loading
apps/decoder.c +5 −2 Original line number Diff line number Diff line Loading @@ -1381,7 +1381,7 @@ static bool parseCmdlIVAS_dec( arg->acousticEnvironmentId = (int16_t) atoi( argv[i++] ); } #ifdef CONTROL_METADATA_DIRECTIVITY else if ( strcmp( argv_to_upper, "-ISMDIRECTIVITY" ) == 0 ) else if ( strcmp( argv_to_upper, "-DPID" ) == 0 ) { ++i; int16_t tmp; Loading Loading @@ -1579,7 +1579,10 @@ static void usage_dec( void ) fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" ); #endif fprintf( stdout, "-exof File : External orientation file for external orientation trajectory\n" ); fprintf( stdout, "-aeid ID : Acoustic environment ID (number >= 0) for BINAURAL_ROOM_REVERB output configuration\n" ); #ifdef CONTROL_METADATA_DIRECTIVITY #endif fprintf( stdout, "-dpid ID : Directivity pattern ID(s) (space-separated list of up to 4 numbers can be specified) for binaural output configuration\n" ); #ifdef DEBUG_MODE_INFO #ifdef DEBUG_MODE_INFO_TWEAK fprintf( stdout, "-info <folder> : specify subfolder name for debug output\n" ); Loading
apps/renderer.c +30 −0 Original line number Diff line number Diff line Loading @@ -175,6 +175,9 @@ typedef struct float lfeConfigElevation; bool lfeCustomRoutingEnabled; char inLfePanningMatrixFile[RENDERER_MAX_CLI_ARG_LENGTH]; #ifdef CONTROL_METADATA_DIRECTIVITY uint16_t directivityPatternId[RENDERER_MAX_ISM_INPUTS]; #endif #ifdef CONTROL_METADATA_REVERB uint16_t acousticEnvironmentId; #endif Loading Loading @@ -206,6 +209,9 @@ typedef enum #endif CmdLnOptionId_referenceVectorFile, CmdLnOptionId_exteriorOrientationFile, #ifdef CONTROL_METADATA_DIRECTIVITY CmdLnOptionId_directivityPatternId, #endif #ifdef CONTROL_METADATA_REVERB CmdLnOptionId_acousticEnvironmentId #endif Loading Loading @@ -348,6 +354,14 @@ static const CmdLnParser_Option cliOptions[] = { .matchShort = "exof", .description = "External orientation trajectory file for simulation of external orientations", }, #ifdef CONTROL_METADATA_DIRECTIVITY { .id = CmdLnOptionId_directivityPatternId, .match = "ism_directivity_pattern_id", .matchShort = "dpid", .description = "Directivity pattern ID(s) (space-separated list of up to 4 numbers can be specified) for binaural output configuration", }, #endif #ifdef CONTROL_METADATA_REVERB { .id = CmdLnOptionId_acousticEnvironmentId, Loading Loading @@ -2521,6 +2535,13 @@ static CmdlnArgs defaultArgs( args.lfeCustomRoutingEnabled = false; clearString( args.inLfePanningMatrixFile ); #ifdef CONTROL_METADATA_DIRECTIVITY for ( int32_t i = 0; i < RENDERER_MAX_ISM_INPUTS; ++i ) { args.directivityPatternId[i] = 0; } #endif #ifdef CONTROL_METADATA_REVERB args.acousticEnvironmentId = 0; #endif Loading Loading @@ -2664,6 +2685,15 @@ static void parseOption( exit( -1 ); } break; #ifdef CONTROL_METADATA_DIRECTIVITY case CmdLnOptionId_directivityPatternId: assert( numOptionValues <= RENDERER_MAX_ISM_INPUTS ); for ( int16_t i = 0; i < numOptionValues; ++i ) { args->directivityPatternId[i] = (int16_t) strtol( optionValues[i], NULL, 10 ); } break; #endif #ifdef CONTROL_METADATA_REVERB case CmdLnOptionId_acousticEnvironmentId: assert( numOptionValues == 1 ); Loading
lib_util/render_config_reader.c +7 −2 Original line number Diff line number Diff line Loading @@ -1841,11 +1841,12 @@ static ivas_error RenderConfigReader_readBinary( free( pRenderConfigReader->pDP ); } pRenderConfigReader->nDP = nDP; if ( ( pRenderConfigReader->pDP = (DirectrivityPat *) malloc( pRenderConfigReader->nDP * sizeof( DirectrivityPat ) ) ) == NULL ) { return IVAS_ERR_FAILED_ALLOC; } pRenderConfigReader->nDP = nDP; for ( n = 0; n < nDP; n++ ) { Loading Loading @@ -2817,7 +2818,11 @@ ivas_error RenderConfigReader_read( fprintf( stderr, " PARAM: %s -> %s\n", item, pValue ); #endif #ifdef CONTROL_METADATA_REVERB #ifdef CONTROL_METADATA_DIRECTIVITY if ( strcmp( item, "REVERBFILE" ) == 0 ) #else if ( strcmp( item, "BINARYCONFIG" ) == 0 ) #endif { /* get correct case reverb configuration file path */ sscanf( pTemp + params_idx, "%*[^=] = %[^;];", pValue ); Loading Loading @@ -2960,7 +2965,7 @@ ivas_error RenderConfigReader_getAcousticEnvironment( ivas_error RenderConfigReader_getDirectivity( RenderConfigReader *pRenderConfigReader, /* i : RenderConfigReader handle */ uint16_t *id, /* i : directivity pattern ID */ uint16_t *id, /* i : Directivity pattern ID */ float *directivity /* o : Target directivity */ ) { Loading
scripts/reverb/text_to_binary_payload.py +1 −1 Original line number Diff line number Diff line Loading @@ -159,8 +159,8 @@ def parse_reverb_text_configuration_and_generate_binary_payload(file): # parse directivity hasDirectivity = len(sections['directivitySetting']) > 0 data += get_bool_code(hasDirectivity) data += bitarray(get_id_code(len(sections['directivityPattern']))) if hasDirectivity: data += bitarray(get_id_code(len(sections['directivityPattern']))) for index, dir_pattern in sections['directivityPattern'].items(): data += bitarray(get_id_code(eval_option(index))) dir_values = eval_option(dir_pattern['directivity']) Loading