Loading lib_com/options.h +0 −1 Original line number Diff line number Diff line Loading @@ -179,7 +179,6 @@ #define NONBE_FIX_539_MASA_384K_CHIRP /* Nokia: issue 539, puts the normalization of the energy ratios at the correct place, affect MASA 384k only */ /* Fixes for bugs found during split rendering contribution development */ #define REND_STATIC_MEM_OPT /* Dlb: Static memory optimisation for external renderer */ #define EULER2QUAT_FIX /* Dlb: Fix for Euler2Quat()/Quat2EulerDegree functions */ #define SBA_CREND_ROT_OPT /* Dlb: Optimisation for rotateFrameSba() used for SHD rotations in external renderer */ #define TD_TDREND_FIX_NULLPTR_ACCESS /* FhG: avoid nullptr access in ivas_rend_TDObjRendOpen */ Loading lib_rend/lib_rend.c +0 −87 Original line number Diff line number Diff line Loading @@ -57,13 +57,9 @@ /* Maximum buffer length (total) in samples. */ #ifdef SPLIT_REND_WITH_HEAD_ROT #ifdef REND_STATIC_MEM_OPT #define MAX_BUFFER_LENGTH ( MAX_BUFFER_LENGTH_PER_CHANNEL * MAX_INPUT_CHANNELS ) #define MAX_CLDFB_BUFFER_LENGTH ( MAX_CLDFB_BUFFER_LENGTH_PER_CHANNEL * MAX_INPUT_CHANNELS ) #define MAX_BIN_BUFFER_LENGTH ( MAX_BUFFER_LENGTH_PER_CHANNEL * BINAURAL_CHANNELS ) #else /* REND_STATIC_MEM_OPT */ #define MAX_BUFFER_LENGTH ( MAX_CLDFB_BUFFER_LENGTH_PER_CHANNEL * MAX_INPUT_CHANNELS ) #endif /* REND_STATIC_MEM_OPT */ #else #define MAX_BUFFER_LENGTH ( MAX_BUFFER_LENGTH_PER_CHANNEL * MAX_INPUT_CHANNELS ) Loading Loading @@ -124,9 +120,6 @@ typedef struct IVAS_REND_AudioConfig inConfig; IVAS_REND_InputId id; IVAS_REND_AudioBuffer inputBuffer; #ifndef REND_STATIC_MEM_OPT float bufferData[MAX_BUFFER_LENGTH]; #endif float gain; /* Linear, not in dB */ rendering_context ctx; int32_t numNewSamplesPerChannel; /* Used to keep track how much new audio was fed before rendering current frame */ Loading @@ -144,9 +137,7 @@ typedef struct #ifdef SPLIT_REND_WITH_HEAD_ROT TDREND_WRAPPER splitTdRendWrappers[MAX_HEAD_ROT_POSES - 1]; /* Additional TD Rend instances used for split rendering */ #endif #ifdef REND_STATIC_MEM_OPT float *bufferData; #endif int16_t nonDiegeticPan; float nonDiegeticPanGain; OMASA_ANA_HANDLE hOMasa; Loading Loading @@ -183,9 +174,7 @@ typedef struct int16_t nonDiegeticPan; float nonDiegeticPanGain; lfe_routing lfeRouting; #ifdef REND_STATIC_MEM_OPT float *bufferData; #endif MCMASA_ANA_HANDLE hMcMasa; } input_mc; Loading @@ -203,9 +192,7 @@ typedef struct rotation_gains rot_gains_prev; #endif #ifdef REND_STATIC_MEM_OPT float *bufferData; #endif DIRAC_ANA_HANDLE hDirAC; } input_sba; Loading @@ -214,9 +201,7 @@ typedef struct { input_base base; SPLIT_POST_REND_WRAPPER splitPostRendWrapper; #ifdef REND_STATIC_MEM_OPT float *bufferData; #endif } input_split_post_rend; #endif Loading @@ -230,9 +215,7 @@ typedef struct DecoderDummy *decDummy; MASA_METADATA_FRAME masaMetadata; bool metadataHasBeenFed; #ifdef REND_STATIC_MEM_OPT float *bufferData; #endif MASA_PREREND_HANDLE hMasaPrerend; } input_masa; Loading Loading @@ -281,7 +264,6 @@ struct IVAS_REND * Local functions *-------------------------------------------------------------------*/ #ifdef REND_STATIC_MEM_OPT static ivas_error allocateInputBaseBufferData( float **data, const int16_t data_size ) { *data = (float *) malloc( data_size * sizeof( float ) ); Loading @@ -303,7 +285,6 @@ static void freeInputBaseBufferData( float **data ) return; } #endif static IVAS_QUATERNION quaternionInit( void ) Loading Loading @@ -1221,11 +1202,9 @@ static void initRendInputBase( const IVAS_REND_AudioConfig inConfig, const IVAS_REND_InputId id, const rendering_context rendCtx #ifdef REND_STATIC_MEM_OPT , float *dataBuf, const int16_t dataBufSize #endif ) { inputBase->inConfig = inConfig; Loading @@ -1236,17 +1215,11 @@ static void initRendInputBase( inputBase->inputBuffer.config.numSamplesPerChannel = 0; inputBase->inputBuffer.config.numChannels = 0; #ifndef REND_STATIC_MEM_OPT inputBase->inputBuffer.data = inputBase->bufferData; set_zero( inputBase->bufferData, MAX_BUFFER_LENGTH ); #else inputBase->inputBuffer.data = dataBuf; if ( inputBase->inputBuffer.data != NULL ) { set_zero( inputBase->inputBuffer.data, dataBufSize ); } #endif return; } Loading Loading @@ -1386,17 +1359,13 @@ static ivas_error setRendInputActiveIsm( return IVAS_ERR_IO_CONFIG_PAIR_NOT_SUPPORTED; } #ifdef REND_STATIC_MEM_OPT if ( ( error = allocateInputBaseBufferData( &inputIsm->bufferData, MAX_BUFFER_LENGTH ) ) != IVAS_ERR_OK ) { return error; } #endif initRendInputBase( &inputIsm->base, inConfig, id, rendCtx #ifdef REND_STATIC_MEM_OPT , inputIsm->bufferData, MAX_BUFFER_LENGTH #endif ); inputIsm->currentPos = defaultObjectPosition(); Loading Loading @@ -1497,14 +1466,10 @@ static void clearInputIsm( rendCtx = inputIsm->base.ctx; #ifdef REND_STATIC_MEM_OPT freeInputBaseBufferData( &inputIsm->base.inputBuffer.data ); #endif initRendInputBase( &inputIsm->base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, rendCtx #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); /* Free input's internal handles */ Loading Loading @@ -2408,17 +2373,13 @@ static ivas_error setRendInputActiveMc( return IVAS_ERR_IO_CONFIG_PAIR_NOT_SUPPORTED; } #ifdef REND_STATIC_MEM_OPT if ( ( error = allocateInputBaseBufferData( &inputMc->bufferData, MAX_BUFFER_LENGTH ) ) != IVAS_ERR_OK ) { return error; } #endif initRendInputBase( &inputMc->base, inConfig, id, rendCtx #ifdef REND_STATIC_MEM_OPT , inputMc->bufferData, MAX_BUFFER_LENGTH #endif ); setZeroPanMatrix( inputMc->panGains ); inputMc->customLsInput = defaultCustomLs(); Loading Loading @@ -2472,14 +2433,10 @@ static void clearInputMc( rendCtx = inputMc->base.ctx; #ifdef REND_STATIC_MEM_OPT freeInputBaseBufferData( &inputMc->bufferData ); #endif initRendInputBase( &inputMc->base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, rendCtx #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); /* Free input's internal handles */ Loading Loading @@ -2777,17 +2734,13 @@ static ivas_error setRendInputActiveSplitPostRend( rendCtx = inputSplitPostRend->base.ctx; outConfig = *rendCtx.pOutConfig; #ifdef REND_STATIC_MEM_OPT if ( ( error = allocateInputBaseBufferData( &inputSplitPostRend->bufferData, MAX_BIN_BUFFER_LENGTH ) ) != IVAS_ERR_OK ) { return error; } #endif initRendInputBase( &inputSplitPostRend->base, inConfig, id, rendCtx #ifdef REND_STATIC_MEM_OPT , inputSplitPostRend->bufferData, MAX_BIN_BUFFER_LENGTH #endif ); if ( ( error = updateSplitPostRendPanGains( inputSplitPostRend, outConfig, hRendCfg ) ) != IVAS_ERR_OK ) Loading Loading @@ -2842,7 +2795,6 @@ static ivas_error setRendInputActiveSba( return IVAS_ERR_IO_CONFIG_PAIR_NOT_SUPPORTED; } #ifdef REND_STATIC_MEM_OPT #ifdef SPLIT_REND_WITH_HEAD_ROT if ( ( error = allocateInputBaseBufferData( &inputSba->bufferData, MAX_CLDFB_BUFFER_LENGTH ) ) != IVAS_ERR_OK ) #else Loading @@ -2856,9 +2808,6 @@ static ivas_error setRendInputActiveSba( #else initRendInputBase( &inputSba->base, inConfig, id, rendCtx, inputSba->bufferData, MAX_BUFFER_LENGTH ); #endif /* SPLIT_REND_WITH_HEAD_ROT */ #else /* REND_STATIC_MEM_OPT */ initRendInputBase( &inputSba->base, inConfig, id, rendCtx ); #endif /* REND_STATIC_MEM_OPT */ setZeroPanMatrix( inputSba->hoaDecMtx ); #ifdef SPLIT_REND_WITH_HEAD_ROT inputSba->crendWrapper = NULL; Loading Loading @@ -2896,14 +2845,10 @@ static void clearInputSplitRend( rendCtx = inputSplitRend->base.ctx; #ifdef REND_STATIC_MEM_OPT freeInputBaseBufferData( &inputSplitRend->bufferData ); #endif initRendInputBase( &inputSplitRend->base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, rendCtx #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); if ( inputSplitRend->splitPostRendWrapper.hBinHrSplitPostRend != NULL ) { Loading @@ -2929,14 +2874,10 @@ static void clearInputSba( rendCtx = inputSba->base.ctx; #ifdef REND_STATIC_MEM_OPT freeInputBaseBufferData( &inputSba->bufferData ); #endif initRendInputBase( &inputSba->base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, rendCtx #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); /* Free input's internal handles */ Loading Loading @@ -3341,17 +3282,13 @@ static ivas_error setRendInputActiveMasa( return IVAS_ERR_IO_CONFIG_PAIR_NOT_SUPPORTED; } #ifdef REND_STATIC_MEM_OPT if ( ( error = allocateInputBaseBufferData( &inputMasa->bufferData, MAX_BUFFER_LENGTH ) ) != IVAS_ERR_OK ) { return error; } #endif initRendInputBase( &inputMasa->base, inConfig, id, rendCtx #ifdef REND_STATIC_MEM_OPT , inputMasa->bufferData, MAX_BUFFER_LENGTH #endif ); if ( ( error = getAudioConfigNumChannels( inConfig, &numInChannels ) ) != IVAS_ERR_OK ) Loading Loading @@ -3473,16 +3410,12 @@ static void clearInputMasa( rendCtx = inputMasa->base.ctx; #ifdef REND_STATIC_MEM_OPT freeInputBaseBufferData( &inputMasa->bufferData ); #endif masaPrerendClose( &inputMasa->hMasaPrerend ); initRendInputBase( &inputMasa->base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, rendCtx #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); freeDecoderDummy( &inputMasa->decDummy ); Loading Loading @@ -3635,10 +3568,8 @@ ivas_error IVAS_REND_Open( for ( i = 0; i < RENDERER_MAX_ISM_INPUTS; ++i ) { initRendInputBase( &hIvasRend->inputsIsm[i].base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); hIvasRend->inputsIsm[i].crendWrapper = NULL; hIvasRend->inputsIsm[i].hReverb = NULL; Loading @@ -3650,9 +3581,7 @@ ivas_error IVAS_REND_Open( hIvasRend->inputsIsm[i].splitTdRendWrappers[j].hHrtfTD = NULL; } #endif #ifdef REND_STATIC_MEM_OPT hIvasRend->inputsIsm[i].bufferData = NULL; #endif hIvasRend->inputsIsm[i].nonDiegeticPan = nonDiegeticPan; hIvasRend->inputsIsm[i].nonDiegeticPanGain = nonDiegeticPanGain; hIvasRend->inputsIsm[i].hOMasa = NULL; Loading @@ -3661,18 +3590,14 @@ ivas_error IVAS_REND_Open( for ( i = 0; i < RENDERER_MAX_MC_INPUTS; ++i ) { initRendInputBase( &hIvasRend->inputsMc[i].base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); hIvasRend->inputsMc[i].efapInWrapper.hEfap = NULL; hIvasRend->inputsMc[i].crendWrapper = NULL; hIvasRend->inputsMc[i].hReverb = NULL; hIvasRend->inputsMc[i].tdRendWrapper.hBinRendererTd = NULL; #ifdef REND_STATIC_MEM_OPT hIvasRend->inputsMc[i].bufferData = NULL; #endif hIvasRend->inputsMc[i].nonDiegeticPan = nonDiegeticPan; hIvasRend->inputsMc[i].nonDiegeticPanGain = nonDiegeticPanGain; hIvasRend->inputsMc[i].hMcMasa = NULL; Loading @@ -3688,35 +3613,27 @@ ivas_error IVAS_REND_Open( for ( i = 0; i < RENDERER_MAX_SBA_INPUTS; ++i ) { initRendInputBase( &hIvasRend->inputsSba[i].base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); hIvasRend->inputsSba[i].crendWrapper = NULL; #ifdef SPLIT_REND_WITH_HEAD_ROT hIvasRend->inputsSba[i].cldfbRendWrapper.hCldfbRend = NULL; hIvasRend->inputsSba[i].cldfbRendWrapper.hHrtfFastConv = NULL; #endif #ifdef REND_STATIC_MEM_OPT hIvasRend->inputsSba[i].bufferData = NULL; #endif hIvasRend->inputsSba[i].hDirAC = NULL; } for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) { initRendInputBase( &hIvasRend->inputsMasa[i].base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); hIvasRend->inputsMasa[i].decDummy = NULL; hIvasRend->inputsMasa[i].metadataHasBeenFed = false; #ifdef REND_STATIC_MEM_OPT hIvasRend->inputsMasa[i].bufferData = NULL; #endif hIvasRend->inputsMasa[i].hMasaPrerend = NULL; } #ifdef SPLIT_REND_WITH_HEAD_ROT Loading @@ -3726,19 +3643,15 @@ ivas_error IVAS_REND_Open( IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); ivas_init_split_post_rend_handles( &hIvasRend->inputsSplitPost[i].splitPostRendWrapper ); #ifdef SPLIT_REND_WITH_HEAD_ROT hIvasRend->splitRendBFI = 0; #endif #ifdef REND_STATIC_MEM_OPT hIvasRend->inputsSplitPost[i].bufferData = NULL; #endif } #endif Loading Loading
lib_com/options.h +0 −1 Original line number Diff line number Diff line Loading @@ -179,7 +179,6 @@ #define NONBE_FIX_539_MASA_384K_CHIRP /* Nokia: issue 539, puts the normalization of the energy ratios at the correct place, affect MASA 384k only */ /* Fixes for bugs found during split rendering contribution development */ #define REND_STATIC_MEM_OPT /* Dlb: Static memory optimisation for external renderer */ #define EULER2QUAT_FIX /* Dlb: Fix for Euler2Quat()/Quat2EulerDegree functions */ #define SBA_CREND_ROT_OPT /* Dlb: Optimisation for rotateFrameSba() used for SHD rotations in external renderer */ #define TD_TDREND_FIX_NULLPTR_ACCESS /* FhG: avoid nullptr access in ivas_rend_TDObjRendOpen */ Loading
lib_rend/lib_rend.c +0 −87 Original line number Diff line number Diff line Loading @@ -57,13 +57,9 @@ /* Maximum buffer length (total) in samples. */ #ifdef SPLIT_REND_WITH_HEAD_ROT #ifdef REND_STATIC_MEM_OPT #define MAX_BUFFER_LENGTH ( MAX_BUFFER_LENGTH_PER_CHANNEL * MAX_INPUT_CHANNELS ) #define MAX_CLDFB_BUFFER_LENGTH ( MAX_CLDFB_BUFFER_LENGTH_PER_CHANNEL * MAX_INPUT_CHANNELS ) #define MAX_BIN_BUFFER_LENGTH ( MAX_BUFFER_LENGTH_PER_CHANNEL * BINAURAL_CHANNELS ) #else /* REND_STATIC_MEM_OPT */ #define MAX_BUFFER_LENGTH ( MAX_CLDFB_BUFFER_LENGTH_PER_CHANNEL * MAX_INPUT_CHANNELS ) #endif /* REND_STATIC_MEM_OPT */ #else #define MAX_BUFFER_LENGTH ( MAX_BUFFER_LENGTH_PER_CHANNEL * MAX_INPUT_CHANNELS ) Loading Loading @@ -124,9 +120,6 @@ typedef struct IVAS_REND_AudioConfig inConfig; IVAS_REND_InputId id; IVAS_REND_AudioBuffer inputBuffer; #ifndef REND_STATIC_MEM_OPT float bufferData[MAX_BUFFER_LENGTH]; #endif float gain; /* Linear, not in dB */ rendering_context ctx; int32_t numNewSamplesPerChannel; /* Used to keep track how much new audio was fed before rendering current frame */ Loading @@ -144,9 +137,7 @@ typedef struct #ifdef SPLIT_REND_WITH_HEAD_ROT TDREND_WRAPPER splitTdRendWrappers[MAX_HEAD_ROT_POSES - 1]; /* Additional TD Rend instances used for split rendering */ #endif #ifdef REND_STATIC_MEM_OPT float *bufferData; #endif int16_t nonDiegeticPan; float nonDiegeticPanGain; OMASA_ANA_HANDLE hOMasa; Loading Loading @@ -183,9 +174,7 @@ typedef struct int16_t nonDiegeticPan; float nonDiegeticPanGain; lfe_routing lfeRouting; #ifdef REND_STATIC_MEM_OPT float *bufferData; #endif MCMASA_ANA_HANDLE hMcMasa; } input_mc; Loading @@ -203,9 +192,7 @@ typedef struct rotation_gains rot_gains_prev; #endif #ifdef REND_STATIC_MEM_OPT float *bufferData; #endif DIRAC_ANA_HANDLE hDirAC; } input_sba; Loading @@ -214,9 +201,7 @@ typedef struct { input_base base; SPLIT_POST_REND_WRAPPER splitPostRendWrapper; #ifdef REND_STATIC_MEM_OPT float *bufferData; #endif } input_split_post_rend; #endif Loading @@ -230,9 +215,7 @@ typedef struct DecoderDummy *decDummy; MASA_METADATA_FRAME masaMetadata; bool metadataHasBeenFed; #ifdef REND_STATIC_MEM_OPT float *bufferData; #endif MASA_PREREND_HANDLE hMasaPrerend; } input_masa; Loading Loading @@ -281,7 +264,6 @@ struct IVAS_REND * Local functions *-------------------------------------------------------------------*/ #ifdef REND_STATIC_MEM_OPT static ivas_error allocateInputBaseBufferData( float **data, const int16_t data_size ) { *data = (float *) malloc( data_size * sizeof( float ) ); Loading @@ -303,7 +285,6 @@ static void freeInputBaseBufferData( float **data ) return; } #endif static IVAS_QUATERNION quaternionInit( void ) Loading Loading @@ -1221,11 +1202,9 @@ static void initRendInputBase( const IVAS_REND_AudioConfig inConfig, const IVAS_REND_InputId id, const rendering_context rendCtx #ifdef REND_STATIC_MEM_OPT , float *dataBuf, const int16_t dataBufSize #endif ) { inputBase->inConfig = inConfig; Loading @@ -1236,17 +1215,11 @@ static void initRendInputBase( inputBase->inputBuffer.config.numSamplesPerChannel = 0; inputBase->inputBuffer.config.numChannels = 0; #ifndef REND_STATIC_MEM_OPT inputBase->inputBuffer.data = inputBase->bufferData; set_zero( inputBase->bufferData, MAX_BUFFER_LENGTH ); #else inputBase->inputBuffer.data = dataBuf; if ( inputBase->inputBuffer.data != NULL ) { set_zero( inputBase->inputBuffer.data, dataBufSize ); } #endif return; } Loading Loading @@ -1386,17 +1359,13 @@ static ivas_error setRendInputActiveIsm( return IVAS_ERR_IO_CONFIG_PAIR_NOT_SUPPORTED; } #ifdef REND_STATIC_MEM_OPT if ( ( error = allocateInputBaseBufferData( &inputIsm->bufferData, MAX_BUFFER_LENGTH ) ) != IVAS_ERR_OK ) { return error; } #endif initRendInputBase( &inputIsm->base, inConfig, id, rendCtx #ifdef REND_STATIC_MEM_OPT , inputIsm->bufferData, MAX_BUFFER_LENGTH #endif ); inputIsm->currentPos = defaultObjectPosition(); Loading Loading @@ -1497,14 +1466,10 @@ static void clearInputIsm( rendCtx = inputIsm->base.ctx; #ifdef REND_STATIC_MEM_OPT freeInputBaseBufferData( &inputIsm->base.inputBuffer.data ); #endif initRendInputBase( &inputIsm->base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, rendCtx #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); /* Free input's internal handles */ Loading Loading @@ -2408,17 +2373,13 @@ static ivas_error setRendInputActiveMc( return IVAS_ERR_IO_CONFIG_PAIR_NOT_SUPPORTED; } #ifdef REND_STATIC_MEM_OPT if ( ( error = allocateInputBaseBufferData( &inputMc->bufferData, MAX_BUFFER_LENGTH ) ) != IVAS_ERR_OK ) { return error; } #endif initRendInputBase( &inputMc->base, inConfig, id, rendCtx #ifdef REND_STATIC_MEM_OPT , inputMc->bufferData, MAX_BUFFER_LENGTH #endif ); setZeroPanMatrix( inputMc->panGains ); inputMc->customLsInput = defaultCustomLs(); Loading Loading @@ -2472,14 +2433,10 @@ static void clearInputMc( rendCtx = inputMc->base.ctx; #ifdef REND_STATIC_MEM_OPT freeInputBaseBufferData( &inputMc->bufferData ); #endif initRendInputBase( &inputMc->base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, rendCtx #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); /* Free input's internal handles */ Loading Loading @@ -2777,17 +2734,13 @@ static ivas_error setRendInputActiveSplitPostRend( rendCtx = inputSplitPostRend->base.ctx; outConfig = *rendCtx.pOutConfig; #ifdef REND_STATIC_MEM_OPT if ( ( error = allocateInputBaseBufferData( &inputSplitPostRend->bufferData, MAX_BIN_BUFFER_LENGTH ) ) != IVAS_ERR_OK ) { return error; } #endif initRendInputBase( &inputSplitPostRend->base, inConfig, id, rendCtx #ifdef REND_STATIC_MEM_OPT , inputSplitPostRend->bufferData, MAX_BIN_BUFFER_LENGTH #endif ); if ( ( error = updateSplitPostRendPanGains( inputSplitPostRend, outConfig, hRendCfg ) ) != IVAS_ERR_OK ) Loading Loading @@ -2842,7 +2795,6 @@ static ivas_error setRendInputActiveSba( return IVAS_ERR_IO_CONFIG_PAIR_NOT_SUPPORTED; } #ifdef REND_STATIC_MEM_OPT #ifdef SPLIT_REND_WITH_HEAD_ROT if ( ( error = allocateInputBaseBufferData( &inputSba->bufferData, MAX_CLDFB_BUFFER_LENGTH ) ) != IVAS_ERR_OK ) #else Loading @@ -2856,9 +2808,6 @@ static ivas_error setRendInputActiveSba( #else initRendInputBase( &inputSba->base, inConfig, id, rendCtx, inputSba->bufferData, MAX_BUFFER_LENGTH ); #endif /* SPLIT_REND_WITH_HEAD_ROT */ #else /* REND_STATIC_MEM_OPT */ initRendInputBase( &inputSba->base, inConfig, id, rendCtx ); #endif /* REND_STATIC_MEM_OPT */ setZeroPanMatrix( inputSba->hoaDecMtx ); #ifdef SPLIT_REND_WITH_HEAD_ROT inputSba->crendWrapper = NULL; Loading Loading @@ -2896,14 +2845,10 @@ static void clearInputSplitRend( rendCtx = inputSplitRend->base.ctx; #ifdef REND_STATIC_MEM_OPT freeInputBaseBufferData( &inputSplitRend->bufferData ); #endif initRendInputBase( &inputSplitRend->base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, rendCtx #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); if ( inputSplitRend->splitPostRendWrapper.hBinHrSplitPostRend != NULL ) { Loading @@ -2929,14 +2874,10 @@ static void clearInputSba( rendCtx = inputSba->base.ctx; #ifdef REND_STATIC_MEM_OPT freeInputBaseBufferData( &inputSba->bufferData ); #endif initRendInputBase( &inputSba->base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, rendCtx #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); /* Free input's internal handles */ Loading Loading @@ -3341,17 +3282,13 @@ static ivas_error setRendInputActiveMasa( return IVAS_ERR_IO_CONFIG_PAIR_NOT_SUPPORTED; } #ifdef REND_STATIC_MEM_OPT if ( ( error = allocateInputBaseBufferData( &inputMasa->bufferData, MAX_BUFFER_LENGTH ) ) != IVAS_ERR_OK ) { return error; } #endif initRendInputBase( &inputMasa->base, inConfig, id, rendCtx #ifdef REND_STATIC_MEM_OPT , inputMasa->bufferData, MAX_BUFFER_LENGTH #endif ); if ( ( error = getAudioConfigNumChannels( inConfig, &numInChannels ) ) != IVAS_ERR_OK ) Loading Loading @@ -3473,16 +3410,12 @@ static void clearInputMasa( rendCtx = inputMasa->base.ctx; #ifdef REND_STATIC_MEM_OPT freeInputBaseBufferData( &inputMasa->bufferData ); #endif masaPrerendClose( &inputMasa->hMasaPrerend ); initRendInputBase( &inputMasa->base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, rendCtx #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); freeDecoderDummy( &inputMasa->decDummy ); Loading Loading @@ -3635,10 +3568,8 @@ ivas_error IVAS_REND_Open( for ( i = 0; i < RENDERER_MAX_ISM_INPUTS; ++i ) { initRendInputBase( &hIvasRend->inputsIsm[i].base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); hIvasRend->inputsIsm[i].crendWrapper = NULL; hIvasRend->inputsIsm[i].hReverb = NULL; Loading @@ -3650,9 +3581,7 @@ ivas_error IVAS_REND_Open( hIvasRend->inputsIsm[i].splitTdRendWrappers[j].hHrtfTD = NULL; } #endif #ifdef REND_STATIC_MEM_OPT hIvasRend->inputsIsm[i].bufferData = NULL; #endif hIvasRend->inputsIsm[i].nonDiegeticPan = nonDiegeticPan; hIvasRend->inputsIsm[i].nonDiegeticPanGain = nonDiegeticPanGain; hIvasRend->inputsIsm[i].hOMasa = NULL; Loading @@ -3661,18 +3590,14 @@ ivas_error IVAS_REND_Open( for ( i = 0; i < RENDERER_MAX_MC_INPUTS; ++i ) { initRendInputBase( &hIvasRend->inputsMc[i].base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); hIvasRend->inputsMc[i].efapInWrapper.hEfap = NULL; hIvasRend->inputsMc[i].crendWrapper = NULL; hIvasRend->inputsMc[i].hReverb = NULL; hIvasRend->inputsMc[i].tdRendWrapper.hBinRendererTd = NULL; #ifdef REND_STATIC_MEM_OPT hIvasRend->inputsMc[i].bufferData = NULL; #endif hIvasRend->inputsMc[i].nonDiegeticPan = nonDiegeticPan; hIvasRend->inputsMc[i].nonDiegeticPanGain = nonDiegeticPanGain; hIvasRend->inputsMc[i].hMcMasa = NULL; Loading @@ -3688,35 +3613,27 @@ ivas_error IVAS_REND_Open( for ( i = 0; i < RENDERER_MAX_SBA_INPUTS; ++i ) { initRendInputBase( &hIvasRend->inputsSba[i].base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); hIvasRend->inputsSba[i].crendWrapper = NULL; #ifdef SPLIT_REND_WITH_HEAD_ROT hIvasRend->inputsSba[i].cldfbRendWrapper.hCldfbRend = NULL; hIvasRend->inputsSba[i].cldfbRendWrapper.hHrtfFastConv = NULL; #endif #ifdef REND_STATIC_MEM_OPT hIvasRend->inputsSba[i].bufferData = NULL; #endif hIvasRend->inputsSba[i].hDirAC = NULL; } for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) { initRendInputBase( &hIvasRend->inputsMasa[i].base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); hIvasRend->inputsMasa[i].decDummy = NULL; hIvasRend->inputsMasa[i].metadataHasBeenFed = false; #ifdef REND_STATIC_MEM_OPT hIvasRend->inputsMasa[i].bufferData = NULL; #endif hIvasRend->inputsMasa[i].hMasaPrerend = NULL; } #ifdef SPLIT_REND_WITH_HEAD_ROT Loading @@ -3726,19 +3643,15 @@ ivas_error IVAS_REND_Open( IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) #ifdef REND_STATIC_MEM_OPT , NULL, 0 #endif ); ivas_init_split_post_rend_handles( &hIvasRend->inputsSplitPost[i].splitPostRendWrapper ); #ifdef SPLIT_REND_WITH_HEAD_ROT hIvasRend->splitRendBFI = 0; #endif #ifdef REND_STATIC_MEM_OPT hIvasRend->inputsSplitPost[i].bufferData = NULL; #endif } #endif Loading