Commit daf47c50 authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

add support for HOA output in JBM OSBA path

parent 04b888aa
Loading
Loading
Loading
Loading
+14 −10
Original line number Diff line number Diff line
@@ -1073,8 +1073,8 @@ void ivas_ism_dec_digest_tc(
         st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ||
         ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM && st_ivas->hDecoderConfig->Opt_Headrotation == 0 )
#ifdef JBM_FOR_OSBA
         ||
         st_ivas->renderer_type == RENDERER_OSBA_STEREO
         || st_ivas->renderer_type == RENDERER_OSBA_STEREO
		 || st_ivas->renderer_type == RENDERER_OSBA_AMBI
#endif 
		)
    {
@@ -1143,7 +1143,11 @@ void ivas_ism_dec_digest_tc(
                        efap_determine_gains( st_ivas->hEFAPdata, st_ivas->hIsmRendererData->gains[i], azimuth, elevation, EFAP_MODE_EFAP );
                    }
                }
                else if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV )
                else if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV
#ifdef JBM_FOR_OSBA
					|| st_ivas->renderer_type == RENDERER_OSBA_AMBI
#endif
					)
                {
                    /*get HOA gets for direction (ACN/SN3D)*/
                    ivas_dirac_dec_get_response( azimuth, elevation, st_ivas->hIsmRendererData->gains[i], st_ivas->hIntSetup.ambisonics_order );
+18 −0
Original line number Diff line number Diff line
@@ -1184,6 +1184,24 @@ ivas_error ivas_jbm_dec_render(
                    v_add( p_output[n], p_tc[n + st_ivas->nchan_ism], p_output[n], *nSamplesRendered );
                }
            }
            else if ( st_ivas->renderer_type == RENDERER_OSBA_AMBI || st_ivas->renderer_type == RENDERER_OSBA_LS )
            {
                float output_ism[MAX_OUTPUT_CHANNELS][L_FRAME48k];
                float *p_output_ism[MAX_OUTPUT_CHANNELS];

				for ( n = 0; n < MAX_OUTPUT_CHANNELS; n++ )
                {
                    p_output_ism[n] = &output_ism[n][0];
                }

                //ivas_osba_render_jbm( st_ivas, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, p_output );
                ivas_ism_render_sf( st_ivas, p_output_ism, nSamplesAsked );
                ivas_sba_dec_render( st_ivas, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, p_output );
                for ( n = 0; n < nchan_out; n++ )
                {
                    v_add( p_output[n],output_ism[n], p_output[n], nSamplesAsked );
                }
            }
            else
            {
                ivas_sba_dec_render( st_ivas, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, p_output );