Loading apps/decoder.c +49 −0 Original line number Diff line number Diff line Loading @@ -159,7 +159,11 @@ typedef struct static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg ); static void usage_dec( void ); #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE *phIvasDec, int16_t *pcmBuf ); #else static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); #endif static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtf, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_RENDER_CONFIG_DATA *renderConfig, IVAS_DEC_HANDLE *phIvasDec, int16_t *pcmBuf ); static ivas_error load_hrtf_from_file( IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, IVAS_DEC_HANDLE hIvasDec, const IVAS_AUDIO_CONFIG OutputConfig, const int32_t output_Fs ); static void do_object_editing_fx( IVAS_EDITABLE_PARAMETERS *editableParameters, ObjectEditFileReader *objectEditFileReader ); Loading Loading @@ -668,7 +672,11 @@ int main( } else { #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH error = decodeG192( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader, &splitRendBits, &hIvasDec, pcmBuf ); #else error = decodeG192( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader, &splitRendBits, hIvasDec, pcmBuf ); #endif } if ( error == IVAS_ERR_OK || error == IVAS_ERR_END_OF_FILE ) Loading Loading @@ -2002,7 +2010,11 @@ static ivas_error decodeG192( Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH IVAS_DEC_HANDLE *phIvasDec, #else IVAS_DEC_HANDLE hIvasDec, #endif int16_t *pcmBuf ) { Loading @@ -2010,6 +2022,9 @@ static ivas_error decodeG192( uint16_t bit_stream[IVAS_MAX_BITS_PER_FRAME + 4 * 8]; int16_t i, num_bits; int16_t bfi = 0; #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH IVAS_DEC_HANDLE hIvasDec = *phIvasDec; #endif AudioFileWriter *afWriter = NULL; MasaFileWriter *masaWriter = NULL; bool decodedGoodFrame = false; Loading @@ -2033,6 +2048,9 @@ static ivas_error decodeG192( int16_t isSplitRend, isSplitCoded; IVAS_RENDER_CONFIG_DATA renderConfig; RenderConfigReader *renderConfigReader = NULL; #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH bool restartNeeded; #endif #ifdef VARIABLE_SPEED_DECODING if ( arg.tsmEnabled ) Loading Loading @@ -2289,6 +2307,37 @@ static ivas_error decodeG192( return error; } #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH if ( ( error = IVAS_DEC_isRestartNeeded( hIvasDec, &restartNeeded ) ) != IVAS_ERR_OK ) { return error; } if ( restartNeeded ) { IVAS_DEC_BS_FORMAT tempFormat; if ( ( error = IVAS_DEC_GetFormat( hIvasDec, &tempFormat ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in IVAS_DEC_GetFormat, code: %d\n", error ); goto cleanup; } IVAS_DEC_MODE codecMode = ( tempFormat == IVAS_DEC_BS_MONO ) ? IVAS_DEC_MODE_EVS : IVAS_DEC_MODE_IVAS; error = restartDecoder( &hIvasDec, codecMode, &arg, NULL, /* ToDo : Provide rendererConfig */ NULL /* ToDo : Provide LS Custom Data */ ); if ( error != IVAS_ERR_OK ) { fprintf( stderr, "\nFailed to restart decoder\n" ); goto cleanup; } *phIvasDec = hIvasDec; /* Update for main()' s free */ } #endif /* Placeholder for memory reallocation */ /* ... */ Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ #define FIX_2479_HARM_PITCH_GAIN /* FhG: basop issue 2479: Harmonize tcx_ltp_pitch_search_*(), tcx_ltp_find_gain_*fx() */ #define HARMONIZE_2481_EXTEND_SHRINK /* FhG: basop issue 2481: Harmonize extend_frm_*fx() and shrink_frm_*fx() */ #define FIX_FLOAT_ISSUE_1546_DEAD_CODE /* FhG: remove dead code reported in the issue*/ #define FIX_FLOAT_1539_G192_FORMAT_SWITCH /* VA/Nokia: reintroduce format switching for g192 bitstreams */ /* #################### End BE switches ################################## */ Loading lib_dec/ivas_init_dec_fx.c +52 −2 Original line number Diff line number Diff line Loading @@ -108,8 +108,9 @@ ivas_error ivas_dec_get_format_fx( Word16 nchan_ism, element_mode_flag; Word16 sba_order, sba_planar, sba_analysis_order; Word32 ivas_total_brate; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH Word16 Opt_tsm; #endif UWord16 *bit_stream_orig; AUDIO_CONFIG signaled_config; ivas_error error; Loading @@ -121,8 +122,10 @@ ivas_error ivas_dec_get_format_fx( ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; move32(); #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH Opt_tsm = st_ivas->hDecoderConfig->Opt_tsm; move16(); #endif bit_stream_orig = st_ivas->bit_stream; /*-------------------------------------------------------------------* Loading @@ -143,12 +146,15 @@ ivas_error ivas_dec_get_format_fx( !( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) && EQ_32( st_ivas->last_ivas_format, MASA_ISM_FORMAT ) ) && !( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->last_ivas_format, MASA_FORMAT ) ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -157,6 +163,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } #endif } /*-------------------------------------------------------------------* Loading Loading @@ -194,12 +201,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -208,6 +218,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } #endif } st_ivas->nchan_ism = nchan_ism; Loading @@ -231,12 +242,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_planar, st_ivas->sba_planar ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -245,6 +259,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA planar flag signalled!" ); } #endif } /* read Ambisonic (SBA) order */ Loading @@ -255,12 +270,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -269,6 +287,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" ); } #endif } sba_analysis_order = ivas_sba_get_analysis_order_fx( ivas_total_brate, sba_order ); Loading @@ -284,8 +303,12 @@ ivas_error ivas_dec_get_format_fx( k = extract_l( Mpy_32_32_r( ivas_total_brate, ONE_BY_FRAMES_PER_SEC_Q31 ) ); IF( st_ivas->bit_stream[k - 1] ) { #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH if ( st_ivas->nchan_transport == 1 ) #else test(); if ( st_ivas->nchan_transport == 1 && Opt_tsm ) #endif { masaRestartCandidate = 1; move16(); Loading @@ -298,8 +321,12 @@ ivas_error ivas_dec_get_format_fx( } ELSE { #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH if ( st_ivas->nchan_transport == 2 ) #else test(); if ( st_ivas->nchan_transport == 2 && Opt_tsm ) #endif { masaRestartCandidate = 1; move16(); Loading Loading @@ -349,12 +376,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -363,6 +393,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } #endif } st_ivas->nchan_ism = nchan_ism; Loading @@ -381,12 +412,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -395,6 +429,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } #endif } st_ivas->nchan_ism = nchan_ism; Loading @@ -409,12 +444,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -423,6 +461,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } #endif } st_ivas->nchan_ism = nchan_ism; Loading Loading @@ -450,12 +489,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -464,6 +506,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" ); } #endif } st_ivas->ism_mode = ivas_osba_ism_mode_select( ivas_total_brate, st_ivas->nchan_ism ); Loading @@ -490,12 +533,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_32( st_ivas->transport_config, signaled_config ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -504,6 +550,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "wrong MC configuration signalled!" ); } #endif } st_ivas->mc_mode = ivas_mc_mode_select_fx( ivas_mc_map_output_config_to_mc_ls_setup_fx( signaled_config ), ivas_total_brate ); Loading Loading @@ -602,12 +649,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -616,6 +666,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } #endif } st_ivas->nchan_ism = nchan_ism; Loading Loading @@ -3989,7 +4040,6 @@ static ivas_error doSanityChecks_IVAS( } } IF( st_ivas->hDecoderConfig->Opt_ObjEdit_on ) { test(); Loading Loading
apps/decoder.c +49 −0 Original line number Diff line number Diff line Loading @@ -159,7 +159,11 @@ typedef struct static bool parseCmdlIVAS_dec( int16_t argc, char **argv, DecArguments *arg ); static void usage_dec( void ); #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE *phIvasDec, int16_t *pcmBuf ); #else static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); #endif static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtf, RotFileReader *headRotReader, RotFileReader *externalOrientationFileReader, RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, IVAS_RENDER_CONFIG_DATA *renderConfig, IVAS_DEC_HANDLE *phIvasDec, int16_t *pcmBuf ); static ivas_error load_hrtf_from_file( IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, IVAS_DEC_HANDLE hIvasDec, const IVAS_AUDIO_CONFIG OutputConfig, const int32_t output_Fs ); static void do_object_editing_fx( IVAS_EDITABLE_PARAMETERS *editableParameters, ObjectEditFileReader *objectEditFileReader ); Loading Loading @@ -668,7 +672,11 @@ int main( } else { #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH error = decodeG192( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader, &splitRendBits, &hIvasDec, pcmBuf ); #else error = decodeG192( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader, &splitRendBits, hIvasDec, pcmBuf ); #endif } if ( error == IVAS_ERR_OK || error == IVAS_ERR_END_OF_FILE ) Loading Loading @@ -2002,7 +2010,11 @@ static ivas_error decodeG192( Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, ISAR_SPLIT_REND_BITS_DATA *splitRendBits, #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH IVAS_DEC_HANDLE *phIvasDec, #else IVAS_DEC_HANDLE hIvasDec, #endif int16_t *pcmBuf ) { Loading @@ -2010,6 +2022,9 @@ static ivas_error decodeG192( uint16_t bit_stream[IVAS_MAX_BITS_PER_FRAME + 4 * 8]; int16_t i, num_bits; int16_t bfi = 0; #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH IVAS_DEC_HANDLE hIvasDec = *phIvasDec; #endif AudioFileWriter *afWriter = NULL; MasaFileWriter *masaWriter = NULL; bool decodedGoodFrame = false; Loading @@ -2033,6 +2048,9 @@ static ivas_error decodeG192( int16_t isSplitRend, isSplitCoded; IVAS_RENDER_CONFIG_DATA renderConfig; RenderConfigReader *renderConfigReader = NULL; #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH bool restartNeeded; #endif #ifdef VARIABLE_SPEED_DECODING if ( arg.tsmEnabled ) Loading Loading @@ -2289,6 +2307,37 @@ static ivas_error decodeG192( return error; } #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH if ( ( error = IVAS_DEC_isRestartNeeded( hIvasDec, &restartNeeded ) ) != IVAS_ERR_OK ) { return error; } if ( restartNeeded ) { IVAS_DEC_BS_FORMAT tempFormat; if ( ( error = IVAS_DEC_GetFormat( hIvasDec, &tempFormat ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in IVAS_DEC_GetFormat, code: %d\n", error ); goto cleanup; } IVAS_DEC_MODE codecMode = ( tempFormat == IVAS_DEC_BS_MONO ) ? IVAS_DEC_MODE_EVS : IVAS_DEC_MODE_IVAS; error = restartDecoder( &hIvasDec, codecMode, &arg, NULL, /* ToDo : Provide rendererConfig */ NULL /* ToDo : Provide LS Custom Data */ ); if ( error != IVAS_ERR_OK ) { fprintf( stderr, "\nFailed to restart decoder\n" ); goto cleanup; } *phIvasDec = hIvasDec; /* Update for main()' s free */ } #endif /* Placeholder for memory reallocation */ /* ... */ Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ #define FIX_2479_HARM_PITCH_GAIN /* FhG: basop issue 2479: Harmonize tcx_ltp_pitch_search_*(), tcx_ltp_find_gain_*fx() */ #define HARMONIZE_2481_EXTEND_SHRINK /* FhG: basop issue 2481: Harmonize extend_frm_*fx() and shrink_frm_*fx() */ #define FIX_FLOAT_ISSUE_1546_DEAD_CODE /* FhG: remove dead code reported in the issue*/ #define FIX_FLOAT_1539_G192_FORMAT_SWITCH /* VA/Nokia: reintroduce format switching for g192 bitstreams */ /* #################### End BE switches ################################## */ Loading
lib_dec/ivas_init_dec_fx.c +52 −2 Original line number Diff line number Diff line Loading @@ -108,8 +108,9 @@ ivas_error ivas_dec_get_format_fx( Word16 nchan_ism, element_mode_flag; Word16 sba_order, sba_planar, sba_analysis_order; Word32 ivas_total_brate; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH Word16 Opt_tsm; #endif UWord16 *bit_stream_orig; AUDIO_CONFIG signaled_config; ivas_error error; Loading @@ -121,8 +122,10 @@ ivas_error ivas_dec_get_format_fx( ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; move32(); #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH Opt_tsm = st_ivas->hDecoderConfig->Opt_tsm; move16(); #endif bit_stream_orig = st_ivas->bit_stream; /*-------------------------------------------------------------------* Loading @@ -143,12 +146,15 @@ ivas_error ivas_dec_get_format_fx( !( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) && EQ_32( st_ivas->last_ivas_format, MASA_ISM_FORMAT ) ) && !( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->last_ivas_format, MASA_FORMAT ) ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -157,6 +163,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } #endif } /*-------------------------------------------------------------------* Loading Loading @@ -194,12 +201,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -208,6 +218,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } #endif } st_ivas->nchan_ism = nchan_ism; Loading @@ -231,12 +242,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_planar, st_ivas->sba_planar ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -245,6 +259,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA planar flag signalled!" ); } #endif } /* read Ambisonic (SBA) order */ Loading @@ -255,12 +270,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -269,6 +287,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" ); } #endif } sba_analysis_order = ivas_sba_get_analysis_order_fx( ivas_total_brate, sba_order ); Loading @@ -284,8 +303,12 @@ ivas_error ivas_dec_get_format_fx( k = extract_l( Mpy_32_32_r( ivas_total_brate, ONE_BY_FRAMES_PER_SEC_Q31 ) ); IF( st_ivas->bit_stream[k - 1] ) { #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH if ( st_ivas->nchan_transport == 1 ) #else test(); if ( st_ivas->nchan_transport == 1 && Opt_tsm ) #endif { masaRestartCandidate = 1; move16(); Loading @@ -298,8 +321,12 @@ ivas_error ivas_dec_get_format_fx( } ELSE { #ifdef FIX_FLOAT_1539_G192_FORMAT_SWITCH if ( st_ivas->nchan_transport == 2 ) #else test(); if ( st_ivas->nchan_transport == 2 && Opt_tsm ) #endif { masaRestartCandidate = 1; move16(); Loading Loading @@ -349,12 +376,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -363,6 +393,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } #endif } st_ivas->nchan_ism = nchan_ism; Loading @@ -381,12 +412,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -395,6 +429,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } #endif } st_ivas->nchan_ism = nchan_ism; Loading @@ -409,12 +444,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -423,6 +461,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } #endif } st_ivas->nchan_ism = nchan_ism; Loading Loading @@ -450,12 +489,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -464,6 +506,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" ); } #endif } st_ivas->ism_mode = ivas_osba_ism_mode_select( ivas_total_brate, st_ivas->nchan_ism ); Loading @@ -490,12 +533,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_32( st_ivas->transport_config, signaled_config ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -504,6 +550,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "wrong MC configuration signalled!" ); } #endif } st_ivas->mc_mode = ivas_mc_mode_select_fx( ivas_mc_map_output_config_to_mc_ls_setup_fx( signaled_config ), ivas_total_brate ); Loading Loading @@ -602,12 +649,15 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH IF( Opt_tsm ) { #endif st_ivas->restartNeeded = 1; move16(); return IVAS_ERR_OK; #ifndef FIX_FLOAT_1539_G192_FORMAT_SWITCH } ELSE { Loading @@ -616,6 +666,7 @@ ivas_error ivas_dec_get_format_fx( #endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } #endif } st_ivas->nchan_ism = nchan_ism; Loading Loading @@ -3989,7 +4040,6 @@ static ivas_error doSanityChecks_IVAS( } } IF( st_ivas->hDecoderConfig->Opt_ObjEdit_on ) { test(); Loading