Loading apps/decoder.c +17 −1 Original line number Diff line number Diff line Loading @@ -152,7 +152,9 @@ typedef struct #endif uint16_t acousticEnvironmentId; uint16_t directivityPatternId[IVAS_MAX_NUM_OBJECTS]; #ifdef API_5MS bool framing_5ms; #endif } DecArguments; Loading Loading @@ -950,6 +952,9 @@ static bool parseCmdlIVAS_dec( arg->delayCompensationEnabled = true; arg->voipMode = false; arg->complexityLevel = IVAS_DEC_COMPLEXITY_LEVEL_THREE; #ifdef API_5MS arg->framing_5ms = false; #endif arg->enableHeadRotation = false; arg->headrotTrajFileName = NULL; Loading Loading @@ -1196,6 +1201,14 @@ static bool parseCmdlIVAS_dec( arg->inputFormat = IVAS_DEC_INPUT_FORMAT_MIME; i++; } #ifdef API_5MS else if ( strcmp( argv_to_upper, "-FR5" ) == 0 ) { arg->framing_5ms = true; fprintf( stderr, "Warning: this is a placeholder for 5ms framing.\n" ); i++; } #endif else if ( strcmp( argv_to_upper, "-T" ) == 0 ) { arg->enableHeadRotation = true; Loading Loading @@ -1529,6 +1542,9 @@ static void usage_dec( void ) #ifdef DEBUG_JBM_CMD_OPTION fprintf( stdout, "-VOIP_framesize : VoIP mode: acoustic frontend fetch frame size (must be multiples of 5!)\n" ); #endif #endif #ifdef API_5MS fprintf( stdout, "-fr5 : option to perform rendering + head-tracking with 5ms frame size\n" ); #endif fprintf( stdout, "-fec_cfg_file : Optimal channel aware configuration computed by the JBM \n" ); fprintf( stdout, " as described in Section 6.3.1 of TS26.448. The output is \n" ); Loading apps/renderer.c +24 −2 Original line number Diff line number Diff line Loading @@ -185,6 +185,9 @@ typedef struct bool lfeCustomRoutingEnabled; char inLfePanningMatrixFile[RENDERER_MAX_CLI_ARG_LENGTH]; float syncMdDelay; #ifdef API_5MS bool framing_5ms; #endif uint16_t directivityPatternId[RENDERER_MAX_ISM_INPUTS]; uint16_t acousticEnvironmentId; } CmdlnArgs; Loading Loading @@ -215,6 +218,9 @@ typedef enum #endif CmdLnOptionId_referenceVectorFile, CmdLnOptionId_exteriorOrientationFile, #ifdef API_5MS CmdLnOptionId_framing5ms, #endif CmdLnOptionId_syncMdDelay, CmdLnOptionId_directivityPatternId, CmdLnOptionId_acousticEnvironmentId Loading Loading @@ -357,6 +363,14 @@ static const CmdLnParser_Option cliOptions[] = { .matchShort = "exof", .description = "External orientation trajectory file for simulation of external orientations", }, #ifdef API_5MS { .id = CmdLnOptionId_framing5ms, .match = "framing_5ms", .matchShort = "fr5", .description = "Render audio with 5 ms framing.", }, #endif { .id = CmdLnOptionId_syncMdDelay, .match = "sync_md_delay", Loading Loading @@ -2507,7 +2521,9 @@ static CmdlnArgs defaultArgs( args.lfeCustomRoutingEnabled = false; clearString( args.inLfePanningMatrixFile ); #ifdef API_5MS args.framing_5ms = false; #endif args.syncMdDelay = 0; for ( int32_t i = 0; i < RENDERER_MAX_ISM_INPUTS; ++i ) Loading Loading @@ -2655,7 +2671,13 @@ static void parseOption( exit( -1 ); } break; #ifdef API_5MS case CmdLnOptionId_framing5ms: assert( numOptionValues == 0 ); args->framing_5ms = true; fprintf( stderr, "Warning: this is a placeholder for 5ms framing.\n" ); break; #endif case CmdLnOptionId_directivityPatternId: assert( numOptionValues <= RENDERER_MAX_ISM_INPUTS ); for ( int16_t i = 0; i < numOptionValues; ++i ) Loading lib_com/options.h 100644 → 100755 +3 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ #define SBA_AND_OBJECTS #ifdef SBA_AND_OBJECTS #define OSBA_BR_SWITCHING #define FIX_691_OSBA_NULL_META /* FhG: Issue 691: Fix crashes for OSBA with NULL metadata */ #endif /*#define SPLIT_REND_WITH_HEAD_ROT*/ /* Dlb,FhG: Split Rendering contributions 21 and 35 */ Loading @@ -172,9 +173,11 @@ #define FIX_694_OMASA_EXTREME /* Nokia: fix for crash in OMASA on extreme sample */ #define FIX_679_JBM_MC2SBA /* FhG: fix issue 679: check for transport vs. internal channel count in JBM prior to ivas_mc2sba() */ #define FIX_591_PARAMISM_JBM_ENER_CORRECTION /* FhG: fix energy correction in ParamISM rendering */ #define FIX_551_HEADTRACKER_INIT /* FhG: move setting of orientation tracking type to earlier */ #define FIX_LARGE_RENDERER_DELAY_COMP /* Fix renderer delay compensation with delays greater than 1 frame */ #define API_5MS /*FhG, Dlb: add 5ms framing cmd line arg*/ /* ################## End BE DEVELOPMENT switches ######################### */ Loading lib_dec/ivas_init_dec.c +8 −0 Original line number Diff line number Diff line Loading @@ -975,6 +975,12 @@ ivas_error ivas_init_decoder_front( { return error; } #ifdef FIX_551_HEADTRACKER_INIT if ( ( error = ivas_orient_trk_SetTrackingType( st_ivas->hHeadTrackData->OrientationTracker, st_ivas->hDecoderConfig->orientation_tracking ) ) != IVAS_ERR_OK ) { return error; } #endif } /*-------------------------------------------------------------------* Loading Loading @@ -1180,6 +1186,7 @@ ivas_error ivas_init_decoder( } } #ifndef FIX_551_HEADTRACKER_INIT /*-----------------------------------------------------------------* * Set head/orientation tracking *-----------------------------------------------------------------*/ Loading @@ -1191,6 +1198,7 @@ ivas_error ivas_init_decoder( return error; } } #endif #ifdef SPLIT_REND_WITH_HEAD_ROT /*-----------------------------------------------------------------* Loading lib_dec/ivas_ism_metadata_dec.c +7 −0 Original line number Diff line number Diff line Loading @@ -321,7 +321,11 @@ ivas_error ivas_ism_metadata_dec( } /* read ISM_NO_META class signalling */ #ifdef FIX_691_OSBA_NULL_META if ( ism_mode == ISM_MODE_DISC || ism_mode == ISM_SBA_MODE_DISC ) #else if ( ism_mode == ISM_MODE_DISC ) #endif { for ( ch = 0; ch < *nchan_transport; ch++ ) { Loading Loading @@ -356,6 +360,9 @@ ivas_error ivas_ism_metadata_dec( } } else #endif #ifdef FIX_691_OSBA_NULL_META if ( ism_mode != ISM_SBA_MODE_DISC ) #endif { if ( null_metadata_flag[ch] ) Loading Loading
apps/decoder.c +17 −1 Original line number Diff line number Diff line Loading @@ -152,7 +152,9 @@ typedef struct #endif uint16_t acousticEnvironmentId; uint16_t directivityPatternId[IVAS_MAX_NUM_OBJECTS]; #ifdef API_5MS bool framing_5ms; #endif } DecArguments; Loading Loading @@ -950,6 +952,9 @@ static bool parseCmdlIVAS_dec( arg->delayCompensationEnabled = true; arg->voipMode = false; arg->complexityLevel = IVAS_DEC_COMPLEXITY_LEVEL_THREE; #ifdef API_5MS arg->framing_5ms = false; #endif arg->enableHeadRotation = false; arg->headrotTrajFileName = NULL; Loading Loading @@ -1196,6 +1201,14 @@ static bool parseCmdlIVAS_dec( arg->inputFormat = IVAS_DEC_INPUT_FORMAT_MIME; i++; } #ifdef API_5MS else if ( strcmp( argv_to_upper, "-FR5" ) == 0 ) { arg->framing_5ms = true; fprintf( stderr, "Warning: this is a placeholder for 5ms framing.\n" ); i++; } #endif else if ( strcmp( argv_to_upper, "-T" ) == 0 ) { arg->enableHeadRotation = true; Loading Loading @@ -1529,6 +1542,9 @@ static void usage_dec( void ) #ifdef DEBUG_JBM_CMD_OPTION fprintf( stdout, "-VOIP_framesize : VoIP mode: acoustic frontend fetch frame size (must be multiples of 5!)\n" ); #endif #endif #ifdef API_5MS fprintf( stdout, "-fr5 : option to perform rendering + head-tracking with 5ms frame size\n" ); #endif fprintf( stdout, "-fec_cfg_file : Optimal channel aware configuration computed by the JBM \n" ); fprintf( stdout, " as described in Section 6.3.1 of TS26.448. The output is \n" ); Loading
apps/renderer.c +24 −2 Original line number Diff line number Diff line Loading @@ -185,6 +185,9 @@ typedef struct bool lfeCustomRoutingEnabled; char inLfePanningMatrixFile[RENDERER_MAX_CLI_ARG_LENGTH]; float syncMdDelay; #ifdef API_5MS bool framing_5ms; #endif uint16_t directivityPatternId[RENDERER_MAX_ISM_INPUTS]; uint16_t acousticEnvironmentId; } CmdlnArgs; Loading Loading @@ -215,6 +218,9 @@ typedef enum #endif CmdLnOptionId_referenceVectorFile, CmdLnOptionId_exteriorOrientationFile, #ifdef API_5MS CmdLnOptionId_framing5ms, #endif CmdLnOptionId_syncMdDelay, CmdLnOptionId_directivityPatternId, CmdLnOptionId_acousticEnvironmentId Loading Loading @@ -357,6 +363,14 @@ static const CmdLnParser_Option cliOptions[] = { .matchShort = "exof", .description = "External orientation trajectory file for simulation of external orientations", }, #ifdef API_5MS { .id = CmdLnOptionId_framing5ms, .match = "framing_5ms", .matchShort = "fr5", .description = "Render audio with 5 ms framing.", }, #endif { .id = CmdLnOptionId_syncMdDelay, .match = "sync_md_delay", Loading Loading @@ -2507,7 +2521,9 @@ static CmdlnArgs defaultArgs( args.lfeCustomRoutingEnabled = false; clearString( args.inLfePanningMatrixFile ); #ifdef API_5MS args.framing_5ms = false; #endif args.syncMdDelay = 0; for ( int32_t i = 0; i < RENDERER_MAX_ISM_INPUTS; ++i ) Loading Loading @@ -2655,7 +2671,13 @@ static void parseOption( exit( -1 ); } break; #ifdef API_5MS case CmdLnOptionId_framing5ms: assert( numOptionValues == 0 ); args->framing_5ms = true; fprintf( stderr, "Warning: this is a placeholder for 5ms framing.\n" ); break; #endif case CmdLnOptionId_directivityPatternId: assert( numOptionValues <= RENDERER_MAX_ISM_INPUTS ); for ( int16_t i = 0; i < numOptionValues; ++i ) Loading
lib_com/options.h 100644 → 100755 +3 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ #define SBA_AND_OBJECTS #ifdef SBA_AND_OBJECTS #define OSBA_BR_SWITCHING #define FIX_691_OSBA_NULL_META /* FhG: Issue 691: Fix crashes for OSBA with NULL metadata */ #endif /*#define SPLIT_REND_WITH_HEAD_ROT*/ /* Dlb,FhG: Split Rendering contributions 21 and 35 */ Loading @@ -172,9 +173,11 @@ #define FIX_694_OMASA_EXTREME /* Nokia: fix for crash in OMASA on extreme sample */ #define FIX_679_JBM_MC2SBA /* FhG: fix issue 679: check for transport vs. internal channel count in JBM prior to ivas_mc2sba() */ #define FIX_591_PARAMISM_JBM_ENER_CORRECTION /* FhG: fix energy correction in ParamISM rendering */ #define FIX_551_HEADTRACKER_INIT /* FhG: move setting of orientation tracking type to earlier */ #define FIX_LARGE_RENDERER_DELAY_COMP /* Fix renderer delay compensation with delays greater than 1 frame */ #define API_5MS /*FhG, Dlb: add 5ms framing cmd line arg*/ /* ################## End BE DEVELOPMENT switches ######################### */ Loading
lib_dec/ivas_init_dec.c +8 −0 Original line number Diff line number Diff line Loading @@ -975,6 +975,12 @@ ivas_error ivas_init_decoder_front( { return error; } #ifdef FIX_551_HEADTRACKER_INIT if ( ( error = ivas_orient_trk_SetTrackingType( st_ivas->hHeadTrackData->OrientationTracker, st_ivas->hDecoderConfig->orientation_tracking ) ) != IVAS_ERR_OK ) { return error; } #endif } /*-------------------------------------------------------------------* Loading Loading @@ -1180,6 +1186,7 @@ ivas_error ivas_init_decoder( } } #ifndef FIX_551_HEADTRACKER_INIT /*-----------------------------------------------------------------* * Set head/orientation tracking *-----------------------------------------------------------------*/ Loading @@ -1191,6 +1198,7 @@ ivas_error ivas_init_decoder( return error; } } #endif #ifdef SPLIT_REND_WITH_HEAD_ROT /*-----------------------------------------------------------------* Loading
lib_dec/ivas_ism_metadata_dec.c +7 −0 Original line number Diff line number Diff line Loading @@ -321,7 +321,11 @@ ivas_error ivas_ism_metadata_dec( } /* read ISM_NO_META class signalling */ #ifdef FIX_691_OSBA_NULL_META if ( ism_mode == ISM_MODE_DISC || ism_mode == ISM_SBA_MODE_DISC ) #else if ( ism_mode == ISM_MODE_DISC ) #endif { for ( ch = 0; ch < *nchan_transport; ch++ ) { Loading Loading @@ -356,6 +360,9 @@ ivas_error ivas_ism_metadata_dec( } } else #endif #ifdef FIX_691_OSBA_NULL_META if ( ism_mode != ISM_SBA_MODE_DISC ) #endif { if ( null_metadata_flag[ch] ) Loading