Loading apps/decoder.c +4 −71 Original line number Diff line number Diff line Loading @@ -69,11 +69,7 @@ static #define MIN_NUM_BITS_ACTIVE_FRAME 56 #define NUM_BITS_SID_IVAS_5K2 104 #ifdef SBA_AND_OBJECTS #define MAX_OUTPUT_PCM_BUFFER_SIZE ( ( IVAS_MAX_OUTPUT_CHANNELS + IVAS_MAX_NUM_OBJECTS ) * IVAS_MAX_FRAME_SIZE ) #else #define MAX_OUTPUT_PCM_BUFFER_SIZE ( IVAS_MAX_OUTPUT_CHANNELS * IVAS_MAX_FRAME_SIZE ) #endif #define IVAS_PUBLIC_ORIENT_TRK_NONE ( 0 ) Loading Loading @@ -149,9 +145,7 @@ typedef struct #endif uint16_t acousticEnvironmentId; uint16_t directivityPatternId[IVAS_MAX_NUM_OBJECTS]; #ifdef API_5MS bool framing_5ms; #endif } DecArguments; Loading Loading @@ -974,9 +968,7 @@ 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 @@ -1223,14 +1215,12 @@ 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 @@ -1565,9 +1555,7 @@ static void usage_dec( void ) 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" ); fprintf( stdout, " written into a .txt file. Each line contains the FER indicator \n" ); Loading Loading @@ -1789,16 +1777,9 @@ static ivas_error initOnFirstGoodFrame( return error; } /* If outputting ISM, get number of objects, open output files and write zero metadata for initial bad frames */ #ifdef MASA_AND_OBJECTS if ( *pBsFormat == IVAS_DEC_BS_OBJ || *pBsFormat == IVAS_DEC_BS_MASA_ISM #ifdef SBA_AND_OBJECTS || *pBsFormat == IVAS_DEC_BS_SBA_ISM #endif ) #else if ( *pBsFormat == IVAS_DEC_BS_OBJ ) #endif || *pBsFormat == IVAS_DEC_BS_SBA_ISM ) { if ( ( error = IVAS_DEC_GetNumObjects( hIvasDec, pNumObj ) ) != IVAS_ERR_OK ) { Loading Loading @@ -1838,11 +1819,7 @@ static ivas_error initOnFirstGoodFrame( } /* If outputting MASA, open output file and write metadata for initial bad frames */ #ifdef MASA_AND_OBJECTS if ( *pBsFormat == IVAS_DEC_BS_MASA || *pBsFormat == IVAS_DEC_BS_MASA_ISM ) #else else if ( *pBsFormat == IVAS_DEC_BS_MASA ) #endif { if ( ( error = MasaFileWriter_open( arg.outputWavFilename, arg.delayCompensationEnabled, ppMasaWriter ) ) != IVAS_ERR_OK ) { Loading @@ -1850,10 +1827,8 @@ static ivas_error initOnFirstGoodFrame( return error; } #ifdef MASA_AND_OBJECTS if ( numInitialBadFrames > 0 ) { #endif /* Duplicate good first frame metadata to fill the beginning of stream. */ MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta = NULL; if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 0 ) ) != IVAS_ERR_OK ) Loading @@ -1870,9 +1845,7 @@ static ivas_error initOnFirstGoodFrame( return error; } } #ifdef MASA_AND_OBJECTS } #endif } } Loading Loading @@ -2181,15 +2154,7 @@ static ivas_error decodeG192( /* Write MASA/ISM metadata to external file(s) */ if ( decodedGoodFrame && arg.outputConfig == AUDIO_CONFIG_EXTERNAL ) { #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_OBJ || bsFormat == IVAS_DEC_BS_MASA_ISM #ifdef SBA_AND_OBJECTS || bsFormat == IVAS_DEC_BS_SBA_ISM #endif ) #else if ( bsFormat == IVAS_DEC_BS_OBJ ) #endif if ( bsFormat == IVAS_DEC_BS_OBJ || bsFormat == IVAS_DEC_BS_MASA_ISM || bsFormat == IVAS_DEC_BS_SBA_ISM ) { if ( ( error = IVAS_DEC_GetNumObjects( hIvasDec, &numObj ) ) != IVAS_ERR_OK ) { Loading @@ -2214,12 +2179,8 @@ static ivas_error decodeG192( } } } #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_MASA || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else else if ( bsFormat == IVAS_DEC_BS_MASA ) #endif { MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta; if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 0 ) ) != IVAS_ERR_OK ) Loading Loading @@ -2302,7 +2263,6 @@ static ivas_error decodeG192( { fprintf( stdout, "\nOutput metadata file: %s\n", MasaFileWriter_getFilePath( masaWriter ) ); } #ifdef MASA_AND_OBJECTS else if ( bsFormat == IVAS_DEC_BS_MASA_ISM ) { for ( i = 0; i < numObj; i++ ) Loading @@ -2311,7 +2271,6 @@ static ivas_error decodeG192( } fprintf( stdout, "\nOutput MASA metadata file: %s\n", MasaFileWriter_getFilePath( masaWriter ) ); } #endif } /*------------------------------------------------------------------------------------------* Loading Loading @@ -2780,11 +2739,7 @@ static ivas_error decodeVoIP( { int16_t i; #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_OBJ || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else if ( bsFormat == IVAS_DEC_BS_OBJ ) #endif { if ( ( error = IVAS_DEC_GetNumObjects( hIvasDec, &numObj ) ) != IVAS_ERR_OK ) { Loading @@ -2809,12 +2764,8 @@ static ivas_error decodeVoIP( } } } #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_MASA || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else else if ( bsFormat == IVAS_DEC_BS_MASA ) #endif { MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta; if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 1 ) ) != IVAS_ERR_OK ) Loading Loading @@ -3218,11 +3169,7 @@ static ivas_error decodeVariableSpeed( /* Write ISm metadata to external file(s) */ if ( decodedGoodFrame && arg.outputConfig == AUDIO_CONFIG_EXTERNAL ) { #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_OBJ || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else if ( bsFormat == IVAS_DEC_BS_OBJ ) #endif { if ( ( error = IVAS_DEC_GetNumObjects( hIvasDec, &numObj ) ) != IVAS_ERR_OK ) { Loading @@ -3247,12 +3194,8 @@ static ivas_error decodeVariableSpeed( } } } #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_MASA || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else else if ( bsFormat == IVAS_DEC_BS_MASA ) #endif { MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta; if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 1 ) ) != IVAS_ERR_OK ) Loading Loading @@ -3402,11 +3345,7 @@ static ivas_error decodeVariableSpeed( /* Write ISm metadata to external file(s) */ if ( decodedGoodFrame && arg.outputConfig == AUDIO_CONFIG_EXTERNAL ) { #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_OBJ || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else if ( bsFormat == IVAS_DEC_BS_OBJ ) #endif { if ( ( error = IVAS_DEC_GetNumObjects( hIvasDec, &numObj ) ) != IVAS_ERR_OK ) { Loading @@ -3431,12 +3370,8 @@ static ivas_error decodeVariableSpeed( } } } #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_MASA || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else else if ( bsFormat == IVAS_DEC_BS_MASA ) #endif { MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta; if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 0 ) ) != IVAS_ERR_OK ) Loading Loading @@ -3496,7 +3431,6 @@ static ivas_error decodeVariableSpeed( { fprintf( stdout, "\nOutput metadata file: %s\n", MasaFileWriter_getFilePath( masaWriter ) ); } #ifdef MASA_AND_OBJECTS else if ( bsFormat == IVAS_DEC_BS_MASA_ISM ) { for ( i = 0; i < numObj; i++ ) Loading @@ -3505,7 +3439,6 @@ static ivas_error decodeVariableSpeed( } fprintf( stdout, "\nOutput MASA metadata file: %s\n", MasaFileWriter_getFilePath( masaWriter ) ); } #endif } /* add zeros at the end to have equal length of synthesized signals */ Loading apps/encoder.c +1 −29 Original line number Diff line number Diff line Loading @@ -88,16 +88,13 @@ typedef union _EncInputFormatConfig /* MC details */ IVAS_ENC_MC_LAYOUT mcLayout; #ifdef MASA_AND_OBJECTS struct EncMasaIsmConfig { int16_t numObjects; const char *metadataFiles[IVAS_MAX_NUM_OBJECTS]; IVAS_ENC_MASA_VARIANT masaVariant; } masa_ism; #endif #ifdef SBA_AND_OBJECTS struct EncSbaIsmConfig { int16_t numObjects; Loading @@ -105,7 +102,6 @@ typedef union _EncInputFormatConfig IVAS_ENC_SBA_ORDER order; bool isPlanar; } sba_ism; #endif } EncInputFormatConfig; Loading Loading @@ -255,11 +251,7 @@ int main( * Print out file names *------------------------------------------------------------------------------------------*/ #ifdef SBA_AND_OBJECTS if ( arg.inputFormat == IVAS_ENC_INPUT_ISM || arg.inputFormat == IVAS_ENC_INPUT_SBA_ISM ) #else if ( arg.inputFormat == IVAS_ENC_INPUT_ISM ) #endif { for ( i = 0; i < arg.inputFormatConfig.ism.numObjects; i++ ) { Loading Loading @@ -454,7 +446,6 @@ int main( } break; #ifdef SBA_AND_OBJECTS case IVAS_ENC_INPUT_SBA_ISM: if ( ( error = IVAS_ENC_ConfigureForSBAObjects( hIvasEnc, arg.inputFs, totalBitrate, bandwidth, arg.dtxConfig, arg.inputFormatConfig.sba_ism.numObjects, arg.inputFormatConfig.sba_ism.order, arg.inputFormatConfig.sba_ism.isPlanar, arg.pca ) ) != IVAS_ERR_OK ) { Loading @@ -462,9 +453,7 @@ int main( exit( -1 ); } break; #endif #ifdef MASA_AND_OBJECTS case IVAS_ENC_INPUT_MASA_ISM: if ( ( error = IVAS_ENC_ConfigureForMASAObjects( hIvasEnc, arg.inputFs, totalBitrate, bandwidth, arg.dtxConfig, arg.inputFormatConfig.masa_ism.numObjects, arg.inputFormatConfig.masa_ism.masaVariant ) ) != IVAS_ERR_OK ) { Loading @@ -472,7 +461,6 @@ int main( exit( -1 ); } break; #endif default: fprintf( stderr, "\nInvalid input type\n\n" ); Loading Loading @@ -558,17 +546,9 @@ int main( } } #ifdef MASA_AND_OBJECTS const int16_t numIsmInputs = ( arg.inputFormat == IVAS_ENC_INPUT_ISM || arg.inputFormat == IVAS_ENC_INPUT_MASA_ISM #ifdef SBA_AND_OBJECTS || arg.inputFormat == IVAS_ENC_INPUT_SBA_ISM #endif ) const int16_t numIsmInputs = ( arg.inputFormat == IVAS_ENC_INPUT_ISM || arg.inputFormat == IVAS_ENC_INPUT_MASA_ISM || arg.inputFormat == IVAS_ENC_INPUT_SBA_ISM ) ? arg.inputFormatConfig.ism.numObjects : 0; #else const int16_t numIsmInputs = arg.inputFormat == IVAS_ENC_INPUT_ISM ? arg.inputFormatConfig.ism.numObjects : 0; #endif for ( i = 0; i < numIsmInputs; ++i ) { Loading Loading @@ -1547,7 +1527,6 @@ static bool parseCmdlIVAS_enc( return false; } } #ifdef MASA_AND_OBJECTS else if ( strcmp( to_upper( argv[i] ), "-ISM_MASA" ) == 0 ) { arg->inputFormat = IVAS_ENC_INPUT_MASA_ISM; Loading Loading @@ -1640,9 +1619,7 @@ static bool parseCmdlIVAS_enc( usage_enc(); } } #endif #ifdef SBA_AND_OBJECTS else if ( strcmp( to_upper( argv[i] ), "-ISM_SBA" ) == 0 ) { arg->inputFormat = IVAS_ENC_INPUT_SBA_ISM; Loading Loading @@ -1731,7 +1708,6 @@ static bool parseCmdlIVAS_enc( } } } #endif else if ( strcmp( argv_to_upper, "-STEREO_DMX_EVS" ) == 0 ) { Loading Loading @@ -1937,19 +1913,15 @@ static void usage_enc( void ) fprintf( stdout, "-masa Ch File : MASA format \n" ); fprintf( stdout, " where Ch specifies the number of MASA input/transport channels (1 or 2): \n" ); fprintf( stdout, " and File specifies input file containing parametric MASA metadata \n" ); #ifdef SBA_AND_OBJECTS fprintf( stdout, "-ism_sba IsmCh +/-Order IsmFiles : SBA and ISM combined format\n" ); fprintf( stdout, " where IsmCh specifies the number of ISMs (1-4)\n" ); fprintf( stdout, " and Order specifies the SBA order (1 to 3) \n" ); fprintf( stdout, " and IsmFiles specify input files containing ISM metadata, one file per object \n" ); #endif #ifdef MASA_AND_OBJECTS fprintf( stdout, "-ism_masa IsmCh MasaCh IsmFiles MasaFile : MASA and ISM combined format \n" ); fprintf( stdout, " where IsmCh specifies the number of ISMs (1-4),\n" ); fprintf( stdout, " MasaCh specifies the number of MASA input/transport channels (1-2), \n" ); fprintf( stdout, " IsmFiles specify input files containing ISM metadata, one file per object, \n" ); fprintf( stdout, " and MasaFile specifies input file containing parametric MASA metadata \n" ); #endif fprintf( stdout, "-mc InputConf : Multi-channel format\n" ); fprintf( stdout, " where InputConf specifies the channel configuration: 5_1, 7_1, 5_1_2, 5_1_4, 7_1_4\n" ); fprintf( stdout, " Loudspeaker positions are assumed to have azimuth and elevation as per \n" ); Loading apps/renderer.c +0 −37 Original line number Diff line number Diff line Loading @@ -174,9 +174,7 @@ typedef struct int8_t orientation_tracking; int16_t nonDiegeticPan; float nonDiegeticPanGain; #ifdef FIX_706_REND_COMPLEXITY_LEVELS IVAS_REND_COMPLEXITY_LEVEL complexityLevel; #endif bool delayCompensationEnabled; bool quietModeEnabled; bool sceneDescriptionInput; Loading @@ -188,9 +186,7 @@ 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 @@ -210,9 +206,7 @@ typedef enum CmdLnOptionId_orientationTracking, CmdlnOptionId_lfePosition, CmdlnOptionId_lfeMatrix, #ifdef FIX_706_REND_COMPLEXITY_LEVELS CmdLnOptionId_complexityLevel, #endif CmdLnOptionId_noDelayCmp, CmdLnOptionId_quietModeEnabled, CmdLnOptionId_inputMetadata, Loading @@ -224,9 +218,7 @@ typedef enum #endif CmdLnOptionId_referenceVectorFile, CmdLnOptionId_exteriorOrientationFile, #ifdef API_5MS CmdLnOptionId_framing5ms, #endif CmdLnOptionId_syncMdDelay, CmdLnOptionId_directivityPatternId, CmdLnOptionId_acousticEnvironmentId Loading Loading @@ -339,14 +331,12 @@ static const CmdLnParser_Option cliOptions[] = { .matchShort = "ndc", .description = "[flag] Turn off delay compensation", }, #ifdef FIX_706_REND_COMPLEXITY_LEVELS { .id = CmdLnOptionId_complexityLevel, .match = "complexity_level", .matchShort = "level", .description = "Complexity level, level = (1, 2, 3), will be defined after characterisation.", }, #endif { .id = CmdLnOptionId_quietModeEnabled, .match = "quiet", Loading Loading @@ -377,14 +367,12 @@ 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 @@ -785,9 +773,7 @@ int main( int16_t delayNumSamples = -1; int16_t delayNumSamples_orig = 0; int16_t zeroPad = 0; #ifdef FIX_LARGE_RENDERER_DELAY_COMP int16_t zeroPadToWrite = 0; #endif int32_t delayTimeScale = 0; int16_t i, numChannels; ivas_error error = IVAS_ERR_OK; Loading Loading @@ -1811,11 +1797,7 @@ int main( if ( audioWriter != NULL ) { #endif #ifdef FIX_LARGE_RENDERER_DELAY_COMP if ( delayNumSamples * num_out_channels < outBufferSize ) #else if ( delayNumSamples < outBufferSize ) #endif { if ( AudioFileWriter_write( audioWriter, &outInt16Buffer[delayNumSamples * num_out_channels], outBufferSize - ( delayNumSamples * num_out_channels ) ) != IVAS_ERR_OK ) { Loading @@ -1826,11 +1808,7 @@ int main( } else { #ifdef FIX_LARGE_RENDERER_DELAY_COMP delayNumSamples -= (int16_t) ( outBufferSize / num_out_channels ); #else delayNumSamples -= (int16_t) outBufferSize; #endif } #ifdef SPLIT_REND_WITH_HEAD_ROT } Loading Loading @@ -1930,7 +1908,6 @@ int main( if ( audioWriter != NULL ) { #endif #ifdef FIX_LARGE_RENDERER_DELAY_COMP for ( zeroPadToWrite = zeroPad; zeroPadToWrite > frameSize_smpls; zeroPadToWrite -= frameSize_smpls ) { memset( outInt16Buffer, 0, outBufferSize * sizeof( int16_t ) ); Loading @@ -1948,14 +1925,6 @@ int main( exit( -1 ); } zeroPadToWrite = 0; #else memset( outInt16Buffer, 0, zeroPad * outBuffer.config.numChannels * sizeof( int16_t ) ); if ( ( error = AudioFileWriter_write( audioWriter, outInt16Buffer, zeroPad * outBuffer.config.numChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nOutput audio file writer error\n" ); exit( -1 ); } #endif #ifdef SPLIT_REND_WITH_HEAD_ROT } #endif Loading Loading @@ -2553,9 +2522,7 @@ 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 @@ -2686,7 +2653,6 @@ static void parseOption( strncpy( args->inLfePanningMatrixFile, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 ); args->lfeCustomRoutingEnabled = true; break; #ifdef FIX_706_REND_COMPLEXITY_LEVELS case CmdLnOptionId_complexityLevel: assert( numOptionValues == 1 ); args->complexityLevel = (int32_t) ( strtol( optionValues[0], NULL, 10 ) ); Loading @@ -2700,7 +2666,6 @@ static void parseOption( fprintf( stdout, "Complexity levels 1 and 2 will be defined after characterisation - default to level 3 (full functionality).\n" ); } break; #endif case CmdLnOptionId_noDelayCmp: assert( numOptionValues == 0 ); args->delayCompensationEnabled = false; Loading @@ -2718,13 +2683,11 @@ 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/bitstream.c +0 −24 Original line number Diff line number Diff line Loading @@ -394,11 +394,7 @@ int16_t get_ivas_max_num_indices( return 1650; } } #ifdef SBA_AND_OBJECTS else if ( ivas_format == SBA_FORMAT || ivas_format == SBA_ISM_FORMAT ) #else else if ( ivas_format == SBA_FORMAT ) #endif { if ( ivas_total_brate <= IVAS_16k4 ) { Loading Loading @@ -484,7 +480,6 @@ int16_t get_ivas_max_num_indices( return 1650; } } #ifdef MASA_AND_OBJECTS else if ( ivas_format == MASA_ISM_FORMAT ) { if ( ivas_total_brate <= IVAS_16k4 ) Loading Loading @@ -524,7 +519,6 @@ int16_t get_ivas_max_num_indices( return 1850; } } #endif else if ( ivas_format == MC_FORMAT ) { if ( ivas_total_brate <= IVAS_16k4 ) Loading Loading @@ -643,11 +637,7 @@ int16_t get_ivas_max_num_indices_metadata( return 80; } } #ifdef SBA_AND_OBJECTS else if ( ivas_format == SBA_FORMAT || ivas_format == SBA_ISM_FORMAT ) #else else if ( ivas_format == SBA_FORMAT ) #endif { if ( ivas_total_brate <= IVAS_16k4 ) { Loading Loading @@ -721,7 +711,6 @@ int16_t get_ivas_max_num_indices_metadata( return 1750; } } #ifdef MASA_AND_OBJECTS else if ( ivas_format == MASA_ISM_FORMAT ) { if ( ivas_total_brate <= IVAS_16k4 ) Loading Loading @@ -765,7 +754,6 @@ int16_t get_ivas_max_num_indices_metadata( return 1750 + 30; } } #endif else if ( ivas_format == MC_FORMAT ) { if ( ivas_total_brate <= IVAS_13k2 ) Loading Loading @@ -2568,22 +2556,14 @@ ivas_error preview_indices( { if ( bit_stream[2] ) { #if defined MASA_AND_OBJECTS || defined SBA_AND_OBJECTS if ( bit_stream[3] ) { #ifdef SBA_AND_OBJECTS st_ivas->ivas_format = SBA_ISM_FORMAT; #endif } else { #ifdef MASA_AND_OBJECTS st_ivas->ivas_format = MASA_ISM_FORMAT; #endif } #else /* placeholder for combined format signaling */ #endif } } break; Loading Loading @@ -2748,7 +2728,6 @@ ivas_error preview_indices( ivas_sba_config( total_brate, st_ivas->sba_analysis_order, -1, &( st_ivas->nchan_transport ), st_ivas->sba_planar, &( st_ivas->nSCE ), &( st_ivas->nCPE ), &( st_ivas->element_mode_init ) ); } #ifdef SBA_AND_OBJECTS else if ( st_ivas->ivas_format == SBA_ISM_FORMAT ) { /* read number of objects from the bitstream */ Loading @@ -2775,8 +2754,6 @@ ivas_error preview_indices( ivas_sba_config( total_brate, st_ivas->sba_analysis_order, -1, &( st_ivas->nchan_transport ), st_ivas->sba_planar, &( st_ivas->nSCE ), &( st_ivas->nCPE ), &( st_ivas->element_mode_init ) ); } #endif #ifdef MASA_AND_OBJECTS else if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { /* read number of objects from the bitstream */ Loading @@ -2789,7 +2766,6 @@ ivas_error preview_indices( st_ivas->ism_mode = ivas_omasa_ism_mode_select( total_brate, st_ivas->nchan_ism ); } } #endif } st_ivas->hDecoderConfig->ivas_total_brate = total_brate; Loading lib_com/cnst.h +0 −2 Original line number Diff line number Diff line Loading @@ -263,9 +263,7 @@ enum{ enum { IND_IVAS_FORMAT, #ifdef MASA_AND_OBJECTS IND_SMODE_OMASA, #endif IND_SMODE, IND_SID_TYPE, IND_BWIDTH, Loading Loading
apps/decoder.c +4 −71 Original line number Diff line number Diff line Loading @@ -69,11 +69,7 @@ static #define MIN_NUM_BITS_ACTIVE_FRAME 56 #define NUM_BITS_SID_IVAS_5K2 104 #ifdef SBA_AND_OBJECTS #define MAX_OUTPUT_PCM_BUFFER_SIZE ( ( IVAS_MAX_OUTPUT_CHANNELS + IVAS_MAX_NUM_OBJECTS ) * IVAS_MAX_FRAME_SIZE ) #else #define MAX_OUTPUT_PCM_BUFFER_SIZE ( IVAS_MAX_OUTPUT_CHANNELS * IVAS_MAX_FRAME_SIZE ) #endif #define IVAS_PUBLIC_ORIENT_TRK_NONE ( 0 ) Loading Loading @@ -149,9 +145,7 @@ typedef struct #endif uint16_t acousticEnvironmentId; uint16_t directivityPatternId[IVAS_MAX_NUM_OBJECTS]; #ifdef API_5MS bool framing_5ms; #endif } DecArguments; Loading Loading @@ -974,9 +968,7 @@ 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 @@ -1223,14 +1215,12 @@ 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 @@ -1565,9 +1555,7 @@ static void usage_dec( void ) 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" ); fprintf( stdout, " written into a .txt file. Each line contains the FER indicator \n" ); Loading Loading @@ -1789,16 +1777,9 @@ static ivas_error initOnFirstGoodFrame( return error; } /* If outputting ISM, get number of objects, open output files and write zero metadata for initial bad frames */ #ifdef MASA_AND_OBJECTS if ( *pBsFormat == IVAS_DEC_BS_OBJ || *pBsFormat == IVAS_DEC_BS_MASA_ISM #ifdef SBA_AND_OBJECTS || *pBsFormat == IVAS_DEC_BS_SBA_ISM #endif ) #else if ( *pBsFormat == IVAS_DEC_BS_OBJ ) #endif || *pBsFormat == IVAS_DEC_BS_SBA_ISM ) { if ( ( error = IVAS_DEC_GetNumObjects( hIvasDec, pNumObj ) ) != IVAS_ERR_OK ) { Loading Loading @@ -1838,11 +1819,7 @@ static ivas_error initOnFirstGoodFrame( } /* If outputting MASA, open output file and write metadata for initial bad frames */ #ifdef MASA_AND_OBJECTS if ( *pBsFormat == IVAS_DEC_BS_MASA || *pBsFormat == IVAS_DEC_BS_MASA_ISM ) #else else if ( *pBsFormat == IVAS_DEC_BS_MASA ) #endif { if ( ( error = MasaFileWriter_open( arg.outputWavFilename, arg.delayCompensationEnabled, ppMasaWriter ) ) != IVAS_ERR_OK ) { Loading @@ -1850,10 +1827,8 @@ static ivas_error initOnFirstGoodFrame( return error; } #ifdef MASA_AND_OBJECTS if ( numInitialBadFrames > 0 ) { #endif /* Duplicate good first frame metadata to fill the beginning of stream. */ MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta = NULL; if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 0 ) ) != IVAS_ERR_OK ) Loading @@ -1870,9 +1845,7 @@ static ivas_error initOnFirstGoodFrame( return error; } } #ifdef MASA_AND_OBJECTS } #endif } } Loading Loading @@ -2181,15 +2154,7 @@ static ivas_error decodeG192( /* Write MASA/ISM metadata to external file(s) */ if ( decodedGoodFrame && arg.outputConfig == AUDIO_CONFIG_EXTERNAL ) { #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_OBJ || bsFormat == IVAS_DEC_BS_MASA_ISM #ifdef SBA_AND_OBJECTS || bsFormat == IVAS_DEC_BS_SBA_ISM #endif ) #else if ( bsFormat == IVAS_DEC_BS_OBJ ) #endif if ( bsFormat == IVAS_DEC_BS_OBJ || bsFormat == IVAS_DEC_BS_MASA_ISM || bsFormat == IVAS_DEC_BS_SBA_ISM ) { if ( ( error = IVAS_DEC_GetNumObjects( hIvasDec, &numObj ) ) != IVAS_ERR_OK ) { Loading @@ -2214,12 +2179,8 @@ static ivas_error decodeG192( } } } #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_MASA || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else else if ( bsFormat == IVAS_DEC_BS_MASA ) #endif { MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta; if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 0 ) ) != IVAS_ERR_OK ) Loading Loading @@ -2302,7 +2263,6 @@ static ivas_error decodeG192( { fprintf( stdout, "\nOutput metadata file: %s\n", MasaFileWriter_getFilePath( masaWriter ) ); } #ifdef MASA_AND_OBJECTS else if ( bsFormat == IVAS_DEC_BS_MASA_ISM ) { for ( i = 0; i < numObj; i++ ) Loading @@ -2311,7 +2271,6 @@ static ivas_error decodeG192( } fprintf( stdout, "\nOutput MASA metadata file: %s\n", MasaFileWriter_getFilePath( masaWriter ) ); } #endif } /*------------------------------------------------------------------------------------------* Loading Loading @@ -2780,11 +2739,7 @@ static ivas_error decodeVoIP( { int16_t i; #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_OBJ || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else if ( bsFormat == IVAS_DEC_BS_OBJ ) #endif { if ( ( error = IVAS_DEC_GetNumObjects( hIvasDec, &numObj ) ) != IVAS_ERR_OK ) { Loading @@ -2809,12 +2764,8 @@ static ivas_error decodeVoIP( } } } #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_MASA || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else else if ( bsFormat == IVAS_DEC_BS_MASA ) #endif { MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta; if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 1 ) ) != IVAS_ERR_OK ) Loading Loading @@ -3218,11 +3169,7 @@ static ivas_error decodeVariableSpeed( /* Write ISm metadata to external file(s) */ if ( decodedGoodFrame && arg.outputConfig == AUDIO_CONFIG_EXTERNAL ) { #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_OBJ || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else if ( bsFormat == IVAS_DEC_BS_OBJ ) #endif { if ( ( error = IVAS_DEC_GetNumObjects( hIvasDec, &numObj ) ) != IVAS_ERR_OK ) { Loading @@ -3247,12 +3194,8 @@ static ivas_error decodeVariableSpeed( } } } #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_MASA || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else else if ( bsFormat == IVAS_DEC_BS_MASA ) #endif { MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta; if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 1 ) ) != IVAS_ERR_OK ) Loading Loading @@ -3402,11 +3345,7 @@ static ivas_error decodeVariableSpeed( /* Write ISm metadata to external file(s) */ if ( decodedGoodFrame && arg.outputConfig == AUDIO_CONFIG_EXTERNAL ) { #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_OBJ || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else if ( bsFormat == IVAS_DEC_BS_OBJ ) #endif { if ( ( error = IVAS_DEC_GetNumObjects( hIvasDec, &numObj ) ) != IVAS_ERR_OK ) { Loading @@ -3431,12 +3370,8 @@ static ivas_error decodeVariableSpeed( } } } #ifdef MASA_AND_OBJECTS if ( bsFormat == IVAS_DEC_BS_MASA || bsFormat == IVAS_DEC_BS_MASA_ISM ) #else else if ( bsFormat == IVAS_DEC_BS_MASA ) #endif { MASA_DECODER_EXT_OUT_META_HANDLE hMasaExtOutMeta; if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &hMasaExtOutMeta, 0 ) ) != IVAS_ERR_OK ) Loading Loading @@ -3496,7 +3431,6 @@ static ivas_error decodeVariableSpeed( { fprintf( stdout, "\nOutput metadata file: %s\n", MasaFileWriter_getFilePath( masaWriter ) ); } #ifdef MASA_AND_OBJECTS else if ( bsFormat == IVAS_DEC_BS_MASA_ISM ) { for ( i = 0; i < numObj; i++ ) Loading @@ -3505,7 +3439,6 @@ static ivas_error decodeVariableSpeed( } fprintf( stdout, "\nOutput MASA metadata file: %s\n", MasaFileWriter_getFilePath( masaWriter ) ); } #endif } /* add zeros at the end to have equal length of synthesized signals */ Loading
apps/encoder.c +1 −29 Original line number Diff line number Diff line Loading @@ -88,16 +88,13 @@ typedef union _EncInputFormatConfig /* MC details */ IVAS_ENC_MC_LAYOUT mcLayout; #ifdef MASA_AND_OBJECTS struct EncMasaIsmConfig { int16_t numObjects; const char *metadataFiles[IVAS_MAX_NUM_OBJECTS]; IVAS_ENC_MASA_VARIANT masaVariant; } masa_ism; #endif #ifdef SBA_AND_OBJECTS struct EncSbaIsmConfig { int16_t numObjects; Loading @@ -105,7 +102,6 @@ typedef union _EncInputFormatConfig IVAS_ENC_SBA_ORDER order; bool isPlanar; } sba_ism; #endif } EncInputFormatConfig; Loading Loading @@ -255,11 +251,7 @@ int main( * Print out file names *------------------------------------------------------------------------------------------*/ #ifdef SBA_AND_OBJECTS if ( arg.inputFormat == IVAS_ENC_INPUT_ISM || arg.inputFormat == IVAS_ENC_INPUT_SBA_ISM ) #else if ( arg.inputFormat == IVAS_ENC_INPUT_ISM ) #endif { for ( i = 0; i < arg.inputFormatConfig.ism.numObjects; i++ ) { Loading Loading @@ -454,7 +446,6 @@ int main( } break; #ifdef SBA_AND_OBJECTS case IVAS_ENC_INPUT_SBA_ISM: if ( ( error = IVAS_ENC_ConfigureForSBAObjects( hIvasEnc, arg.inputFs, totalBitrate, bandwidth, arg.dtxConfig, arg.inputFormatConfig.sba_ism.numObjects, arg.inputFormatConfig.sba_ism.order, arg.inputFormatConfig.sba_ism.isPlanar, arg.pca ) ) != IVAS_ERR_OK ) { Loading @@ -462,9 +453,7 @@ int main( exit( -1 ); } break; #endif #ifdef MASA_AND_OBJECTS case IVAS_ENC_INPUT_MASA_ISM: if ( ( error = IVAS_ENC_ConfigureForMASAObjects( hIvasEnc, arg.inputFs, totalBitrate, bandwidth, arg.dtxConfig, arg.inputFormatConfig.masa_ism.numObjects, arg.inputFormatConfig.masa_ism.masaVariant ) ) != IVAS_ERR_OK ) { Loading @@ -472,7 +461,6 @@ int main( exit( -1 ); } break; #endif default: fprintf( stderr, "\nInvalid input type\n\n" ); Loading Loading @@ -558,17 +546,9 @@ int main( } } #ifdef MASA_AND_OBJECTS const int16_t numIsmInputs = ( arg.inputFormat == IVAS_ENC_INPUT_ISM || arg.inputFormat == IVAS_ENC_INPUT_MASA_ISM #ifdef SBA_AND_OBJECTS || arg.inputFormat == IVAS_ENC_INPUT_SBA_ISM #endif ) const int16_t numIsmInputs = ( arg.inputFormat == IVAS_ENC_INPUT_ISM || arg.inputFormat == IVAS_ENC_INPUT_MASA_ISM || arg.inputFormat == IVAS_ENC_INPUT_SBA_ISM ) ? arg.inputFormatConfig.ism.numObjects : 0; #else const int16_t numIsmInputs = arg.inputFormat == IVAS_ENC_INPUT_ISM ? arg.inputFormatConfig.ism.numObjects : 0; #endif for ( i = 0; i < numIsmInputs; ++i ) { Loading Loading @@ -1547,7 +1527,6 @@ static bool parseCmdlIVAS_enc( return false; } } #ifdef MASA_AND_OBJECTS else if ( strcmp( to_upper( argv[i] ), "-ISM_MASA" ) == 0 ) { arg->inputFormat = IVAS_ENC_INPUT_MASA_ISM; Loading Loading @@ -1640,9 +1619,7 @@ static bool parseCmdlIVAS_enc( usage_enc(); } } #endif #ifdef SBA_AND_OBJECTS else if ( strcmp( to_upper( argv[i] ), "-ISM_SBA" ) == 0 ) { arg->inputFormat = IVAS_ENC_INPUT_SBA_ISM; Loading Loading @@ -1731,7 +1708,6 @@ static bool parseCmdlIVAS_enc( } } } #endif else if ( strcmp( argv_to_upper, "-STEREO_DMX_EVS" ) == 0 ) { Loading Loading @@ -1937,19 +1913,15 @@ static void usage_enc( void ) fprintf( stdout, "-masa Ch File : MASA format \n" ); fprintf( stdout, " where Ch specifies the number of MASA input/transport channels (1 or 2): \n" ); fprintf( stdout, " and File specifies input file containing parametric MASA metadata \n" ); #ifdef SBA_AND_OBJECTS fprintf( stdout, "-ism_sba IsmCh +/-Order IsmFiles : SBA and ISM combined format\n" ); fprintf( stdout, " where IsmCh specifies the number of ISMs (1-4)\n" ); fprintf( stdout, " and Order specifies the SBA order (1 to 3) \n" ); fprintf( stdout, " and IsmFiles specify input files containing ISM metadata, one file per object \n" ); #endif #ifdef MASA_AND_OBJECTS fprintf( stdout, "-ism_masa IsmCh MasaCh IsmFiles MasaFile : MASA and ISM combined format \n" ); fprintf( stdout, " where IsmCh specifies the number of ISMs (1-4),\n" ); fprintf( stdout, " MasaCh specifies the number of MASA input/transport channels (1-2), \n" ); fprintf( stdout, " IsmFiles specify input files containing ISM metadata, one file per object, \n" ); fprintf( stdout, " and MasaFile specifies input file containing parametric MASA metadata \n" ); #endif fprintf( stdout, "-mc InputConf : Multi-channel format\n" ); fprintf( stdout, " where InputConf specifies the channel configuration: 5_1, 7_1, 5_1_2, 5_1_4, 7_1_4\n" ); fprintf( stdout, " Loudspeaker positions are assumed to have azimuth and elevation as per \n" ); Loading
apps/renderer.c +0 −37 Original line number Diff line number Diff line Loading @@ -174,9 +174,7 @@ typedef struct int8_t orientation_tracking; int16_t nonDiegeticPan; float nonDiegeticPanGain; #ifdef FIX_706_REND_COMPLEXITY_LEVELS IVAS_REND_COMPLEXITY_LEVEL complexityLevel; #endif bool delayCompensationEnabled; bool quietModeEnabled; bool sceneDescriptionInput; Loading @@ -188,9 +186,7 @@ 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 @@ -210,9 +206,7 @@ typedef enum CmdLnOptionId_orientationTracking, CmdlnOptionId_lfePosition, CmdlnOptionId_lfeMatrix, #ifdef FIX_706_REND_COMPLEXITY_LEVELS CmdLnOptionId_complexityLevel, #endif CmdLnOptionId_noDelayCmp, CmdLnOptionId_quietModeEnabled, CmdLnOptionId_inputMetadata, Loading @@ -224,9 +218,7 @@ typedef enum #endif CmdLnOptionId_referenceVectorFile, CmdLnOptionId_exteriorOrientationFile, #ifdef API_5MS CmdLnOptionId_framing5ms, #endif CmdLnOptionId_syncMdDelay, CmdLnOptionId_directivityPatternId, CmdLnOptionId_acousticEnvironmentId Loading Loading @@ -339,14 +331,12 @@ static const CmdLnParser_Option cliOptions[] = { .matchShort = "ndc", .description = "[flag] Turn off delay compensation", }, #ifdef FIX_706_REND_COMPLEXITY_LEVELS { .id = CmdLnOptionId_complexityLevel, .match = "complexity_level", .matchShort = "level", .description = "Complexity level, level = (1, 2, 3), will be defined after characterisation.", }, #endif { .id = CmdLnOptionId_quietModeEnabled, .match = "quiet", Loading Loading @@ -377,14 +367,12 @@ 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 @@ -785,9 +773,7 @@ int main( int16_t delayNumSamples = -1; int16_t delayNumSamples_orig = 0; int16_t zeroPad = 0; #ifdef FIX_LARGE_RENDERER_DELAY_COMP int16_t zeroPadToWrite = 0; #endif int32_t delayTimeScale = 0; int16_t i, numChannels; ivas_error error = IVAS_ERR_OK; Loading Loading @@ -1811,11 +1797,7 @@ int main( if ( audioWriter != NULL ) { #endif #ifdef FIX_LARGE_RENDERER_DELAY_COMP if ( delayNumSamples * num_out_channels < outBufferSize ) #else if ( delayNumSamples < outBufferSize ) #endif { if ( AudioFileWriter_write( audioWriter, &outInt16Buffer[delayNumSamples * num_out_channels], outBufferSize - ( delayNumSamples * num_out_channels ) ) != IVAS_ERR_OK ) { Loading @@ -1826,11 +1808,7 @@ int main( } else { #ifdef FIX_LARGE_RENDERER_DELAY_COMP delayNumSamples -= (int16_t) ( outBufferSize / num_out_channels ); #else delayNumSamples -= (int16_t) outBufferSize; #endif } #ifdef SPLIT_REND_WITH_HEAD_ROT } Loading Loading @@ -1930,7 +1908,6 @@ int main( if ( audioWriter != NULL ) { #endif #ifdef FIX_LARGE_RENDERER_DELAY_COMP for ( zeroPadToWrite = zeroPad; zeroPadToWrite > frameSize_smpls; zeroPadToWrite -= frameSize_smpls ) { memset( outInt16Buffer, 0, outBufferSize * sizeof( int16_t ) ); Loading @@ -1948,14 +1925,6 @@ int main( exit( -1 ); } zeroPadToWrite = 0; #else memset( outInt16Buffer, 0, zeroPad * outBuffer.config.numChannels * sizeof( int16_t ) ); if ( ( error = AudioFileWriter_write( audioWriter, outInt16Buffer, zeroPad * outBuffer.config.numChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nOutput audio file writer error\n" ); exit( -1 ); } #endif #ifdef SPLIT_REND_WITH_HEAD_ROT } #endif Loading Loading @@ -2553,9 +2522,7 @@ 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 @@ -2686,7 +2653,6 @@ static void parseOption( strncpy( args->inLfePanningMatrixFile, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 ); args->lfeCustomRoutingEnabled = true; break; #ifdef FIX_706_REND_COMPLEXITY_LEVELS case CmdLnOptionId_complexityLevel: assert( numOptionValues == 1 ); args->complexityLevel = (int32_t) ( strtol( optionValues[0], NULL, 10 ) ); Loading @@ -2700,7 +2666,6 @@ static void parseOption( fprintf( stdout, "Complexity levels 1 and 2 will be defined after characterisation - default to level 3 (full functionality).\n" ); } break; #endif case CmdLnOptionId_noDelayCmp: assert( numOptionValues == 0 ); args->delayCompensationEnabled = false; Loading @@ -2718,13 +2683,11 @@ 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/bitstream.c +0 −24 Original line number Diff line number Diff line Loading @@ -394,11 +394,7 @@ int16_t get_ivas_max_num_indices( return 1650; } } #ifdef SBA_AND_OBJECTS else if ( ivas_format == SBA_FORMAT || ivas_format == SBA_ISM_FORMAT ) #else else if ( ivas_format == SBA_FORMAT ) #endif { if ( ivas_total_brate <= IVAS_16k4 ) { Loading Loading @@ -484,7 +480,6 @@ int16_t get_ivas_max_num_indices( return 1650; } } #ifdef MASA_AND_OBJECTS else if ( ivas_format == MASA_ISM_FORMAT ) { if ( ivas_total_brate <= IVAS_16k4 ) Loading Loading @@ -524,7 +519,6 @@ int16_t get_ivas_max_num_indices( return 1850; } } #endif else if ( ivas_format == MC_FORMAT ) { if ( ivas_total_brate <= IVAS_16k4 ) Loading Loading @@ -643,11 +637,7 @@ int16_t get_ivas_max_num_indices_metadata( return 80; } } #ifdef SBA_AND_OBJECTS else if ( ivas_format == SBA_FORMAT || ivas_format == SBA_ISM_FORMAT ) #else else if ( ivas_format == SBA_FORMAT ) #endif { if ( ivas_total_brate <= IVAS_16k4 ) { Loading Loading @@ -721,7 +711,6 @@ int16_t get_ivas_max_num_indices_metadata( return 1750; } } #ifdef MASA_AND_OBJECTS else if ( ivas_format == MASA_ISM_FORMAT ) { if ( ivas_total_brate <= IVAS_16k4 ) Loading Loading @@ -765,7 +754,6 @@ int16_t get_ivas_max_num_indices_metadata( return 1750 + 30; } } #endif else if ( ivas_format == MC_FORMAT ) { if ( ivas_total_brate <= IVAS_13k2 ) Loading Loading @@ -2568,22 +2556,14 @@ ivas_error preview_indices( { if ( bit_stream[2] ) { #if defined MASA_AND_OBJECTS || defined SBA_AND_OBJECTS if ( bit_stream[3] ) { #ifdef SBA_AND_OBJECTS st_ivas->ivas_format = SBA_ISM_FORMAT; #endif } else { #ifdef MASA_AND_OBJECTS st_ivas->ivas_format = MASA_ISM_FORMAT; #endif } #else /* placeholder for combined format signaling */ #endif } } break; Loading Loading @@ -2748,7 +2728,6 @@ ivas_error preview_indices( ivas_sba_config( total_brate, st_ivas->sba_analysis_order, -1, &( st_ivas->nchan_transport ), st_ivas->sba_planar, &( st_ivas->nSCE ), &( st_ivas->nCPE ), &( st_ivas->element_mode_init ) ); } #ifdef SBA_AND_OBJECTS else if ( st_ivas->ivas_format == SBA_ISM_FORMAT ) { /* read number of objects from the bitstream */ Loading @@ -2775,8 +2754,6 @@ ivas_error preview_indices( ivas_sba_config( total_brate, st_ivas->sba_analysis_order, -1, &( st_ivas->nchan_transport ), st_ivas->sba_planar, &( st_ivas->nSCE ), &( st_ivas->nCPE ), &( st_ivas->element_mode_init ) ); } #endif #ifdef MASA_AND_OBJECTS else if ( st_ivas->ivas_format == MASA_ISM_FORMAT ) { /* read number of objects from the bitstream */ Loading @@ -2789,7 +2766,6 @@ ivas_error preview_indices( st_ivas->ism_mode = ivas_omasa_ism_mode_select( total_brate, st_ivas->nchan_ism ); } } #endif } st_ivas->hDecoderConfig->ivas_total_brate = total_brate; Loading
lib_com/cnst.h +0 −2 Original line number Diff line number Diff line Loading @@ -263,9 +263,7 @@ enum{ enum { IND_IVAS_FORMAT, #ifdef MASA_AND_OBJECTS IND_SMODE_OMASA, #endif IND_SMODE, IND_SID_TYPE, IND_BWIDTH, Loading