Loading lib_com/ivas_cnst.h +3 −0 Original line number Diff line number Diff line Loading @@ -168,6 +168,9 @@ typedef enum #ifdef OSBA_AMBISONICS_OUT , RENDERER_OSBA_AMBI #endif #ifdef OSBA_LS_OUT , RENDERER_OSBA_LS #endif } RENDERER_TYPE; /*----------------------------------------------------------------------------------* Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,7 @@ #define OSBA_EXT_OUT #define OSBA_MONO_STEREO_OUTPUT #define OSBA_AMBISONICS_OUT #define OSBA_LS_OUT #endif /* ################## End BE DEVELOPMENT switches ######################### */ Loading lib_dec/ivas_dec.c +28 −0 Original line number Diff line number Diff line Loading @@ -662,6 +662,34 @@ ivas_error ivas_dec( } } #endif #ifdef OSBA_LS_OUT /* todo: almost the same path as for Ambisonics output. Should be merged at some point. */ else if ( st_ivas->renderer_type == RENDERER_OSBA_LS ) { float tmp_ism_out[MAX_CICP_CHANNELS][L_FRAME48k]; float *p_tmp_ism_out[MAX_CICP_CHANNELS]; for ( n = 0; n < nchan_out; n++ ) { p_tmp_ism_out[n] = &tmp_ism_out[n][0]; } for ( n = 0; n < nchan_ism; n++ ) { mvr2r( output[n], tmp_ism_out[n], output_frame ); } ivas_ism_render( st_ivas, p_tmp_ism_out, output_frame ); ivas_sba_upmixer_renderer( st_ivas, &output[st_ivas->nchan_ism], output_frame ); for ( n = 0; n < nchan_out; n++ ) { v_add( output[n + nchan_ism], tmp_ism_out[n], output[n], output_frame ); v_multc( output[n], 0.5f, output[n], output_frame ); } } #endif else /*HOA3 rendering for now*/ { #ifdef OSBA_EXT_OUT Loading lib_dec/ivas_dirac_dec.c +3 −0 Original line number Diff line number Diff line Loading @@ -851,6 +851,9 @@ ivas_error ivas_dirac_dec_config( case RENDERER_SBA_LINEAR_DEC: #ifdef OSBA_AMBISONICS_OUT case RENDERER_OSBA_AMBI: #endif #ifdef OSBA_LS_OUT case RENDERER_OSBA_LS: #endif need_dirac_rend = 1; break; Loading lib_dec/ivas_init_dec.c +6 −0 Original line number Diff line number Diff line Loading @@ -1709,6 +1709,9 @@ ivas_error ivas_init_decoder( #endif #ifdef OSBA_AMBISONICS_OUT st_ivas->renderer_type == RENDERER_OSBA_AMBI || #endif #ifdef OSBA_LS_OUT st_ivas->renderer_type == RENDERER_OSBA_LS || #endif st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM || Loading Loading @@ -2440,6 +2443,9 @@ void ivas_init_dec_get_num_cldfb_instances( #ifdef OSBA_AMBISONICS_OUT case RENDERER_OSBA_AMBI: #endif #ifdef OSBA_LS_OUT case RENDERER_OSBA_LS: #endif #ifdef OSBA_DISC_OBJ_MCT if ( st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == SBA_ISM_FORMAT ) #else Loading Loading
lib_com/ivas_cnst.h +3 −0 Original line number Diff line number Diff line Loading @@ -168,6 +168,9 @@ typedef enum #ifdef OSBA_AMBISONICS_OUT , RENDERER_OSBA_AMBI #endif #ifdef OSBA_LS_OUT , RENDERER_OSBA_LS #endif } RENDERER_TYPE; /*----------------------------------------------------------------------------------* Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,7 @@ #define OSBA_EXT_OUT #define OSBA_MONO_STEREO_OUTPUT #define OSBA_AMBISONICS_OUT #define OSBA_LS_OUT #endif /* ################## End BE DEVELOPMENT switches ######################### */ Loading
lib_dec/ivas_dec.c +28 −0 Original line number Diff line number Diff line Loading @@ -662,6 +662,34 @@ ivas_error ivas_dec( } } #endif #ifdef OSBA_LS_OUT /* todo: almost the same path as for Ambisonics output. Should be merged at some point. */ else if ( st_ivas->renderer_type == RENDERER_OSBA_LS ) { float tmp_ism_out[MAX_CICP_CHANNELS][L_FRAME48k]; float *p_tmp_ism_out[MAX_CICP_CHANNELS]; for ( n = 0; n < nchan_out; n++ ) { p_tmp_ism_out[n] = &tmp_ism_out[n][0]; } for ( n = 0; n < nchan_ism; n++ ) { mvr2r( output[n], tmp_ism_out[n], output_frame ); } ivas_ism_render( st_ivas, p_tmp_ism_out, output_frame ); ivas_sba_upmixer_renderer( st_ivas, &output[st_ivas->nchan_ism], output_frame ); for ( n = 0; n < nchan_out; n++ ) { v_add( output[n + nchan_ism], tmp_ism_out[n], output[n], output_frame ); v_multc( output[n], 0.5f, output[n], output_frame ); } } #endif else /*HOA3 rendering for now*/ { #ifdef OSBA_EXT_OUT Loading
lib_dec/ivas_dirac_dec.c +3 −0 Original line number Diff line number Diff line Loading @@ -851,6 +851,9 @@ ivas_error ivas_dirac_dec_config( case RENDERER_SBA_LINEAR_DEC: #ifdef OSBA_AMBISONICS_OUT case RENDERER_OSBA_AMBI: #endif #ifdef OSBA_LS_OUT case RENDERER_OSBA_LS: #endif need_dirac_rend = 1; break; Loading
lib_dec/ivas_init_dec.c +6 −0 Original line number Diff line number Diff line Loading @@ -1709,6 +1709,9 @@ ivas_error ivas_init_decoder( #endif #ifdef OSBA_AMBISONICS_OUT st_ivas->renderer_type == RENDERER_OSBA_AMBI || #endif #ifdef OSBA_LS_OUT st_ivas->renderer_type == RENDERER_OSBA_LS || #endif st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM || Loading Loading @@ -2440,6 +2443,9 @@ void ivas_init_dec_get_num_cldfb_instances( #ifdef OSBA_AMBISONICS_OUT case RENDERER_OSBA_AMBI: #endif #ifdef OSBA_LS_OUT case RENDERER_OSBA_LS: #endif #ifdef OSBA_DISC_OBJ_MCT if ( st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == SBA_ISM_FORMAT ) #else Loading